/* * Sound.h * * Created on: Aug 2, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_SOUND_H_ #define _SRC_OUTPUT_SOUND_H_ #include "output/items/Sound.h" #include "Item.h" #include "DriverBoardItem.h" #include #include #include #include namespace flippR_driver { namespace output { class SoundBoardPinController; namespace items { namespace detail { class Sound : public detail::Item, public items::Sound, public detail::DriverBoardItem { public: u_int id; public: Sound(std::shared_ptr pin_controller, const uint8_t & address, const std::string & name, const u_int id); ~Sound() override = default; void play() override; private: const std::shared_ptr pin_controller; std::future play_task; private: virtual void playTask(); }; } } } /* namespace output */ } #endif