From ff3376b9d7339556275058f62151519976e2b909 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Fri, 14 Dec 2018 02:56:29 +0100 Subject: [PATCH] still not done with refactoring but enough for today --- .../src/output/OutputDriverFactory.cpp | 20 ++++++++++++------- .../src/output/OutputDriverFactory.h | 6 +++--- .../output/impl/SoundBoardPinController.cpp | 6 +++--- .../src/output/impl/SoundBoardPinController.h | 6 +++--- FlippR-Driver/src/output/items/IItem.h | 4 ++-- FlippR-Driver/src/output/items/Item.cpp | 4 ++-- FlippR-Driver/src/output/items/Item.h | 4 ++-- FlippR-Driver/src/output/items/Lamp.cpp | 4 ++-- FlippR-Driver/src/output/items/Solenoid.cpp | 4 ++-- FlippR-Driver/src/output/items/Sound.cpp | 4 ++-- .../src/utility/InputSocketHandler.h | 3 ++- .../src/utility/OutputSocketHandler.h | 2 ++ 12 files changed, 38 insertions(+), 29 deletions(-) diff --git a/FlippR-Driver/src/output/OutputDriverFactory.cpp b/FlippR-Driver/src/output/OutputDriverFactory.cpp index 5b50531..3807625 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.cpp +++ b/FlippR-Driver/src/output/OutputDriverFactory.cpp @@ -54,7 +54,7 @@ std::shared_ptr get_OutputDriver(std::istream &output_pin_config, boost::copy(displays | boost::adaptors::map_values, std::back_inserter(displays_vec)); std::unique_ptr display_controller(new impl::DisplayController(displays_vec, std::move(display_board_pin_controller))); - return std::make_shared(display_controller, solenoids, lamps, sounds, displays); + return std::make_shared(std::move(display_controller), solenoids, lamps, sounds, displays); } std::map parse_pins_driver_board(json &driver_board_config) @@ -114,7 +114,7 @@ std::map parse_pins_sound_board(json &sound_board_config) return pins_sound; } -std::map parse_pins_display(json &display_board_config) +std::map parse_pins_display_board(json &display_board_config) { std::map pins_display; try @@ -131,7 +131,7 @@ std::map parse_pins_display(json &display_board_config) return pins_display; } -std::map> create_solenoids(std::istream &solenoid_config, std::shared_ptr output_gpio_interface) +std::map> create_solenoids(std::istream &solenoid_config, std::shared_ptr &output_gpio_interface) { std::map> solenoids; @@ -148,7 +148,7 @@ std::map> create_solenoids(std::i return solenoids; } -std::map> create_lamps(std::istream &lamp_config, std::shared_ptr output_gpio_interface) +std::map> create_lamps(std::istream &lamp_config, std::shared_ptr &output_gpio_interface) { std::map> lamps; @@ -164,7 +164,7 @@ std::map> create_lamps(std::istream & return lamps; } -std::map> create_sounds(std::istream &sound_config, std::shared_ptr output_gpio_interface) +std::map> create_sounds(std::istream &sound_config, std::shared_ptr &output_gpio_interface) { std::map> sounds; @@ -196,7 +196,7 @@ std::chrono::milliseconds get_deactivation_time(nlohmann::json &json) } } -std::shared_ptr create_solenoid(nlohmann::json &solenoid_json, std::shared_ptr &pin_controller, std::chrono::milliseconds deactivation_time) +std::shared_ptr create_solenoid(nlohmann::json &solenoid_json, std::shared_ptr &pin_controller, std::chrono::milliseconds &deactivation_time) { try { @@ -232,7 +232,7 @@ std::shared_ptr create_lamp(nlohmann::json &lamp_json, std::shared_ } } -std::shared_ptr create_sound(nlohmann::json &sound_json, std::shared_ptr &pin_controller, std::chrono::milliseconds deactivation_time) +std::shared_ptr create_sound(nlohmann::json &sound_json, std::shared_ptr &pin_controller, std::chrono::milliseconds &deactivation_time) { try { @@ -247,6 +247,12 @@ std::shared_ptr create_sound(nlohmann::json &sound_json, std::shar exit(EXIT_FAILURE); } } +std::map> create_displays(std::istream &display_config) +{ + std::map> displays; + + return displays; +} } } diff --git a/FlippR-Driver/src/output/OutputDriverFactory.h b/FlippR-Driver/src/output/OutputDriverFactory.h index 1dba88e..6d4e815 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.h +++ b/FlippR-Driver/src/output/OutputDriverFactory.h @@ -26,13 +26,13 @@ namespace OutputDriverFactory namespace { std::map> create_solenoids(std::istream &solenoid_config, std::shared_ptr &pin_controller); - std::shared_ptr create_solenoid(nlohmann::json &solenoid_json, std::shared_ptr pin_controller, std::chrono::milliseconds deactivation_time); + std::shared_ptr create_solenoid(nlohmann::json &solenoid_json, std::shared_ptr &pin_controller, std::chrono::milliseconds &deactivation_time); std::map> create_lamps(std::istream &lamp_config, std::shared_ptr &pin_controller); - std::shared_ptr create_lamp(nlohmann::json &lamp_json, std::shared_ptr pin_controller); + std::shared_ptr create_lamp(nlohmann::json &lamp_json, std::shared_ptr &pin_controller); std::map> create_sounds(std::istream &sound_config, std::shared_ptr &pin_controller); - std::shared_ptr create_sound(nlohmann::json &sound_json, std::shared_ptr pin_controller, std::chrono::milliseconds deactivation_time); + std::shared_ptr create_sound(nlohmann::json &sound_json, std::shared_ptr &pin_controller, std::chrono::milliseconds &deactivation_time); std::chrono::milliseconds get_deactivation_time(nlohmann::json &json); diff --git a/FlippR-Driver/src/output/impl/SoundBoardPinController.cpp b/FlippR-Driver/src/output/impl/SoundBoardPinController.cpp index 9056a02..1551995 100644 --- a/FlippR-Driver/src/output/impl/SoundBoardPinController.cpp +++ b/FlippR-Driver/src/output/impl/SoundBoardPinController.cpp @@ -36,7 +36,7 @@ void SoundBoardPinController::deactivate(const items::Sound &sound) } -void SoundBoardPinController::write_sound_address(const uint8_t address) +void SoundBoardPinController::write_sound_address(const uint8_t address) const { write_pin(pins_sound.at("A"), address & 0b0000001u); write_pin(pins_sound.at("B"), address & 0b0000010u); @@ -47,12 +47,12 @@ void SoundBoardPinController::write_sound_address(const uint8_t address) write_pin(pins_sound.at("G"), address & 0b1000000u); } -void SoundBoardPinController::fire_sound(const bool fire) +void SoundBoardPinController::fire_sound(const bool fire) const { PinController::write_pin(pins_sound.at("fire"), fire); } -void SoundBoardPinController::write_pin(const uint8_t pin, const bool value) +void SoundBoardPinController::write_pin(const uint8_t pin, const bool value) const { PinController::write_pin(pins_sound.at("pin_base") + pin, value); } diff --git a/FlippR-Driver/src/output/impl/SoundBoardPinController.h b/FlippR-Driver/src/output/impl/SoundBoardPinController.h index 079b96c..fcc6caf 100644 --- a/FlippR-Driver/src/output/impl/SoundBoardPinController.h +++ b/FlippR-Driver/src/output/impl/SoundBoardPinController.h @@ -29,10 +29,10 @@ public: void deactivate(const items::Sound &sound) override; private: - void write_sound_address(const uint8_t address); - void fire_sound(const bool fire); + void write_sound_address(const uint8_t address) const; + void fire_sound(const bool fire) const; - void write_pin(const uint8_t pin, const bool value); + void write_pin(const uint8_t pin, const bool value) const; private: std::shared_ptr output_item_mutex; diff --git a/FlippR-Driver/src/output/items/IItem.h b/FlippR-Driver/src/output/items/IItem.h index a3768f1..c27b569 100644 --- a/FlippR-Driver/src/output/items/IItem.h +++ b/FlippR-Driver/src/output/items/IItem.h @@ -23,8 +23,8 @@ class IItem public: virtual ~IItem() = default; - virtual uint8_t get_address() = 0; - virtual std::string get_name() = 0; + virtual uint8_t get_address() const = 0; + virtual std::string get_name() const = 0; }; } diff --git a/FlippR-Driver/src/output/items/Item.cpp b/FlippR-Driver/src/output/items/Item.cpp index 5b463e9..4737e32 100644 --- a/FlippR-Driver/src/output/items/Item.cpp +++ b/FlippR-Driver/src/output/items/Item.cpp @@ -16,12 +16,12 @@ Item::Item(uint8_t address, std::string name) : address(address), name(std::move(name)) {} -uint8_t Item::get_address() +uint8_t Item::get_address() const { return this->address; } -std::string Item::get_name() +std::string Item::get_name() const { return this->name; } diff --git a/FlippR-Driver/src/output/items/Item.h b/FlippR-Driver/src/output/items/Item.h index d25cdf0..2f24016 100644 --- a/FlippR-Driver/src/output/items/Item.h +++ b/FlippR-Driver/src/output/items/Item.h @@ -27,8 +27,8 @@ public: Item(uint8_t address, std::string name); ~Item() override = default; - uint8_t get_address() override; - std::string get_name() override; + uint8_t get_address() const override; + std::string get_name() const override; protected: const uint8_t address; diff --git a/FlippR-Driver/src/output/items/Lamp.cpp b/FlippR-Driver/src/output/items/Lamp.cpp index 51b60b8..0890793 100644 --- a/FlippR-Driver/src/output/items/Lamp.cpp +++ b/FlippR-Driver/src/output/items/Lamp.cpp @@ -21,12 +21,12 @@ DriverBoardItem(std::move(pin_controller), address, std::move(name)), activated( void Lamp::activate() { - pin_controller->activate(this); + pin_controller->activate(*this); } void Lamp::deactivate() { - pin_controller->deactivate(this); + pin_controller->deactivate(*this); } } diff --git a/FlippR-Driver/src/output/items/Solenoid.cpp b/FlippR-Driver/src/output/items/Solenoid.cpp index a30103e..e8b451f 100644 --- a/FlippR-Driver/src/output/items/Solenoid.cpp +++ b/FlippR-Driver/src/output/items/Solenoid.cpp @@ -22,11 +22,11 @@ Solenoid::Solenoid(std::shared_ptr pin_controller, uin void Solenoid::triggerTask() { - pin_controller->activate(this); + pin_controller->activate(*this); std::this_thread::sleep_for(deactivation_time); - pin_controller->deactivate(this); + pin_controller->deactivate(*this); } void Solenoid::trigger() diff --git a/FlippR-Driver/src/output/items/Sound.cpp b/FlippR-Driver/src/output/items/Sound.cpp index ab431d6..2a88cdd 100644 --- a/FlippR-Driver/src/output/items/Sound.cpp +++ b/FlippR-Driver/src/output/items/Sound.cpp @@ -27,11 +27,11 @@ void Sound::play() void Sound::playTask() { - pin_controller->activate(this); + pin_controller->activate(*this); std::this_thread::sleep_for(deactivation_time); - pin_controller->deactivate(this); + pin_controller->deactivate(*this); } } diff --git a/FlippR-Driver/src/utility/InputSocketHandler.h b/FlippR-Driver/src/utility/InputSocketHandler.h index 448f422..b4f3629 100644 --- a/FlippR-Driver/src/utility/InputSocketHandler.h +++ b/FlippR-Driver/src/utility/InputSocketHandler.h @@ -10,11 +10,12 @@ #include "input/EventHandler.h" #include + namespace flippR_driver { namespace utility { -class InputSocketHandler : public SocketHandler, public EventHandler +class InputSocketHandler : public SocketHandler, public input::EventHandler { public: explicit InputSocketHandler(boost::asio::io_service &service, std::string socket_file = "/var/run/user/" + std::to_string(getuid()) diff --git a/FlippR-Driver/src/utility/OutputSocketHandler.h b/FlippR-Driver/src/utility/OutputSocketHandler.h index 3226659..09be765 100644 --- a/FlippR-Driver/src/utility/OutputSocketHandler.h +++ b/FlippR-Driver/src/utility/OutputSocketHandler.h @@ -5,6 +5,8 @@ #ifndef FLIPPR_DRIVER_OUTPUTSOCKETHANDLER_H #define FLIPPR_DRIVER_OUTPUTSOCKETHANDLER_H +#include "SocketHandler.h" + namespace flippR_driver { namespace utility