ini-config: remove ini-config lib 46/23246/7
authorRomain Forlot <romain.forlot@iot.bzh>
Fri, 29 Nov 2019 15:34:05 +0000 (16:34 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 9 Jan 2020 15:25:36 +0000 (16:25 +0100)
No need to use ini-config now that the config is hold by the controller
JSON configuration file.

Bug-AGL: SPEC-2988

Change-Id: If82d22266fb2d592c140b81cda783ee63f1f13be
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
libs/ini-config/CMakeLists.txt [deleted file]
libs/ini-config/ini-config.cpp [deleted file]
libs/ini-config/ini-config.hpp [deleted file]
low-can-binding/CMakeLists.txt
plugins/CMakeLists.txt

diff --git a/libs/ini-config/CMakeLists.txt b/libs/ini-config/CMakeLists.txt
deleted file mode 100644 (file)
index ceb4825..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-###########################################################################
-# Copyright 2015, 2016, 2017 IoT.bzh
-#
-# author: Fulup Ar Foll <fulup@iot.bzh>
-# contrib: 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.
-###########################################################################
-
-# Add target to project dependency list
-PROJECT_TARGET_ADD(ini-config)
-
-       # Define project Target
-       add_library(${TARGET_NAME} STATIC ${TARGET_NAME}.cpp)
-
-       # Binder exposes a unique public entry point
-       SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
-               OUTPUT_NAME ${TARGET_NAME}
-       )
-
-       # Define target includes
-       TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
-               PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
-       )
-
-       # Library dependencies (include updates automatically)
-       TARGET_LINK_LIBRARIES(${TARGET_NAME}
-               ${link_libraries})
diff --git a/libs/ini-config/ini-config.cpp b/libs/ini-config/ini-config.cpp
deleted file mode 100644 (file)
index 9ce0fdc..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2015, 2016 ,2017, 2018, 2019 "IoT\.bzh"
- * Author "Loïc Collignon" <loic.collignon@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 "ini-config.hpp"
-
-bool starts_with(const std::string& text, const std::string& token)
-{
-       if(text.length() < token.length()) return false;
-       return (text.compare(0, token.length(), token) == 0);
-}
-
-void ini_config::read_file(const std::string& filename)
-{
-       std::ifstream f(filename);
-       if (f)
-       {
-               std::regex r_section("^\\s*\\[([^\\]]+)\\]\\s*(#.*)?$");
-               std::regex r_key("^\\s*([^\\s]+)\\s*=\\s*\"([^\"]+)\"\\s*(#.*)?$");
-               std::string current_section;
-               std::string line;
-               while (std::getline(f, line))
-               {
-                       std::smatch mr;
-
-                       switch (qualify(line))
-                       {
-                       case line_type::section:
-                               if (std::regex_match(line, mr, r_section) && mr.size() >= 2 && mr[1].matched)
-                               {
-                                       current_section = mr[1].str();
-                               }
-                               break;
-                       case line_type::key:
-                               if(std::regex_match(line, mr, r_key) && mr.size() >= 2 && mr[1].matched)
-                               {
-                                       std::string key = current_section + '/' + mr[1].str();
-                                       config_[key] = (mr.size() >= 3 && mr[2].matched) ? mr[2].str() : "";
-                               }
-                               break;
-                       case line_type::ignore:
-                               break;
-                       }
-               }
-       }
-}
-
-ini_config::map ini_config::get_keys(const std::string& section, bool wo_prefix)
-{
-       map ret;
-       std::string key;
-
-       std::string prefix = section + '/';
-       for(auto i = config_.begin();
-               i != config_.end();
-               ++i)
-       {
-               if (starts_with(i->first, prefix))
-               {
-                       if(wo_prefix)
-                               key = i->first.substr(section.size()+1);
-                       else
-                               key = i->first;
-                       ret[key] = i->second;
-               }
-       }
-       return ret;
-}
-
-std::string ini_config::get_value(const std::string& section, const std::string& key)
-{
-       return config_[section + '/' + key];
-}
-
-ini_config::line_type ini_config::qualify(std::string& line)
-{
-       if (line.size())
-       {
-               for (std::string::value_type c : line)
-               {
-                       if (c == '#') return line_type::ignore;
-                       if (c == '[') return line_type::section;
-                       if (!std::isspace(c, std::locale("C"))) return line_type::key;
-               }
-       }
-       return line_type::ignore;
-}
diff --git a/libs/ini-config/ini-config.hpp b/libs/ini-config/ini-config.hpp
deleted file mode 100644 (file)
index ba934ed..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2015, 2016 ,2017, 2018, 2019 "IoT\.bzh"
- * Author "Loïc Collignon" <loic.collignon@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.
- */
-
-#ifndef INI_CONFIG_HPP
-#define INI_CONFIG_HPP
-
-#include <string>
-#include <fstream>
-#include <map>
-#include <regex>
-#include <algorithm>
-
-// Représente un fichier de configuration.
-class ini_config
-{
-public:
-       using map = std::map<std::string, std::string>;
-
-       void read_file(const std::string& filename);
-
-       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(); }
-       typename map::iterator begin() { return config_.begin(); }
-       typename map::iterator end() { return config_.end(); }
-       typename map::const_iterator cbegin() const { return config_.cbegin(); }
-       typename map::const_iterator cend() const { return config_.cend(); }
-       typename map::reverse_iterator rbegin() { return config_.rbegin(); }
-       typename map::reverse_iterator rend() { return config_.rend(); }
-       typename map::const_reverse_iterator crbegin() const { return config_.crbegin(); }
-       typename map::const_reverse_iterator crend() const { return config_.crend(); }
-
-private:
-       map config_;
-
-       enum class line_type
-       {
-               ignore = 0,
-               section = 1,
-               key = 2
-       };
-
-       line_type qualify(std::string& line);
-};
-
-#endif // INI_CONFIG_HPP
index ce66a8c..38ac4b3 100644 (file)
@@ -70,7 +70,6 @@ PROJECT_TARGET_ADD(low-can)
        )
 
        TARGET_LINK_LIBRARIES(${TARGET_NAME}
-               ini-config
                openxc-message-format
                uds-c
                isotp-c
@@ -99,7 +98,6 @@ PROJECT_TARGET_ADD(low-can-binding)
        # Library dependencies (include updates automatically)
        TARGET_LINK_LIBRARIES(${TARGET_NAME}
                low-can
-               ini-config
                openxc-message-format
                uds-c
                isotp-c
index 631c68c..4794d2f 100755 (executable)
@@ -62,7 +62,6 @@ PROJECT_TARGET_ADD(j1939-signals)
        # Library dependencies (include updates automatically)
        TARGET_LINK_LIBRARIES(${TARGET_NAME}
        low-can
-       ini-config
        openxc-message-format
        uds-c
        isotp-c