summaryrefslogtreecommitdiff
path: root/inputmethods/dasher
Side-by-side diff
Diffstat (limited to 'inputmethods/dasher') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/dasher/SettingsStore.cpp5
-rw-r--r--inputmethods/dasher/SettingsStore.h1
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