diff options
Diffstat (limited to 'src/filesystem/inifile.h')
-rw-r--r-- | src/filesystem/inifile.h | 72 |
1 files changed, 4 insertions, 68 deletions
diff --git a/src/filesystem/inifile.h b/src/filesystem/inifile.h index 660a981..701b435 100644 --- a/src/filesystem/inifile.h +++ b/src/filesystem/inifile.h @@ -1,5 +1,5 @@ /* - common/inifile.h + filesystem/inifile.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ @@ -13,16 +13,13 @@ #include "math/vector3f.h" #include "math/color.h" #include "filesystem/filestream.h" +#include "filesystem/inistream.h" namespace filesystem { -/// a class to read .ini files -/** The IniFile class provides functions to read .ini files. A .ini file - * consists of one or more [section] headers followed by one or more key=value - * pairs. Lines starting with # or ; are considered comments - */ -class IniFile +/// wrapper class for the IniStream reader +class IniFile : public IniStream { public: IniFile(const char *ininame = 0); @@ -40,58 +37,6 @@ public: /// parse one line, returns false on end-of-file bool getline(); - /// current section label - inline std::string section() const { - return section_current; - } - - /// current key - inline std::string key() const { - return key_current; - } - - /// current value - inline std::string value() const { - return value_current; - } - - /// true if the last read statement was a section header - bool got_section() const; - - /// true if the current section matches - bool in_section(const char *sectionlabel) const; - - /// true if the last read statement was a certain section header - bool got_section(const char * sectionlabel) const; - - /// true if the last read statement was a key=value pair - bool got_key() const; - - bool got_key(const char * keylabel); - - /// check if the last read key=value pair matches keylabel and store the value in valuestring - bool got_key_string(const char * keylabel, std::string & valuestring); - - /// check if the last read key=value pair matches keylabel and store the value in valuestring, converted to label - bool got_key_label(const char * keylabel, std::string & labelstring); - - bool got_key_color(const char * keylabel, math::Color & color); - - bool got_key_float(const char * keylabel, float & f); - - bool got_key_angle(const char * keylabel, float & f); - - bool got_key_long(const char * keylabel, long & l); - - bool got_key_vector3f(const char * keylabel, math::Vector3f & v); - - bool got_key_bool(const char * keylabel, bool & b); - - - inline unsigned int line() const { - return line_number; - } - /// print a default unkown value error void unknown_value() const; @@ -130,15 +75,6 @@ public: void close(); private: - std::string section_current; - std::string key_current; - std::string value_current; - - bool last_read_was_key; - bool last_read_was_section; - - unsigned int line_number; - IFileStream inifile_stream; }; |