3#include "../SinricProRequest.h"
4#include "../EventLimiter.h"
5#include "../SinricProStrings.h"
7#include "../SinricProNamespace.h"
9namespace SINRICPRO_NAMESPACE {
65 bool handleModeController(SinricProRequest &
request);
68 EventLimiter event_limiter;
69 std::map<String, EventLimiter> event_limiter_generic;
71 std::map<String, GenericModeCallback> genericModeCallback;
76: event_limiter(EVENT_LIMIT_STATE) {
77 T*
device =
static_cast<T*
>(
this);
101 genericModeCallback[instance] =
cb;
115 if (event_limiter)
return false;
116 T*
device =
static_cast<T*
>(
this);
136 if (event_limiter_generic.find(instance) == event_limiter_generic.end()) event_limiter_generic[instance] = EventLimiter(EVENT_LIMIT_STATE);
137 if (event_limiter_generic[instance])
return false;
139 T*
device =
static_cast<T*
>(
this);
150 T*
device =
static_cast<T*
>(
this);
157 if (genericModeCallback.find(
request.instance) != genericModeCallback.end()) {
163 if (setModeCallback) {
164 success = setModeCallback(device->deviceId, mode);
165 request.response_value[FSTR_MODE_mode] = mode;
176using ModeController = SINRICPRO_NAMESPACE::ModeController<T>;
AirQuality.
Definition AirQualitySensor.h:19
ModeController.
Definition ModeController.h:53
bool sendModeEvent(String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMode event to SinricPro Server indicating the mode has changed.
Definition ModeController.h:114
void onSetMode(const String &instance, GenericModeCallback cb)
Set callback function for setMode request on a specific instance.
Definition ModeController.h:100
bool sendModeEvent(String instance, String mode, String cause=FSTR_SINRICPRO_PHYSICAL_INTERACTION)
Send setMode event to SinricPro Server indicating the mode on a specific instance has changed.
Definition ModeController.h:135
void onSetMode(ModeCallback cb)
Set callback function for setMode request.
Definition ModeController.h:89
std::function< bool(const String &, String &)> ModeCallback
Callback definition for onSetMode function.
Definition ModeController.h:28
std::function< bool(const String &, const String &, String &)> GenericModeCallback
Callback definition for onSetMode function for a specific instance.
Definition ModeController.h:45