Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/filesystem/inifile.h')
-rw-r--r--src/filesystem/inifile.h72
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;
};