X-Git-Url: http://git.maemo.org/git/?p=simple-launcher;a=blobdiff_plain;f=gconf-wrapper.h;h=be949059e0cc5fbeee5b3c067fee2b6e5ff619b7;hp=198b14615bdfd1a2ece6b58c1b7971e775dc5c59;hb=a475603e2c1da4e345a4a6cedab5a10802c36e97;hpb=885f4f49b26c8c5922a9860ff7c4f5a34142f14d diff --git a/gconf-wrapper.h b/gconf-wrapper.h index 198b146..be94905 100644 --- a/gconf-wrapper.h +++ b/gconf-wrapper.h @@ -44,62 +44,67 @@ public: const std::string& path() const { return myKeyPath; } - static std::string mergePath(const std::string&, const std::string); + std::string merge(const std::string&) const; private: - std::string myKeyPath; + const std::string myKeyPath; }; class GConfOption : public GConfItem { protected: - GConfOption(const GConfKey& key, const std::string& path): myIsSynchronized(false), myPath(GConfKey::mergePath(key.path(), path)) { } + GConfOption(const GConfKey& key, const std::string& path): myIsSynchronized(false), myPath(key.merge(path)) { } + + virtual GConfValueType kind() const = 0; void setGConfValue(const GConfValue *); - GConfValue *getGConfValue(GConfValueType) const; + GConfValue *getGConfValue() const; void unsetGConfValue(); protected: mutable bool myIsSynchronized; - std::string myPath; + const std::string myPath; }; -class GConfStringValue : public GConfOption { +class GConfStringOption : public GConfOption { public: - GConfStringValue(const GConfKey&, const std::string&, const std::string& = ""); - ~GConfStringValue(); + GConfStringOption(const GConfKey&, const std::string&, const std::string&); + + virtual GConfValueType kind() const { return GCONF_VALUE_STRING; } const std::string& value() const; const std::string& setValue(const std::string& newValue); private: mutable std::string myValue; - std::string myDefaultValue; + const std::string myDefaultValue; }; -class GConfBooleanValue : public GConfOption { +class GConfBooleanOption : public GConfOption { public: - GConfBooleanValue(const GConfKey&, const std::string&, bool = false); - ~GConfBooleanValue(); + GConfBooleanOption(const GConfKey&, const std::string&, bool); + + virtual GConfValueType kind() const { return GCONF_VALUE_BOOL; } bool value() const; bool setValue(bool newValue); private: mutable bool myValue; - bool myDefaultValue; + const bool myDefaultValue; }; -class GConfIntegerValue : public GConfOption { +class GConfIntegerOption : public GConfOption { public: - GConfIntegerValue(const GConfKey&, const std::string&, int = false); - ~GConfIntegerValue(); + GConfIntegerOption(const GConfKey&, const std::string&, int); + + virtual GConfValueType kind() const { return GCONF_VALUE_INT; } int value() const; int setValue(int newValue); private: mutable int myValue; - int myDefaultValue; + const int myDefaultValue; }; #endif