#ifndef _CONFIG_H #define _CONFIG_H #include #include #include #include class StringPair : public Pair { public: StringPair(StringW &_a, const wchar_t *_b) { b=_b; a.swap(_a); } }; class ConfigFile { public: ConfigFile(const wchar_t *section, const wchar_t *name); ~ConfigFile(); static void initialize(); void setInt(const wchar_t *name, int val); int getInt(const wchar_t *name, int default_val); void setString(const wchar_t *name, const wchar_t *str); int getString(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str); int getStringLen(const wchar_t *name); private: StringW sectionname; StringW prettyname; StringPair *getPair(const wchar_t *name); StringPair *makePair(const wchar_t *name, const wchar_t *value); CriticalSection cs; }; #endif