diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2019-11-20 15:31:14 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2020-01-09 15:55:03 +0100 |
commit | 04b7efcdd1a8dfdf461c78d083aabee5445e54bd (patch) | |
tree | ccb146ebee3324b2e220430d476b1d9addaa451c /low-can-binding/utils | |
parent | 47322aceac11e3142af4339260a74ccfba675e17 (diff) |
can-bus: Use configuration from JSON file
Use configuration from JSON file instead of the old INI file. Now all configuration files
lies within the binding tree.
Bug-AGL: SPEC-2988
Change-Id: Id986d19751db958ad5cf3b7f2b2c5443d4ceb062
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'low-can-binding/utils')
-rw-r--r-- | low-can-binding/utils/config-parser.cpp | 67 | ||||
-rw-r--r-- | low-can-binding/utils/config-parser.hpp | 44 |
2 files changed, 0 insertions, 111 deletions
diff --git a/low-can-binding/utils/config-parser.cpp b/low-can-binding/utils/config-parser.cpp deleted file mode 100644 index 820c6d9b..00000000 --- a/low-can-binding/utils/config-parser.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2015, 2016 , 2017, 2018, 2019 "IoT\.bzh" - * Author "Romain Forlot" <romain.forlot@iot.bzh> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "config-parser.hpp" - -#include "../binding/low-can-hat.hpp" - -namespace utils -{ - /// @brief constructor using path to file - config_parser_t::config_parser_t(std::string conf_file) - : filepath_{conf_file}, config_content_{} - { - config_content_.read_file(conf_file); - } - - const std::string& config_parser_t::filepath() const - { - return filepath_; - } - - /// @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_.size() <= 0) - { - AFB_ERROR("Can't load the INI config file: /etc/dev-mapping.conf."); - return false; - } - AFB_DEBUG("Configuration file parsed"); - return true; - } - - /// @brief Public method to access devices_name_ vector. If vector size equal 0 - /// then it will parses the configuration file content to fill it. It could be empty even - /// after parsing if content file just don't have a correct "canbus" directive so you - /// have to test the returned value. - /// - /// @return A const vector with string of linux CAN devices. - const std::vector<std::pair<std::string, std::string> > config_parser_t::get_devices_name() - { - std::vector<std::pair<std::string, std::string> > devices_name; - - std::map<std::string, std::string> bus_mapping = config_content_.get_keys("CANbus-mapping"); - for(const auto& busIt : bus_mapping ) - { - devices_name.push_back(std::make_pair(busIt.first, busIt.second)); - } - - return devices_name; - } -} diff --git a/low-can-binding/utils/config-parser.hpp b/low-can-binding/utils/config-parser.hpp deleted file mode 100644 index 4553be2d..00000000 --- a/low-can-binding/utils/config-parser.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2015, 2016 , 2017, 2018, 2019 "IoT\.bzh" - * Author "Romain Forlot" <romain.forlot@iot.bzh> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include <string> -#include <vector> -#include <utility> -#include "ini-config.hpp" - -namespace utils -{ - /// @brief A configuration file parser that handle INI configuration - /// file format. - class config_parser_t - { - private: - const std::string filepath_; /*!< filepath_ - Path to the config file*/ - ini_config config_content_; /*!< config_content_ - Parsed content of INI file.*/ - - public: - config_parser_t(config_parser_t&&) = default; - config_parser_t(const config_parser_t&) = default; - explicit config_parser_t(std::string conf_file); - - const std::string& filepath() const; - bool check_conf(); - const std::vector<std::pair<std::string, std::string> > get_devices_name(); - }; -} |