From 8e1a8d5237d21fec7b9adc61d44a177a7f2e5daf Mon Sep 17 00:00:00 2001 From: Zdenek Prikryl Date: Wed, 11 Feb 2009 15:11:30 +0100 Subject: added function for parsing one line of settings --- lib/MiddleWare/Settings.cpp | 13 +++++++++++++ lib/MiddleWare/Settings.h | 3 +++ 2 files changed, 16 insertions(+) (limited to 'lib/MiddleWare') 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 #include +#include typedef std::map map_settings_t; +typedef std::set 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_ */ -- cgit