LEFT | RIGHT |
(no file at all) | |
1 #ifndef _PLUGIN_INI_FILE_W_H_ | |
2 #define _PLUGIN_INI_FILE_W_H_ | |
3 | |
4 #if _MSC_VER > 1000 | |
5 #pragma once | |
6 #endif // _MSC_VER > 1000 | |
7 | |
8 | |
9 class CPluginChecksum; | |
10 | |
11 | |
12 class CPluginIniFileW | |
13 { | |
14 | |
15 public: | |
16 | |
17 typedef std::map<CStringW, CStringW> TSectionData; | |
18 typedef std::set<CStringW> TSectionNames; | |
19 | |
20 CPluginIniFileW(const CString& filename, bool hasChecksum=false); | |
21 | |
22 CString GetFilePath() const; | |
23 | |
24 void Clear(); | |
25 bool Read(); | |
26 bool ReadString(const CStringW& memFile); | |
27 bool Write(); | |
28 bool Exists(); | |
29 | |
30 // methods to return the lists of section data and section names | |
31 CPluginIniFileW::TSectionData GetSectionData(const CStringW& section) const; | |
32 | |
33 const CPluginIniFileW::TSectionNames& GetSectionNames() const; | |
34 | |
35 void SetInitialChecksumString(const CString& str); | |
36 bool IsValidChecksum() const; | |
37 | |
38 // check if the section exists in the file | |
39 bool HasSection(const CStringW& section) const; | |
40 bool HasKey(const CStringW& section, const CStringW& key) const; | |
41 | |
42 // updates the key value, if key already exists, else creates a key-value pair | |
43 bool SetValue(const CStringW& section, const CStringW& key, const CStringW& va
lue); | |
44 bool SetValue(const CStringW& section, const CStringW& key, int value); | |
45 | |
46 void UpdateSection(const CStringW& section, const CPluginIniFileW::TSectionDat
a& data); | |
47 | |
48 // give the value for the specified key of a section | |
49 CStringW GetValue(const CStringW& section, const CStringW& key) const; | |
50 | |
51 unsigned int GetLastError() const; | |
52 | |
53 private: | |
54 | |
55 typedef std::map<CStringW, CPluginIniFileW::TSectionData> TData; | |
56 | |
57 CString m_filename; | |
58 bool m_isDirty; | |
59 bool m_isValidChecksum; | |
60 bool m_hasChecksum; | |
61 unsigned int m_lastError; | |
62 | |
63 CString m_checksumInit; | |
64 CPluginIniFileW::TData m_data; | |
65 CPluginIniFileW::TSectionNames m_sectionNames; | |
66 | |
67 std::auto_ptr<CPluginChecksum> m_checksum; | |
68 }; | |
69 | |
70 | |
71 #endif // _PLUGIN_INI_FILE_W_H_ | |
LEFT | RIGHT |