00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PREFS_H
00021 #define PREFS_H
00022
00023 #ifdef HAVE_CONFIG_H
00024 #include <config.h>
00025 #endif
00026
00027 #include <string>
00028
00029 #define PREFCOUNT 22
00030
00031 using std::string;
00032
00034 class Prefs
00035 {
00036
00037 public:
00038
00039 enum PrefsArray {paKey=0, paDefault=1};
00040
00041 Prefs(bool autowrite=true, bool writealways=true);
00042 ~Prefs();
00043
00044 bool read ();
00045 bool write();
00046
00047 bool set(const string & key, const string & value);
00048 bool set(const string & key, int value);
00049 bool set(const string & key, bool value);
00050
00051 const string & getStr (const string & key) const;
00052 string getPath(const string & key) const;
00053 int getNum (const string & key) const;
00054 bool getBool(const string & key) const;
00055
00056 private:
00057 #ifdef _WIN32
00058 static const char delim() {return '\\';}
00059 #else
00060 static const char delim() {return '/';}
00061 #endif
00062
00063 string mFilename;
00064 string mNothing;
00065 string mStr[PREFCOUNT];
00066 static string text[PREFCOUNT][2];
00067
00068 bool mAutoWrite;
00069 bool mWriteAlways;
00070 bool mRead;
00071 };
00072
00073 #endif //PREFS_H