#ifndef CONFIGURATOR_H #define CONFIGURATOR_H #include #include #include #include "Shade.h" // TODO: Allow shades to be removed class Configurator { private: std::vector> shadeConfiguredCallbacks; std::map discoveredIds; std::map discoveredFriendlyNames; std::string extractKey(std::string topic); bool tryBuild(std::string topic); public: Configurator(); void addShadeConfiguredCallback(std::function callback); void processIdMessage(std::string topic, std::string id); void processFriendlyNameMessage(std::string topic, std::string friendlyName); }; #endif // CONFIGURATOR_H