#pragma once #include #include #include #include class RadioSwitchboard { public: RadioSwitchboard( std::shared_ptr radioFactory, GroupStateStore* stateStore, Settings& settings ); std::shared_ptr switchRadio(const MiLightRemoteConfig* remote); std::shared_ptr switchRadio(size_t index); size_t getNumRadios() const; bool available(); void write(uint8_t* packet, size_t length); size_t read(uint8_t* packet); private: std::vector> radios; std::shared_ptr currentRadio; };