adding a Configfile Options Helper class

This commit is contained in:
Dominik Kuhn 2022-10-11 11:00:07 +01:00
parent 41afbe26fb
commit 65846909f1
4 changed files with 41 additions and 2 deletions

View File

@ -22,7 +22,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-Wall -Wextra -pedantic -lstdc++)
add_definitions(-DCFG_DEBUG -DCFG_eu868 -DCFG_sx1276_radio -DDEBUG_LMIC -DDEBUG_HAL -DDEBUG_RADIO)
add_executable(mqtt2LoRaWAN main.cpp MQTTDataStreamer.cpp POHelperClasses.cpp POCmdlineHelperClasses.cpp ./lmic/lmic.c ./lmic/aes.c ./lmic/radio.c ./lmic/oslmic.c ./lora_gps_hat/debug.c ./lora_gps_hat/gpio.c ./lora_gps_hat/hal.c )
add_executable(mqtt2LoRaWAN main.cpp MQTTDataStreamer.cpp POHelperClasses.cpp POCmdlineHelperClasses.cpp POConfigHelperClasses.cpp ./lmic/lmic.c ./lmic/aes.c ./lmic/radio.c ./lmic/oslmic.c ./lora_gps_hat/debug.c ./lora_gps_hat/gpio.c ./lora_gps_hat/hal.c )
target_include_directories (mqtt2LoRaWAN PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}"

17
POConfigHelperClasses.cpp Normal file
View File

@ -0,0 +1,17 @@
#include <string>
#include "POHelperClasses.hpp"
#include "POConfigHelperClasses.hpp"
namespace po = boost::program_options;
void po_config_helper::init(boost::program_options::options_description *config_desc){
config_desc->add_options() ("APPEUI", po::value<appeui>(), "APPEUI")
("DEVEUI", po::value<deveui>(), "DEVEUI")
("DEVKEY", po::value<devkey>(), "DEVKEY");
}

17
POConfigHelperClasses.hpp Normal file
View File

@ -0,0 +1,17 @@
#ifndef ProgramOptions_Config_HelperClasses_HPP
#define ProgramOptions_Config_HelperClasses_HPP
#include <boost/program_options.hpp>
class po_config_helper {
public:
void init(boost::program_options::options_description *config_desc);
};
#endif

View File

@ -5,6 +5,7 @@
#include "POHelperClasses.hpp"
#include "POCmdlineHelperClasses.hpp"
#include "POConfigHelperClasses.hpp"
#include "MQTTDataStreamer.hpp"
#include <boost/program_options.hpp>
@ -188,6 +189,7 @@ int main(int argc, char *argv[])
std::string hostname;
po_cmdline_helper po_cmdline_inst;
po_config_helper po_config_inst;
boost::program_options::options_description desc_env;
desc_env.add_options() ("path", "the execution path")
@ -237,10 +239,13 @@ int main(int argc, char *argv[])
// set options allowed in config file
po::options_description config_file_options;
po_config_inst.init( &config_file_options );
/*
config_file_options.add_options() ("APPEUI", po::value<appeui>(), "APPEUI")
("DEVEUI", po::value<deveui>(), "DEVEUI")
("DEVKEY", po::value<devkey>(), "DEVKEY");
*/
po::variables_map variable_map;
po::store(po::parse_command_line(argc, argv, command_line_options), variable_map);