From 3103fb77c7a762f86eeeef16457bdbf2736c7f96 Mon Sep 17 00:00:00 2001 From: Jonas Zeunert Date: Tue, 11 Dec 2018 12:11:43 +0100 Subject: [PATCH] compiling but strange need to talk --- .../src/output/IOutputGPIOInterface.h | 6 ++-- .../src/output/OutputDriverFactory.cpp | 2 +- .../src/output/OutputGPIOInterface.cpp | 4 +-- .../src/output/OutputGPIOInterface.h | 6 ++-- .../src/output/items/IDriverBoardItem.h | 29 +++++++++++++++++++ FlippR-Driver/src/output/items/ISoundItem.h | 26 +++++++++++++++++ FlippR-Driver/src/output/items/Sound.h | 7 ++++- 7 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 FlippR-Driver/src/output/items/IDriverBoardItem.h create mode 100644 FlippR-Driver/src/output/items/ISoundItem.h diff --git a/FlippR-Driver/src/output/IOutputGPIOInterface.h b/FlippR-Driver/src/output/IOutputGPIOInterface.h index 0edcec9..586eb6d 100644 --- a/FlippR-Driver/src/output/IOutputGPIOInterface.h +++ b/FlippR-Driver/src/output/IOutputGPIOInterface.h @@ -8,7 +8,7 @@ #include "IOutputGPIOInterface.h" #include "output/items/IItem.h" -#include "output/items/ISound.h" +#include "output/items/ISoundItem.h" #include "output/items/IDisplay.h" #include @@ -23,10 +23,10 @@ public: virtual ~IOutputGPIOInterface() = default; virtual void activate(items::IItem *driver_board_item) = 0; - virtual void activate(items::ISound *sound) = 0; + virtual void activate(items::ISoundItem *sound) = 0; virtual void deactivate(items::IItem *driver_board_item) = 0; - virtual void deactivate(items::ISound *sound) = 0; + virtual void deactivate(items::ISoundItem *sound) = 0; virtual void write_display(std::shared_ptr display) = 0; //Display gpio interface! diff --git a/FlippR-Driver/src/output/OutputDriverFactory.cpp b/FlippR-Driver/src/output/OutputDriverFactory.cpp index 60ef788..9e04699 100644 --- a/FlippR-Driver/src/output/OutputDriverFactory.cpp +++ b/FlippR-Driver/src/output/OutputDriverFactory.cpp @@ -136,7 +136,7 @@ std::map> create_sounds(std::istream for(auto &sound_json : sounds_json) { auto sound = create_sound(sound_json, output_gpio_interface, deactivation_time); - sounds.emplace(sound->get_name(), sound); + sounds.emplace(sound->Item::get_name(), sound); } return sounds; diff --git a/FlippR-Driver/src/output/OutputGPIOInterface.cpp b/FlippR-Driver/src/output/OutputGPIOInterface.cpp index 39f5208..77d4fc3 100644 --- a/FlippR-Driver/src/output/OutputGPIOInterface.cpp +++ b/FlippR-Driver/src/output/OutputGPIOInterface.cpp @@ -45,7 +45,7 @@ void OutputGPIOInterface::initialize_i2c_addresses() mcp23017Setup(pins_display.at("pin_base"), pins_display.at("i2c_address")); } -void OutputGPIOInterface::activate(output::items::ISound *sound) +void OutputGPIOInterface::activate(output::items::ISoundItem *sound) { std::lock_guard guard(output_item_mutex); @@ -72,7 +72,7 @@ void OutputGPIOInterface::deactivate(output::items::IItem *driver_board_item) write_data(false); } -void OutputGPIOInterface::deactivate(output::items::ISound *sound) +void OutputGPIOInterface::deactivate(output::items::ISoundItem *sound) { std::lock_guard guard(output_item_mutex); diff --git a/FlippR-Driver/src/output/OutputGPIOInterface.h b/FlippR-Driver/src/output/OutputGPIOInterface.h index 1573290..2009ea5 100644 --- a/FlippR-Driver/src/output/OutputGPIOInterface.h +++ b/FlippR-Driver/src/output/OutputGPIOInterface.h @@ -18,7 +18,7 @@ #include #include #include -#include + namespace flippR_driver { namespace output @@ -33,10 +33,10 @@ public: ~OutputGPIOInterface() override = default; void activate(items::IItem *driver_board_item) override; - void activate(items::ISound *sound) override; + void activate(items::ISoundItem *sound) override; void deactivate(items::IItem *driver_board_item) override; - void deactivate(items::ISound *sound) override; + void deactivate(items::ISoundItem *sound) override; void write_display(std::shared_ptr display) override; diff --git a/FlippR-Driver/src/output/items/IDriverBoardItem.h b/FlippR-Driver/src/output/items/IDriverBoardItem.h new file mode 100644 index 0000000..c7d6e85 --- /dev/null +++ b/FlippR-Driver/src/output/items/IDriverBoardItem.h @@ -0,0 +1,29 @@ +// +// Created by rhetenor on 23.11.18. +// + +#ifndef FLIPPR_DRIVER_IDRIVERBOARDITEM_H +#define FLIPPR_DRIVER_IDRIVERBOARDITEM_H + +#include "output/items/IItem.h" + +#include + +namespace flippR_driver +{ +namespace output +{ +namespace items +{ + +class IDriverBoardItem : public IItem +{ +public: + ~IDriverBoardItem() override = default; +}; + +} +} +} + +#endif //FLIPPR_DRIVER_IDRIVERBOARDITEM_H diff --git a/FlippR-Driver/src/output/items/ISoundItem.h b/FlippR-Driver/src/output/items/ISoundItem.h new file mode 100644 index 0000000..84feaff --- /dev/null +++ b/FlippR-Driver/src/output/items/ISoundItem.h @@ -0,0 +1,26 @@ +// +// Created by rhetenor on 23.11.18. +// + +#ifndef FLIPPR_DRIVER_ISOUNDITEM_H +#define FLIPPR_DRIVER_ISOUNDITEM_H + +#include "IItem.h" +namespace flippR_driver +{ +namespace output +{ +namespace items +{ + +class ISoundItem : public IItem +{ +public: + ~ISoundItem() override = default; +}; + +} +} +} + +#endif //FLIPPR_DRIVER_ISOUNDITEM_H diff --git a/FlippR-Driver/src/output/items/Sound.h b/FlippR-Driver/src/output/items/Sound.h index c7b0771..c614ab9 100644 --- a/FlippR-Driver/src/output/items/Sound.h +++ b/FlippR-Driver/src/output/items/Sound.h @@ -9,6 +9,8 @@ #define _SRC_OUTPUT_SOUND_H_ #include "output/items/ISound.h" +#include "output/items/ISoundItem.h" + #include "Item.h" #include @@ -24,7 +26,7 @@ namespace output namespace items { -class Sound : public ISound, public Item +class Sound : public ISound, public Item, public ISoundItem { public: u_int id; @@ -33,6 +35,9 @@ public: Sound(std::shared_ptr output_gpio_interface, uint8_t address, std::string name, std::chrono::milliseconds deactivation_time, u_int id); ~Sound() override = default; + std::string get_name() override; + uint8_t get_address() override; + void play() override; private: