summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-03-05 22:05:51 +0300
committerAndrei Karas <akaras@inbox.ru>2013-03-05 22:05:51 +0300
commitff83a1b745c4c679eb01c9db1f0a82ab613e2195 (patch)
tree75c7d054b61644ba07c469b37718415160895df5
parentaff4b3cf27d823696ffb0d34ed469a4a0adcd2a4 (diff)
downloadmanaplus-ff83a1b745c4c679eb01c9db1f0a82ab613e2195.tar.gz
manaplus-ff83a1b745c4c679eb01c9db1f0a82ab613e2195.tar.bz2
manaplus-ff83a1b745c4c679eb01c9db1f0a82ab613e2195.tar.xz
manaplus-ff83a1b745c4c679eb01c9db1f0a82ab613e2195.zip
Add method for incriment config variables.
-rw-r--r--src/configuration.cpp8
-rw-r--r--src/configuration.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 34d301446..d43cca15e 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -226,6 +226,14 @@ void Configuration::setValue(const std::string &key, const std::string &value)
}
}
+void Configuration::incValue(const std::string &key)
+{
+ GETLOG();
+ const Options::const_iterator iter = mOptions.find(key);
+ setValue(key, (iter != mOptions.end())
+ ? atoi(iter->second.c_str()) + 1 : 1);
+}
+
void Configuration::setSilent(const std::string &key, const std::string &value)
{
ConfigurationObject::setValue(key, value);
diff --git a/src/configuration.h b/src/configuration.h
index d9e3af19a..1ac38e9aa 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -279,6 +279,8 @@ class Configuration final : public ConfigurationObject
void setValue(const std::string &key, const std::string &value);
+ void incValue(const std::string &key);
+
void setSilent(const std::string &key, const std::string &value);
inline void setValue(const std::string &key, const char *const value)