]> git.stg.codes - stg.git/blobdiff - stglibs/conffiles.lib/conffiles.h
Fix prefix increment operator to postfix
[stg.git] / stglibs / conffiles.lib / conffiles.h
index 943fd4c8b2dedb6251153be363baa94e101c604b..ae2c8fd023d29eb61d535c1460c9cbe101f65d1a 100644 (file)
@@ -49,7 +49,7 @@ public:
     ~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) { return WriteString(param, std::string(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<string, string, StringCaseCmp_t> param_val;
     string fileName;
-    int error;
+    mutable int error;
+    mutable bool changed;
+
+    int Flush(const std::string & path) const;
 };
 //---------------------------------------------------------------------------
 #endif