44 lines
913 B
C++
44 lines
913 B
C++
#ifndef _CONFIG_H
|
|
#define _CONFIG_H
|
|
|
|
#include <bfc/string/bfcstring.h>
|
|
#include <bfc/pair.h>
|
|
#include <bfc/critsec.h>
|
|
#include <bfc/string/StringW.h>
|
|
|
|
class StringPair : public Pair<StringW, StringW>
|
|
{
|
|
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
|