diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-04-19 18:28:18 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-04-19 18:28:18 +0200 |
commit | 72c5952a96f5bab01aef02f373a96a2a12f750bb (patch) | |
tree | 3e120f38f68b6a728bf170b8a158cba919e45642 /CAN-binder/low-can-binding | |
parent | 56029abd64b55faefef75b49a58905ec391e0c6d (diff) |
Change INI file parser library.
Much simpler but also a bit limitated. Could be change easily in futur if needed
Change-Id: I06f03f093c9206007e3d0c1e86a35d60111be5f8
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding')
-rw-r--r-- | CAN-binder/low-can-binding/CMakeLists.txt | 2 | ||||
-rw-r--r-- | CAN-binder/low-can-binding/utils/config-parser.cpp | 31 | ||||
-rw-r--r-- | CAN-binder/low-can-binding/utils/config-parser.hpp | 5 |
3 files changed, 11 insertions, 27 deletions
diff --git a/CAN-binder/low-can-binding/CMakeLists.txt b/CAN-binder/low-can-binding/CMakeLists.txt index 7359ac7..84abfaf 100644 --- a/CAN-binder/low-can-binding/CMakeLists.txt +++ b/CAN-binder/low-can-binding/CMakeLists.txt @@ -35,12 +35,12 @@ PROJECT_TARGET_ADD(low-can-binding) # Library dependencies (include updates automatically) TARGET_LINK_LIBRARIES(${TARGET_NAME} + ini-config openxc-message-format nanopb uds-c isotp-c bitfield-c - inih ${link_libraries} ) diff --git a/CAN-binder/low-can-binding/utils/config-parser.cpp b/CAN-binder/low-can-binding/utils/config-parser.cpp index cb344be..dd500d3 100644 --- a/CAN-binder/low-can-binding/utils/config-parser.cpp +++ b/CAN-binder/low-can-binding/utils/config-parser.cpp @@ -21,25 +21,18 @@ namespace utils { - /// @brief constructor using a POSIX file handle as input. - /// - /// @param conf_file - a POSIX file handle to the INI configuration file - config_parser_t::config_parser_t(int conf_file) - : config_content_(fdopen(conf_file, "r")) - { - ::close(conf_file); - } - /// @brief constructor using path to file config_parser_t::config_parser_t(std::string conf_file) - : config_content_{INIReader(conf_file)} - {} + : config_content_{} + { + config_content_.read_file(conf_file); + } /// @brief read the conf_file_ and parse it into an INIReader object /// to search into later. bool config_parser_t::check_conf() { - if (config_content_.ParseError() < 0) + if (config_content_.size() <= 0) { ERROR(binder_interface, "read_conf: Can't load the INI config file."); return false; @@ -58,18 +51,10 @@ namespace utils { std::vector<std::string> devices_name; - std::set<std::string> sections = config_content_.GetSections(); - for(const auto& sectionsIt : sections) + std::map<std::string, std::string> bus_mapping = config_content_.get_keys("CANbus-mapping"); + for(const auto& busIt : bus_mapping ) { - if(sectionsIt == "CANbus-mapping") - { - std::set<std::string> fields = config_content_.GetFields(sectionsIt); - for(const auto& fieldsIt : fields) - { - std::string val = config_content_.Get(sectionsIt, fieldsIt, "INVALID"); - devices_name.push_back(val); - } - } + devices_name.push_back(busIt.second); } return devices_name; diff --git a/CAN-binder/low-can-binding/utils/config-parser.hpp b/CAN-binder/low-can-binding/utils/config-parser.hpp index 2d50485..a181d9e 100644 --- a/CAN-binder/low-can-binding/utils/config-parser.hpp +++ b/CAN-binder/low-can-binding/utils/config-parser.hpp @@ -24,7 +24,7 @@ #include <string> #include <vector> -#include "INIReader.h" +#include "ini-config.hpp" namespace utils { @@ -33,10 +33,9 @@ namespace utils class config_parser_t { private: - INIReader config_content_; /*!< config_content_ - Parsed content of INI file.*/ + ini_config config_content_; /*!< config_content_ - Parsed content of INI file.*/ public: - config_parser_t(int conf_file); config_parser_t(std::string conf_file); bool check_conf(); |