diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2015-10-08 14:04:04 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2015-10-08 14:04:04 +0200 |
| commit | dbd4d15144c727f967911d41d798758bfb9bad03 (patch) | |
| tree | 7b3245f2ea9265f98dae5a16ff5b6dd268c8e0d8 /src/CRSMConfig.hpp | |
| parent | c59e14b83f8b88f01ec23dcc4e6265cbfb84f733 (diff) | |
| download | manager-dbd4d15144c727f967911d41d798758bfb9bad03.tar.gz manager-dbd4d15144c727f967911d41d798758bfb9bad03.zip | |
Add config get and config set commands and a -= config syntax to remove
elements from a list or map (by key)
Diffstat (limited to 'src/CRSMConfig.hpp')
| -rw-r--r-- | src/CRSMConfig.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/CRSMConfig.hpp b/src/CRSMConfig.hpp index b25b809..788b7e8 100644 --- a/src/CRSMConfig.hpp +++ b/src/CRSMConfig.hpp @@ -142,12 +142,14 @@ public: class CRSMConfigValueList : public CRSMConfigValueBase { public: virtual void append(const QString& entry) = 0; + virtual void remove(const QString& entry) = 0; virtual QStringList getValues() = 0; }; class CRSMConfigValueMap : public CRSMConfigValueBase { public: virtual void setKeyValue(const QString& key, const QString& value) = 0; + virtual void remove(const QString& key) = 0; virtual QMap<QString, QString> getValues() = 0; }; @@ -172,6 +174,8 @@ public: } } + virtual void remove(const QString &entry) { config.removeAll(CRSMConfigValueBase::getValue<Type>(entry)); } + virtual QStringList getValues() { QStringList ret; @@ -213,6 +217,11 @@ public: return ret; } + + virtual void remove(const QString &key) + { + config.remove(CRSMConfigValueBase::getValue<KeyType>(key)); + } }; template<typename Type> @@ -250,12 +259,16 @@ public: explicit CRSMConfigBase(QMap<QString, CRSMConfigValueBase*> configValues) : configValues(configValues) {} void setConfigValue(const QString& name, const QString& value); + QString getConfigValueLine(const QString& name); void addConfigListEntry(const QString& name, const QString& value); + void removeConfigMapListEntry(const QString &name, const QString &value); void setConfigMapValue(const QString& name, const QString& key, const QString& value); QString read(const QString& fileName, bool writeDefault = true); bool write(const QString& fileName); + void setConfigLine(const QString& line); + protected: void addConfigValue(QString name, CRSMConfigValueBase *value); CRSMConfigValueBase& getConfigValue(const QString &name); |
