diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-22 10:28:38 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-22 10:28:38 +0200 |
commit | e78758eab6b6582af0d1a86f3a56012499fb2308 (patch) | |
tree | f213c9e3518698459e7b0c654d45e2cdaa2c8f8c /CAN-binder/libs | |
parent | a3d0e020d00c4b213a688ba29ef27d994b6245ac (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')
-rw-r--r-- | CAN-binder/libs/ini-config/ini-config.cpp | 11 | ||||
-rw-r--r-- | CAN-binder/libs/ini-config/ini-config.hpp | 2 |
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 631a020..ef3ab25 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 3a15454..4c8cc11 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(); } |