aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/libs/ini-config
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-22 10:28:38 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-05-22 10:28:38 +0200
commite78758eab6b6582af0d1a86f3a56012499fb2308 (patch)
treef213c9e3518698459e7b0c654d45e2cdaa2c8f8c /CAN-binder/libs/ini-config
parenta3d0e020d00c4b213a688ba29ef27d994b6245ac (diff)
Logical bus name mapped to device name using conf file.
Store CAN device map without prefixed section name and add methods to get the mapped device name. Change-Id: I03ebc175c67b2251016863b0d69a45a816a81d25 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/libs/ini-config')
-rw-r--r--CAN-binder/libs/ini-config/ini-config.cpp11
-rw-r--r--CAN-binder/libs/ini-config/ini-config.hpp2
2 files changed, 9 insertions, 4 deletions
diff --git a/CAN-binder/libs/ini-config/ini-config.cpp b/CAN-binder/libs/ini-config/ini-config.cpp
index 631a0201..ef3ab25c 100644
--- a/CAN-binder/libs/ini-config/ini-config.cpp
+++ b/CAN-binder/libs/ini-config/ini-config.cpp
@@ -58,9 +58,10 @@ void ini_config::read_file(const std::string& filename)
}
}
-std::map<std::string, std::string> ini_config::get_keys(const std::string& section)
+ini_config::map ini_config::get_keys(const std::string& section, bool wo_prefix)
{
- std::map<std::string, std::string> ret;
+ map ret;
+ std::string key;
std::string prefix = section + '/';
for(auto i = config_.begin();
@@ -69,7 +70,11 @@ std::map<std::string, std::string> ini_config::get_keys(const std::string& secti
{
if (starts_with(i->first, prefix))
{
- ret[i->first] = i->second;
+ if(wo_prefix)
+ key = i->first.substr(section.size()+1);
+ else
+ key = i->first;
+ ret[key] = i->second;
}
}
return ret;
diff --git a/CAN-binder/libs/ini-config/ini-config.hpp b/CAN-binder/libs/ini-config/ini-config.hpp
index 3a154547..4c8cc118 100644
--- a/CAN-binder/libs/ini-config/ini-config.hpp
+++ b/CAN-binder/libs/ini-config/ini-config.hpp
@@ -32,7 +32,7 @@ public:
void read_file(const std::string& filename);
- map get_keys(const std::string& section);
+ map get_keys(const std::string& section, bool wo_prefix=true);
std::string get_value(const std::string& section, const std::string& key);
typename map::size_type size() const { return config_.size(); }