-rw-r--r-- | inputmethods/dasher/SettingsStore.cpp | 5 | ||||
-rw-r--r-- | inputmethods/dasher/SettingsStore.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/inputmethods/dasher/SettingsStore.cpp b/inputmethods/dasher/SettingsStore.cpp index f7661bd..7e0fa58 100644 --- a/inputmethods/dasher/SettingsStore.cpp +++ b/inputmethods/dasher/SettingsStore.cpp @@ -1,42 +1,47 @@ // SettingsStore.cpp // ///////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2002 Iain Murray // ///////////////////////////////////////////////////////////////////////////// #include "SettingsStore.h" using namespace std; /* TODO: Consider using Template functions to make this neater. */ +CSettingsStore::~CSettingsStore() +{ +} + + bool CSettingsStore::GetBoolOption(const string& Key) { if (BoolMap.find(Key)==BoolMap.end()) { bool Value = false; LoadSetting(Key, &Value); BoolMap[Key] = Value; } return BoolMap[Key]; } long CSettingsStore::GetLongOption(const string& Key) { if (LongMap.find(Key)==LongMap.end()) { long Value = 0l; LoadSetting(Key, &Value); LongMap[Key] = Value; } return LongMap[Key]; } diff --git a/inputmethods/dasher/SettingsStore.h b/inputmethods/dasher/SettingsStore.h index 8ef9fcf..2ddf152 100644 --- a/inputmethods/dasher/SettingsStore.h +++ b/inputmethods/dasher/SettingsStore.h @@ -6,48 +6,49 @@ // ///////////////////////////////////////////////////////////////////////////// #ifndef __SettingsStore_h__ #define __SettingsStore_h__ #include "MSVC_Unannoy.h" #include <string> #include <map> /* The public interface uses UTF-8 strings. All Keys should be in American English and encodable in ASCII. However, string Values may contain special characters where appropriate. */ class CSettingsStore { public: + virtual ~CSettingsStore(); bool GetBoolOption(const std::string& Key); long GetLongOption(const std::string& Key); std::string& GetStringOption(const std::string& Key); void SetBoolOption(const std::string& Key, bool Value); void SetLongOption(const std::string& Key, long Value); void SetStringOption(const std::string& Key, const std::string& Value); void SetBoolDefault(const std::string& Key, bool Value); void SetLongDefault(const std::string& Key, long Value); void SetStringDefault(const std::string& Key, const std::string& Value); private: // Platform Specific settings file management // LoadSetting changes Value only if it succeeds in loading the setting, // in which case it also returns true. Failure is indicated by returning false. //! Load a setting with a boolean value // //! Load a setting with a boolean value. Return true if successful //! \param Key Name of the setting //! \param Value Value of the setting virtual bool LoadSetting(const std::string& Key, bool* Value); //! Load a setting with a long value |