2 * @file IniOptionsMgr.h
4 * @brief Implementation of Ini file Options management class.
10 #include "OptionsMgr.h"
15 * @brief Ini-based implementation of OptionsMgr interface (q.v.).
17 class CIniOptionsMgr : public COptionsMgr
21 virtual ~CIniOptionsMgr();
23 static bool CheckIfIniFileExist();
25 static LPCWSTR GetFilePath();
27 virtual int InitOption(const String& name, const varprop::VariantValue& defaultValue) override;
28 virtual int InitOption(const String& name, const String& defaultValue) override;
29 virtual int InitOption(const String& name, const TCHAR* defaultValue) override;
30 virtual int InitOption(const String& name, int defaultValue, bool serializable = true) override;
31 virtual int InitOption(const String& name, bool defaultValue) override;
33 virtual int SaveOption(const String& name) override;
34 virtual int SaveOption(const String& name, const varprop::VariantValue& value) override;
35 virtual int SaveOption(const String& name, const String& value) override;
36 virtual int SaveOption(const String& name, const TCHAR* value) override;
37 virtual int SaveOption(const String& name, int value) override;
38 virtual int SaveOption(const String& name, bool value) override;
40 virtual int RemoveOption(const String& name) override;
42 virtual void SetSerializing(bool serializing = true) override { m_serializing = serializing; }
45 CRITICAL_SECTION m_cs;
47 static LPCWSTR lpFilePath;
49 String ReadValueFromFile(const String& name);
50 int ParseValue(const String& strName, String& textValue, varprop::VariantValue& value);
52 void SplitName(const String& strName, String& strPath, String& strValue) const;