#pragma once // Hyperion includes #include "ProviderHID.h" /// /// LedDevice implementation for a paintpack device () /// class LedDevicePaintpack : public ProviderHID { public: /// /// Constructs specific LedDevice /// /// @param deviceConfig json device config /// explicit LedDevicePaintpack(const QJsonObject &deviceConfig); /// constructs leddevice static LedDevice* construct(const QJsonObject &deviceConfig); /// /// Sets configuration /// /// @param deviceConfig the json device config /// @return true if success virtual bool init(const QJsonObject &deviceConfig) override; private: /// /// 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) override; };