aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/utils/config-parser.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-04-18 20:23:14 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-04-18 20:23:14 +0200
commit44d7237fde80af222939445055a94a0e50e82935 (patch)
treea65cd2e82fc70ddeed4fbf3b2cd05c4b025c8f90 /CAN-binder/low-can-binding/utils/config-parser.hpp
parent3642f8f2545f22f2e574bbd820e67229516e9149 (diff)
Use a system INI configuration file to get devices mapping
Instead of specifying a JSON configuration file with CAN devices name, it uses a mapping configuration file that map a high level device names to a real low level names. File path is to be specified into the generated source code which is /etc/dev-mapping.conf for now. Configuration file uses INI file format and is parsed using inih library cpp wrapper. Change-Id: Ibde104e76cd78a6cc86f6eec4f66c274b7567d43 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding/utils/config-parser.hpp')
-rw-r--r--CAN-binder/low-can-binding/utils/config-parser.hpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/CAN-binder/low-can-binding/utils/config-parser.hpp b/CAN-binder/low-can-binding/utils/config-parser.hpp
index e6bd9d22..2d504857 100644
--- a/CAN-binder/low-can-binding/utils/config-parser.hpp
+++ b/CAN-binder/low-can-binding/utils/config-parser.hpp
@@ -23,21 +23,23 @@
#include <json-c/json.h>
#include <string>
+#include <vector>
+#include "INIReader.h"
namespace utils
{
+ /// @brief A configuration file parser that handle INI configuration
+ /// file format.
class config_parser_t
{
private:
- int conf_file_; /*!< conf_file_ - file that handle the binding configuration file */
- std::string config_content_; /*!< config_content_ - String that contains the content of config file */
- std::vector<std::string> devices_name_; /*!< devices_name - Found devices name after reading configuration file */
+ INIReader config_content_; /*!< config_content_ - Parsed content of INI file.*/
- void parse_devices_name();
public:
config_parser_t(int conf_file);
+ config_parser_t(std::string conf_file);
- void read_conf();
- std::vector<std::string> get_devices_name();
+ bool check_conf();
+ const std::vector<std::string> get_devices_name();
};
}