diff options
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); |
