3#include "../SinricProRequest.h"
4#include "../EventLimiter.h"
5#include "../SinricProStrings.h"
7#include "../SinricProNamespace.h"
8namespace SINRICPRO_NAMESPACE {
10FSTR(TOGGLE, setToggleState);
45 bool handleToggleController(SinricProRequest &
request);
48 std::map<String, EventLimiter> event_limiter;
49 std::map<String, GenericToggleStateCallback> genericToggleStateCallback;
54 T*
device =
static_cast<T*
>(
this);
68 genericToggleStateCallback[instance] =
cb;
83 if (event_limiter.find(instance) == event_limiter.end()) event_limiter[instance] = EventLimiter(EVENT_LIMIT_STATE);
84 if (event_limiter[instance])
return false;
86 T*
device =
static_cast<T*
>(
this);
97 T*
device =
static_cast<T*
>(
this);
103 if (genericToggleStateCallback.find(
request.instance) != genericToggleStateCallback.end())
114using ToggleController = SINRICPRO_NAMESPACE::ToggleController<T>;
AirQuality.
Definition AirQualitySensor.h:19
ToggleController.
Definition ToggleController.h:37
std::function< bool(const String &, const String &, bool &)> GenericToggleStateCallback
Callback definition for onToggleState function.
Definition ToggleController.h:29