#pragma once class CPMSetting { public: CPMSetting(); virtual ~CPMSetting(); bool LoadSetting(LPCTSTR szSetupFileName); bool LoadSetting() { return LoadSetting(GetSettingFileName()); } bool SaveSetting(); LPCTSTR GetSettingFileName() const { return m_szSetupFileName.GetString(); } bool GetSettingData(LPCTSTR szKey, CString& szValue); void SetSettingData(LPCTSTR szKey, LPCTSTR szValue); private: CMapStringToString m_SetupDataMap; CString m_szSetupFileName; }; class CPMDefaultSetting : public CPMSetting { public: static CPMSetting& GetInstance(); static LPCTSTR GetDefaultSettingName(); private: CPMDefaultSetting() { } virtual ~CPMDefaultSetting() { } };