/* * OutputDriver.h * * Created on: Aug 2, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_OUTPUTDRIVER_H_ #define _SRC_OUTPUT_OUTPUTDRIVER_H_ #include "output/IOutputDriver.h" #include namespace flippR_driver { namespace output { class OutputDriver : public IOutputDriver { public: OutputDriver(std::map> solenoids, std::map> lamps, std::map> sounds, std::map> displays); ~OutputDriver() override = default; // todo what is flipper_relay ? std::vector> get_lamps() override; std::vector> get_solenoids() override; std::vector> get_sounds() override; std::vector> get_displays() override; boost::optional> get_lamp(std::string name) override; boost::optional> get_solenoid(std::string name) override; boost::optional> get_sound(std::string name) override; boost::optional> get_display(char number) override; private: const std::map> lamps; const std::map> solenoids; const std::map> sounds; const std::map> displays; }; } /* namespace output */ } #endif