/* * Copyright (c) 2010 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include namespace Swift { class DummySettingsProvider : public SettingsProvider { public: virtual ~DummySettingsProvider() {} virtual std::string getSetting(const Setting& setting) { return stringValues.find(setting.getKey()) != stringValues.end() ? stringValues[setting.getKey()] : setting.getDefaultValue(); }; virtual void storeSetting(const Setting& setting, const std::string& value) { stringValues[setting.getKey()] = value; onSettingChanged(setting.getKey()); }; virtual bool getSetting(const Setting& setting) { return boolValues.find(setting.getKey()) != boolValues.end() ? boolValues[setting.getKey()] : setting.getDefaultValue(); }; virtual void storeSetting(const Setting& setting, const bool& value) { boolValues[setting.getKey()] = value; onSettingChanged(setting.getKey()); }; virtual int getSetting(const Setting& setting) { return intValues.find(setting.getKey()) != intValues.end() ? intValues[setting.getKey()] : setting.getDefaultValue(); }; virtual void storeSetting(const Setting& setting, const int& value) { intValues[setting.getKey()] = value; onSettingChanged(setting.getKey()); }; virtual std::vector getAvailableProfiles() {return std::vector();} virtual void createProfile(const std::string& ) {} virtual void removeProfile(const std::string& ) {} virtual bool getIsSettingFinal(const std::string& settingPath) {return finals.count(settingPath);} void setFinal(const std::string& settingPath) { finals.insert(settingPath); } virtual bool hasSetting(const std::string& key) { return stringValues.find(key) != stringValues.end() || intValues.find(key) != intValues.end() || boolValues.find(key) != boolValues.end(); } private: std::map stringValues; std::map intValues; std::map boolValues; std::set finals; }; }