/* * OutputDriver.h * * Created on: Aug 2, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #ifndef _SRC_OUTPUT_IOUTPUTDRIVER_H_ #define _SRC_OUTPUT_IOUTPUTDRIVER_H_ #include "output/items/ILamp.h" #include "output/items/ISolenoid.h" #include "output/items/IDisplay.h" #include "output/items/ISound.h" #include #include #include namespace flippR_driver { namespace output { class OutputDriver { public: virtual ~OutputDriver() = default; virtual std::vector> get_lamps() = 0; virtual std::vector> get_solenoids() = 0; virtual std::vector> get_sounds() = 0; virtual std::vector> get_displays() = 0; virtual boost::optional> get_lamp(std::string name) = 0; virtual boost::optional> get_solenoid(std::string name) = 0; virtual boost::optional> get_sound(std::string name) = 0; virtual boost::optional> get_display(char number) = 0; }; } /* namespace output */ } #endif