]> git.stg.codes - stg.git/blobdiff - stglibs/conffiles.lib/conffiles.h
Produce debug output only if SMUX_DEBUG is defined
[stg.git] / stglibs / conffiles.lib / conffiles.h
index 04e35a3aa235f227e9a0e4c7bb13be36f19e3000..6909c6c91290c5d9e1eeff79d5f5814d161ecdc9 100644 (file)
@@ -35,7 +35,7 @@
 #include <map>
 #include <string>
 
-#include "os_int.h"
+#include "stg/os_int.h"
 
 using namespace std;
 //---------------------------------------------------------------------------
@@ -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