diff --git a/CMakeLists.txt b/CMakeLists.txt index 9373277..2b6c25f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}" diff --git a/POConfigHelperClasses.cpp b/POConfigHelperClasses.cpp new file mode 100644 index 0000000..afafcdf --- /dev/null +++ b/POConfigHelperClasses.cpp @@ -0,0 +1,17 @@ +#include + +#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") + ("DEVEUI", po::value(), "DEVEUI") + ("DEVKEY", po::value(), "DEVKEY"); + + +} diff --git a/POConfigHelperClasses.hpp b/POConfigHelperClasses.hpp new file mode 100644 index 0000000..43c7ee5 --- /dev/null +++ b/POConfigHelperClasses.hpp @@ -0,0 +1,17 @@ +#ifndef ProgramOptions_Config_HelperClasses_HPP +#define ProgramOptions_Config_HelperClasses_HPP + + +#include + + +class po_config_helper { + +public: + void init(boost::program_options::options_description *config_desc); + +}; + + +#endif + diff --git a/main.cpp b/main.cpp index 1401101..d42e99d 100644 --- a/main.cpp +++ b/main.cpp @@ -5,6 +5,7 @@ #include "POHelperClasses.hpp" #include "POCmdlineHelperClasses.hpp" +#include "POConfigHelperClasses.hpp" #include "MQTTDataStreamer.hpp" #include @@ -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") ("DEVEUI", po::value(), "DEVEUI") ("DEVKEY", po::value(), "DEVKEY"); - + */ po::variables_map variable_map; po::store(po::parse_command_line(argc, argv, command_line_options), variable_map);