summaryrefslogtreecommitdiff
path: root/inputmethods/dasher/SettingsStore.h
Side-by-side diff
Diffstat (limited to 'inputmethods/dasher/SettingsStore.h') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/dasher/SettingsStore.h1
1 files changed, 1 insertions, 0 deletions
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
@@ -1,92 +1,93 @@
// SettingsStore.h
//
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002 Iain Murray
//
/////////////////////////////////////////////////////////////////////////////
#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
//
//! Load a setting with a long value. Return true if successful
//! \param Key Name of the setting
//! \param Value Value of the setting
virtual bool LoadSetting(const std::string& Key, long* Value);
//! Load a setting with a string value
//
//! Load a setting with a string value. Return true if successful
//! \param Key Name of the setting
//! \param Value Value of the setting, UTF8 encoded
virtual bool LoadSetting(const std::string& Key, std::string* Value);
//! Save a setting with a boolean value
//
//! \param Key Name of the setting
//! \param Value Value of the setting
virtual void SaveSetting(const std::string& Key, bool Value);
//! Save a setting with a long value
//
//! \param Key Name of the setting
//! \param Value Value of the setting
virtual void SaveSetting(const std::string& Key, long Value);
//! Save a setting with a string value
//
//! \param Key Name of the setting
//! \param Value Value of the setting, UTF8 encoded
virtual void SaveSetting(const std::string& Key, const std::string& Value);
// Used to store settings in memory
std::map<std::string, bool> BoolMap;
std::map<std::string, long> LongMap;
std::map<std::string, std::string> StringMap;
};
#endif /* #ifndef __SettingsStore_h__ */