diff --git a/FlippR-Driver/cli/main.cpp b/FlippR-Driver/cli/main.cpp index 552140d..0e2e8d8 100644 --- a/FlippR-Driver/cli/main.cpp +++ b/FlippR-Driver/cli/main.cpp @@ -3,22 +3,28 @@ // #include #include +#include #include "DriverFactory.h" #include "IInputDriver.h" +using namespace FlippR_Driver; + int main (int argc, char *argv[]) { - if(argc != 2) + if(argc != 3) { - std::cout << "Usage: " << argv[0] << " "; + std::cout << "Usage: " << argv[0] << " "; } - std::string config_file = argv[1]; + std::string input_config_file = argv[1]; + std::string matrix_config_file = argv[2]; - std::ifstream config; + std::ifstream input_config; + std::ifstream matrix_config; try { - config.open(config_file); + input_config.open(input_config_file); + matrix_config.open(matrix_config_file); } catch(const std::exception& e) { @@ -26,6 +32,6 @@ int main (int argc, char *argv[]) exit(1); } - + std::shared_ptr driver = FlippR_Driver::get_InputDriver(input_config, matrix_config); } diff --git a/FlippR-Driver/include/DriverFactory.h b/FlippR-Driver/include/DriverFactory.h index 29a00e8..cbe4340 100644 --- a/FlippR-Driver/include/DriverFactory.h +++ b/FlippR-Driver/include/DriverFactory.h @@ -12,7 +12,7 @@ namespace FlippR_Driver { - static std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream); + std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream); } #endif //FLIPPR_DRIVER_DRIVERFACTORY_H diff --git a/FlippR-Driver/src/DriverFactory.cpp b/FlippR-Driver/src/DriverFactory.cpp index 53c16c4..702db9d 100644 --- a/FlippR-Driver/src/DriverFactory.cpp +++ b/FlippR-Driver/src/DriverFactory.cpp @@ -7,7 +7,7 @@ namespace FlippR_Driver { - static std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream) + std::shared_ptr get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream) { return FlippR_Driver::Input::InputDriverFactory::get_InputDriver(input_config_stream, matrix_config_stream); } diff --git a/FlippR-Driver/src/input/EventHandler.cpp b/FlippR-Driver/src/input/EventHandler.cpp index 67ec5e1..917751d 100644 --- a/FlippR-Driver/src/input/EventHandler.cpp +++ b/FlippR-Driver/src/input/EventHandler.cpp @@ -5,6 +5,7 @@ * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ #include "EventHandler.h" +#include "utilities/config.h" namespace FlippR_Driver::Input { diff --git a/FlippR-Driver/src/input/EventHandler.h b/FlippR-Driver/src/input/EventHandler.h index e0d382f..55ebe8b 100644 --- a/FlippR-Driver/src/input/EventHandler.h +++ b/FlippR-Driver/src/input/EventHandler.h @@ -15,7 +15,6 @@ #include "IInputDriver.h" #include "IEventHandler.h" -#include "utilities/config.h" #include "Event.h" namespace FlippR_Driver::Input diff --git a/FlippR-Driver/src/input/InputDriver.cpp b/FlippR-Driver/src/input/InputDriver.cpp index 411b8ec..99dc779 100644 --- a/FlippR-Driver/src/input/InputDriver.cpp +++ b/FlippR-Driver/src/input/InputDriver.cpp @@ -4,9 +4,12 @@ * Created on: Jun 15, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht */ -#include #include "InputDriver.h" +#include "utilities/config.h" + +#include + namespace FlippR_Driver::Input { diff --git a/FlippR-Driver/src/input/InputDriver.h b/FlippR-Driver/src/input/InputDriver.h index a762e37..6f2cad2 100644 --- a/FlippR-Driver/src/input/InputDriver.h +++ b/FlippR-Driver/src/input/InputDriver.h @@ -7,7 +7,7 @@ #ifndef SRC_INPUT_INPUTDRIVER_H_ #define SRC_INPUT_INPUTDRIVER_H_ -#include "utilities/config.h" +#include #include "IEventNotifier.h" #include "IInputDriver.h" diff --git a/FlippR-Driver/src/input/InputDriverFactory.cpp b/FlippR-Driver/src/input/InputDriverFactory.cpp index d8612ae..9752c3e 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.cpp +++ b/FlippR-Driver/src/input/InputDriverFactory.cpp @@ -7,60 +7,60 @@ #include "InputDriverFactory.h" + +#include "utilities/config.h" + +#include "utilities/LoggerFactory.h" + #include "InputDriver.h" -#include "utilities/LoggerFactory.hpp" #include "EventNotifier.h" using namespace nlohmann; -namespace FlippR_Driver::Input -{ +namespace FlippR_Driver::Input { -std::shared_ptr InputDriverFactory::get_InputDriver(std::istream& input_config_stream, std::istream& matrix_config_stream) -{ - LoggerFactory::CreateInputLogger(); + std::shared_ptr + InputDriverFactory::get_InputDriver(std::istream &input_config_stream, std::istream &matrix_config_stream) { + LoggerFactory::CreateInputLogger(); - IBlockingQueue* event_queue = new BlockingQueue; + IBlockingQueue *event_queue = new BlockingQueue; - json matrix_config; - matrix_config_stream >> matrix_config; + json matrix_config; + matrix_config_stream >> matrix_config; - std::map> address_event_map; - std::map> name_event_map; - create_input_events(matrix_config, address_event_map, name_event_map); + std::map> address_event_map; + std::map> name_event_map; + create_input_events(matrix_config, address_event_map, name_event_map); - std::shared_ptr event_notifier(new EventNotifier(event_queue)); - std::unique_ptr input_gpio_interface(new InputGPIOInterface(input_config_stream)); - std::unique_ptr detector(new Detector(std::move(input_gpio_interface), address_event_map, event_notifier)); + std::shared_ptr event_notifier(new EventNotifier(event_queue)); + std::unique_ptr input_gpio_interface(new InputGPIOInterface(input_config_stream)); + std::unique_ptr detector( + new Detector(std::move(input_gpio_interface), address_event_map, event_notifier)); - return std::shared_ptr(new InputDriver(event_notifier, std::move(detector), name_event_map)); -} + return std::shared_ptr(new InputDriver(event_notifier, std::move(detector), name_event_map)); + } -void InputDriverFactory::create_input_events(json matrix_config, std::map> address_event_map, std::map> name_event_map) -{ - for(auto& json_event : matrix_config) - { + void + InputDriverFactory::create_input_events(json matrix_config, std::map> address_event_map, + std::map> name_event_map) { + for (auto &json_event : matrix_config) { - try - { - std::string name = json_event.at("name"); - char address = json_event.at("address").get(); - int priority = json_event.at("priority").get(); + try { + std::string name = json_event.at("name"); + char address = json_event.at("address").get(); + int priority = json_event.at("priority").get(); - std::shared_ptr event_ptr(new Event(address, priority, name)); + std::shared_ptr event_ptr(new Event(address, priority, name)); - address_event_map.emplace(address, event_ptr); - name_event_map.emplace(name, event_ptr); - } - catch(json::exception& e) - { - CLOG(ERROR, INPUT_LOGGER) << "Matrix config-file corrupted: " << e.what(); - exit(EXIT_FAILURE); + address_event_map.emplace(address, event_ptr); + name_event_map.emplace(name, event_ptr); + } + catch (json::exception &e) { + CLOG(ERROR, INPUT_LOGGER) << "Matrix config-file corrupted: " << e.what(); + exit(EXIT_FAILURE); + } } } } - - -} diff --git a/FlippR-Driver/src/input/InputDriverFactory.h b/FlippR-Driver/src/input/InputDriverFactory.h index bb083dd..b5eea1d 100644 --- a/FlippR-Driver/src/input/InputDriverFactory.h +++ b/FlippR-Driver/src/input/InputDriverFactory.h @@ -15,15 +15,9 @@ #include "IInputDriver.h" #include "utilities/InputGPIOInterface.h" -#include "utilities/config.h" #include "json/json.hpp" -#include "easylogging/easylogging++.h" #include "IEventNotifier.h" - - -INITIALIZE_EASYLOGGINGPP - namespace FlippR_Driver::Input { class InputDriverFactory @@ -34,7 +28,6 @@ public: private: static void create_input_events(nlohmann::json matrix_config, std::map> address_event_map, std::map> name_event_map); - static void ConfigureLogger(); }; } #endif /* INPUTFACTORY_H_ */ diff --git a/FlippR-Driver/src/utilities/GPIOInterface.h b/FlippR-Driver/src/utilities/GPIOInterface.h index fff69cd..b854252 100644 --- a/FlippR-Driver/src/utilities/GPIOInterface.h +++ b/FlippR-Driver/src/utilities/GPIOInterface.h @@ -15,7 +15,8 @@ #include #include -#include "config.h" +//#include "config.h" + class GPIOInterface { public: diff --git a/FlippR-Driver/src/utilities/LoggerFactory.hpp b/FlippR-Driver/src/utilities/LoggerFactory.cpp similarity index 68% rename from FlippR-Driver/src/utilities/LoggerFactory.hpp rename to FlippR-Driver/src/utilities/LoggerFactory.cpp index b0f0a30..998b617 100644 --- a/FlippR-Driver/src/utilities/LoggerFactory.hpp +++ b/FlippR-Driver/src/utilities/LoggerFactory.cpp @@ -1,18 +1,18 @@ -/* - * LoggerFactory.hpp - * - * Created on: Jun 19, 2018 - * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht - */ +// +// Created by rhetenor on 13.09.18. +// -#ifndef SRC_UTILITIES_LOGGERFACTORY_HPP_ -#define SRC_UTILITIES_LOGGERFACTORY_HPP_ +#include "LoggerFactory.h" #include "config.h" +#ifndef EASYLOGGING_IS_INITIALIZED +#define EASYLOGGING_IS_INITIALIZED +INITIALIZE_EASYLOGGINGPP +#endif namespace LoggerFactory { - static void CreateInputTestLogger() + void CreateInputTestLogger() { el::Loggers::getLogger(INPUT_LOGGER); el::Configurations conf; @@ -25,7 +25,7 @@ namespace LoggerFactory el::Loggers::reconfigureAllLoggers(conf); } - static void CreateInputLogger() + void CreateInputLogger() { el::Loggers::getLogger(INPUT_LOGGER); @@ -39,7 +39,3 @@ namespace LoggerFactory el::Loggers::reconfigureLogger(INPUT_LOGGER, conf); } }; - - - -#endif /* SRC_UTILITIES_LOGGERFACTORY_HPP_ */ diff --git a/FlippR-Driver/src/utilities/LoggerFactory.h b/FlippR-Driver/src/utilities/LoggerFactory.h new file mode 100644 index 0000000..ccc500a --- /dev/null +++ b/FlippR-Driver/src/utilities/LoggerFactory.h @@ -0,0 +1,18 @@ +/* + * LoggerFactory.hpp + * + * Created on: Jun 19, 2018 + * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert, Rafael Vinci, Dr. Franca Rupprecht + */ + +#ifndef SRC_UTILITIES_LOGGERFACTORY_HPP_ +#define SRC_UTILITIES_LOGGERFACTORY_HPP_ + +namespace LoggerFactory +{ + void CreateInputTestLogger(); + + void CreateInputLogger(); +}; + +#endif /* SRC_UTILITIES_LOGGERFACTORY_HPP_ */ diff --git a/FlippR-Driver/src/utilities/config.h b/FlippR-Driver/src/utilities/config.h index 324fa47..e0a66de 100644 --- a/FlippR-Driver/src/utilities/config.h +++ b/FlippR-Driver/src/utilities/config.h @@ -7,13 +7,14 @@ #include "easylogging++.h" +// initialize easylogging once + #define INPUT_LOGGER "driver_logger" #define OUTPUT_LOGGER "output_logger" #define LOGGER_FILE "input_driver.log" - #define DRIVER_CONF_FILE "/var/log/flippr_driver.conf" #define HIGH_VERBOSITY 10 diff --git a/FlippR-Driver/tests/input/TestDetector.cpp b/FlippR-Driver/tests/input/TestDetector.cpp index 651c78c..8a88477 100644 --- a/FlippR-Driver/tests/input/TestDetector.cpp +++ b/FlippR-Driver/tests/input/TestDetector.cpp @@ -18,7 +18,7 @@ #include "input/IEventNotifier.h" #include "Event.h" #include "input/Detector.h" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" #include "utilities/InputGPIOInterface.h" diff --git a/FlippR-Driver/tests/input/TestEventHandler.cpp b/FlippR-Driver/tests/input/TestEventHandler.cpp index 6ceddbf..9467dd8 100644 --- a/FlippR-Driver/tests/input/TestEventHandler.cpp +++ b/FlippR-Driver/tests/input/TestEventHandler.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" #include "input/EventHandler.h" #include "IInputDriver.h" diff --git a/FlippR-Driver/tests/input/TestEventNotifier.cpp b/FlippR-Driver/tests/input/TestEventNotifier.cpp index b8717d0..c2c520a 100644 --- a/FlippR-Driver/tests/input/TestEventNotifier.cpp +++ b/FlippR-Driver/tests/input/TestEventNotifier.cpp @@ -10,7 +10,7 @@ #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" #include "IEventHandler.h" #include "utilities/IBlockingQueue.h" diff --git a/FlippR-Driver/tests/input/TestInputDriver.cpp b/FlippR-Driver/tests/input/TestInputDriver.cpp index 4f3a8b6..53e582d 100644 --- a/FlippR-Driver/tests/input/TestInputDriver.cpp +++ b/FlippR-Driver/tests/input/TestInputDriver.cpp @@ -7,7 +7,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes #define private public diff --git a/FlippR-Driver/tests/input/TestInputDriverFactory.cpp b/FlippR-Driver/tests/input/TestInputDriverFactory.cpp index 820dd51..4331d38 100644 --- a/FlippR-Driver/tests/input/TestInputDriverFactory.cpp +++ b/FlippR-Driver/tests/input/TestInputDriverFactory.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestCabinetItem.cpp b/FlippR-Driver/tests/output/TestCabinetItem.cpp index 07b3794..e5b4da5 100644 --- a/FlippR-Driver/tests/output/TestCabinetItem.cpp +++ b/FlippR-Driver/tests/output/TestCabinetItem.cpp @@ -11,7 +11,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestDisplay.cpp b/FlippR-Driver/tests/output/TestDisplay.cpp index f0e0d6b..68a8739 100644 --- a/FlippR-Driver/tests/output/TestDisplay.cpp +++ b/FlippR-Driver/tests/output/TestDisplay.cpp @@ -11,7 +11,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestDisplayController.cpp b/FlippR-Driver/tests/output/TestDisplayController.cpp index dec46c2..744c8c8 100644 --- a/FlippR-Driver/tests/output/TestDisplayController.cpp +++ b/FlippR-Driver/tests/output/TestDisplayController.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestLamp.cpp b/FlippR-Driver/tests/output/TestLamp.cpp index 65111e9..22d29a0 100644 --- a/FlippR-Driver/tests/output/TestLamp.cpp +++ b/FlippR-Driver/tests/output/TestLamp.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestOutputDriver.cpp b/FlippR-Driver/tests/output/TestOutputDriver.cpp index c592430..4c88805 100644 --- a/FlippR-Driver/tests/output/TestOutputDriver.cpp +++ b/FlippR-Driver/tests/output/TestOutputDriver.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestSolenoid.cpp b/FlippR-Driver/tests/output/TestSolenoid.cpp index 700e4fa..5d5213a 100644 --- a/FlippR-Driver/tests/output/TestSolenoid.cpp +++ b/FlippR-Driver/tests/output/TestSolenoid.cpp @@ -10,7 +10,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes diff --git a/FlippR-Driver/tests/output/TestSound.cpp b/FlippR-Driver/tests/output/TestSound.cpp index 7e12708..3a1de79 100644 --- a/FlippR-Driver/tests/output/TestSound.cpp +++ b/FlippR-Driver/tests/output/TestSound.cpp @@ -8,7 +8,7 @@ #include "catch.hpp" #include "fakeit.hpp" -#include "utilities/LoggerFactory.hpp" +#include "utilities/LoggerFactory.h" // testing purposes