summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorZdenek Prikryl <zprikryl@redhat.com>2009-02-11 15:11:30 +0100
committerZdenek Prikryl <zprikryl@redhat.com>2009-02-11 15:11:30 +0100
commit8e1a8d5237d21fec7b9adc61d44a177a7f2e5daf (patch)
tree654ce61b873b0bda373884a67f0255cce6785f7a /lib
parentd2c8416b3b1174fd2b1da61ce71b5524f4cad951 (diff)
downloadabrt-8e1a8d5237d21fec7b9adc61d44a177a7f2e5daf.tar.gz
abrt-8e1a8d5237d21fec7b9adc61d44a177a7f2e5daf.tar.xz
abrt-8e1a8d5237d21fec7b9adc61d44a177a7f2e5daf.zip
added function for parsing one line of settings
Diffstat (limited to 'lib')
-rw-r--r--lib/MiddleWare/Settings.cpp13
-rw-r--r--lib/MiddleWare/Settings.h3
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/MiddleWare/Settings.cpp b/lib/MiddleWare/Settings.cpp
index 413820b..92e22ea 100644
--- a/lib/MiddleWare/Settings.cpp
+++ b/lib/MiddleWare/Settings.cpp
@@ -97,3 +97,16 @@ void save_settings(const std::string& path, const map_settings_t& settings)
throw std::string("save_settings(): Cannot write configuration file '"+path+"'.");
}
}
+
+void parse_settings(const std::string& pLine, set_settings_t& settings)
+{
+ std::string::size_type ii_old = 0, ii_new = 0;
+ ii_new = pLine.find(",");
+ while (ii_new != std::string::npos)
+ {
+ settings.insert(pLine.substr(ii_old, ii_new - ii_old));
+ ii_old = ii_new + 1;
+ ii_new = pLine.find(",",ii_old);
+ }
+ settings.insert(pLine.substr(ii_old));
+}
diff --git a/lib/MiddleWare/Settings.h b/lib/MiddleWare/Settings.h
index a427f1b..46d50a5 100644
--- a/lib/MiddleWare/Settings.h
+++ b/lib/MiddleWare/Settings.h
@@ -25,10 +25,13 @@
#include "Settings.h"
#include <string>
#include <map>
+#include <set>
typedef std::map<std::string, std::string> map_settings_t;
+typedef std::set<std::string> set_settings_t;
void load_settings(const std::string& path, map_settings_t& settings);
void save_settings(const std::string& path, const map_settings_t& settings);
+void parse_settings(const std::string& pLine, set_settings_t& settings);
#endif /* SETTINGSFUNC_H_ */