]> git.stg.codes - stg.git/blobdiff - stglibs/conffiles.lib/conffiles.h
Add compiler existance checking
[stg.git] / stglibs / conffiles.lib / conffiles.h
index 04e35a3aa235f227e9a0e4c7bb13be36f19e3000..ae2c8fd023d29eb61d535c1460c9cbe101f65d1a 100644 (file)
@@ -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