X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/75cd69d3fca8b0a59d2335384f95091ad89b998c..cf951863b80fb594f99b29e87558e03d453f75ef:/stglibs/conffiles.lib/conffiles.h diff --git a/stglibs/conffiles.lib/conffiles.h b/stglibs/conffiles.lib/conffiles.h index 83a16d9b..6909c6c9 100644 --- a/stglibs/conffiles.lib/conffiles.h +++ b/stglibs/conffiles.lib/conffiles.h @@ -22,7 +22,7 @@ * Author : Boris Mikhailenko */ - /* +/* $Revision: 1.5 $ $Date: 2009/06/22 16:00:38 $ */ @@ -35,7 +35,7 @@ #include #include -#include "os_int.h" +#include "stg/os_int.h" using namespace std; //--------------------------------------------------------------------------- @@ -44,46 +44,41 @@ typedef bool (*StringCaseCmp_t)(const string & str1, const string & str2); class CONFIGFILE { -private: - mutable map param_val; - mutable map::iterator it; - - FILE * f; - int Flush(); - //int ReadFile(); - string fileName; - int error; - public: - CONFIGFILE(const string &fn); + CONFIGFILE(const string & fn, bool nook = false); ~CONFIGFILE(); const string & GetFileName() const; - // 5 ÆÕÎËÃÉÉ Read* ×ÏÚ×ÒÁÝÁÀÔ 0 ÐÒÉ ÕÓÐÅÛÎÏÍ ÓÞÉÔÙ×ÁÎÉÉ + // æÕÎËÃÉÉ Read* ×ÏÚ×ÒÁÝÁÀÔ 0 ÐÒÉ ÕÓÐÅÛÎÏÍ ÓÞÉÔÙ×ÁÎÉÉ // É EINVAL ÐÒÉ ÏÔÓÕÔÓ×ÉÉ ÐÁÒÁÍÅÔÒÁ É ×ÙÓÔÁ×ÌÑÀÔ defaulValue - int ReadString(const string & param, char * val, int * maxLen, const char * defaultVal) const; + //int ReadString(const string & param, char * val, int * maxLen, const char * defaultVal) const; int ReadString(const string & param, string * val, const string & defaultVal) const; - - int ReadTime (const string & param, time_t *, time_t) const; - - int ReadShortInt (const string & param, short int *, short int) const; - int ReadInt (const string & param, int *, int) const; - int ReadLongInt (const string & param, long int *, long int) const; + int ReadTime(const string & param, time_t *, time_t) const; + int ReadShortInt(const string & param, short int *, short int) const; + int ReadInt(const string & param, int *, int) const; + int ReadLongInt(const string & param, long int *, long int) const; int ReadLongLongInt(const string & param, int64_t *, int64_t) const; - - int ReadUShortInt (const string & param, unsigned short int *, unsigned short int) const; - int ReadUInt (const string & param, unsigned int *, unsigned int) const; - int ReadULongInt (const string & param, unsigned long int *, unsigned long int) const; + int ReadUShortInt(const string & param, unsigned short int *, unsigned short int) const; + int ReadUInt(const string & param, unsigned int *, unsigned int) const; + int ReadULongInt(const string & param, unsigned long int *, unsigned long int) const; int ReadULongLongInt(const string & param, uint64_t *, uint64_t) const; + int ReadDouble(const string & param, double * val, double defaultVal) const; + + void WriteString(const string & param, const char * val) { return WriteString(param, std::string(val)); } + void WriteString(const string & param, const string & val); + void WriteInt(const string & param, int64_t val); + void WriteDouble(const string & param, double val); - int ReadDouble (const string & param, double * val, double defaultVal) const; + int Error() const; + int Flush() const; - int WriteString(const string & param, const char * val); - int WriteString(const string & param, const string & val); - int WriteInt (const string & param, int64_t val); - int WriteDouble(const string & param, double val); +private: + map param_val; + string fileName; + mutable int error; + mutable bool changed; - int Error(); + int Flush(const std::string & path) const; }; //--------------------------------------------------------------------------- #endif