#pragma once // STL incldues #include // Utility includes #include #include #include #include /// /// Interface (pure virtual base class) for LedDevices. /// class LedDevice { public: LedDevice(); /// /// Empty virtual destructor for pure virtual base class /// virtual ~LedDevice() {} /// /// Writes the RGB-Color values to the leds. /// /// @param[in] ledValues The RGB-color per led /// /// @return Zero on success else negative /// virtual int write(const std::vector& ledValues) = 0; /// Switch the leds off virtual int switchOff() = 0; /// /// Opens and configures the output device /// /// @return Zero on succes else negative /// int open(); protected: Logger * _log; };