3#include "../SinricProRequest.h" 
    4#include "../EventLimiter.h" 
    5#include "../SinricProStrings.h" 
    7#include "../SinricProNamespace.h" 
    8namespace SINRICPRO_NAMESPACE {
 
   10FSTR(START_STOP, start);            
 
   11FSTR(START_STOP, pause);            
 
   12FSTR(START_STOP, setStartStop);     
 
   13FSTR(START_STOP, setPauseUnpause);  
 
   92    bool handleStartStopController(SinricProRequest &
request);
 
   95    EventLimiter event_limiter;
 
 
  102:event_limiter(EVENT_LIMIT_STATE) { 
 
  103  T* 
device = 
static_cast<T*
>(
this);
 
  122  if (event_limiter) 
return false;
 
  123  T* 
device = 
static_cast<T*
>(
this);
 
 
  140  if (event_limiter) 
return false;
 
  141  T* 
device = 
static_cast<T*
>(
this);
 
 
  151  T* 
device = 
static_cast<T*
>(
this);
 
  162  if (pauseUnpauseCallback && request.action == FSTR_START_STOP_setPauseUnpause) {
 
  163    bool pause = request.request_value[FSTR_START_STOP_pause];
 
  164    success = pauseUnpauseCallback(device->deviceId, pause);
 
  165    request.response_value[FSTR_START_STOP_pause] = pause;
 
  175using StartStopController = SINRICPRO_NAMESPACE::StartStopController<T>;
 
AirQuality.
Definition AirQualitySensor.h:19
 
StartStopController class to handle start/stop and pause/unpause functionality.
Definition StartStopController.h:55
 
std::function< bool(const String &, bool &)> StartStopCallback
Definition for onStartStop callback.
Definition StartStopController.h:28
 
std::function< bool(const String &, bool &)> PauseUnpauseCallback
Definition for onPauseUnpause callback.
Definition StartStopController.h:44