1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#if !defined(HISTORYSTATS_GUARD_MIRANDASETTINGS_H)
#define HISTORYSTATS_GUARD_MIRANDASETTINGS_H
#include "_globals.h"
#include "_consts.h"
#include "utils.h"
#include "settingstree.h"
#include <set>
#include <iterator>
class MirandaSettings
: private pattern::NotCopyable<MirandaSettings>
{
public:
typedef std::set<ext::a::string> SettingsSet;
typedef std::insert_iterator<SettingsSet> SetInserter;
private:
MCONTACT m_hContact;
ext::a::string m_strModule;
private:
static int enumSettingsProc(const mu_ansi* szSetting, LPARAM lParam);
public:
// constructor
explicit MirandaSettings();
// contact/module management
MCONTACT getContact() const { return m_hContact; }
void setContact(MCONTACT hContact) { m_hContact = hContact; }
const ext::a::string& getModule() const { return m_strModule; }
void setModule(const mu_ansi* module) { m_strModule = module; }
// reading
bool readBool(const mu_ansi* szSetting, bool bDefault) const;
int readByte(const mu_ansi* szSetting, int bDefault) const;
int readWord(const mu_ansi* szSetting, int wDefault) const;
int readDWord(const mu_ansi* szSetting, int dwDeault) const;
ext::string readStr(const mu_ansi* szSetting, const mu_text* szDefault) const;
ext::string readStrDirect(const mu_ansi* szSetting, const mu_text* szDefault) const;
void readTree(const mu_ansi* szSetting, const mu_text* szDefault, SettingsTree& value) const;
// writing
void writeBool(const mu_ansi* szSetting, bool bValue) const;
void writeByte(const mu_ansi* szSetting, int bValue) const;
void writeWord(const mu_ansi* szSetting, int wValue) const;
void writeDWord(const mu_ansi* szSetting, int dwValue) const;
void writeStr(const mu_ansi* szSetting, const mu_text* szValue) const;
void writeStrDirect(const mu_ansi* szSetting, const mu_text* szValue) const;
void writeTree(const mu_ansi* szSetting, const SettingsTree& value) const;
// misc functions
bool settingExists(const mu_ansi* szSetting) const;
bool delSetting(const mu_ansi* szSetting);
// enumeration
void enumSettings(SetInserter& insertIterator);
};
#endif // HISTORYSTATS_GUARD_MIRANDASETTINGS_H
|