X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8d18bde0f40cac840d25b98e48b1a8dfcc2157ff..d0adbf3d56cb2e95fae085700c3e305b134cbaf0:/stglibs/conffiles.lib/conffiles.h diff --git a/stglibs/conffiles.lib/conffiles.h b/stglibs/conffiles.lib/conffiles.h index d912d9ab..6909c6c9 100644 --- a/stglibs/conffiles.lib/conffiles.h +++ b/stglibs/conffiles.lib/conffiles.h @@ -35,7 +35,7 @@ #include #include -#include "os_int.h" +#include "stg/os_int.h" using namespace std; //--------------------------------------------------------------------------- @@ -45,11 +45,11 @@ typedef bool (*StringCaseCmp_t)(const string & str1, const string & str2); class CONFIGFILE { 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, string * val, const string & defaultVal) const; @@ -64,19 +64,21 @@ public: int ReadULongLongInt(const string & param, uint64_t *, uint64_t) const; int ReadDouble(const string & param, double * val, double defaultVal) 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); + 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 Error(); + int Error() const; + int Flush() const; private: - int Flush(); - map param_val; string fileName; - int error; + mutable int error; + mutable bool changed; + + int Flush(const std::string & path) const; }; //--------------------------------------------------------------------------- #endif