1 #ifndef _MUTECONTROLLER_H_
2 #define _MUTECONTROLLER_H_
4 #include "SinricProRequest.h"
33 bool handleMuteController(SinricProRequest &request);
60 T& device =
static_cast<T&
>(*this);
62 DynamicJsonDocument eventMessage = device.prepareEvent(
"setMute", cause.c_str());
63 JsonObject event_value = eventMessage[
"payload"][
"value"];
64 event_value[
"mute"] = mute;
65 return device.sendEvent(eventMessage);
70 T &device =
static_cast<T &
>(*this);
74 if (muteCallback && request.action ==
"setMute") {
75 bool mute = request.request_value[
"mute"];
76 success = muteCallback(device.deviceId, mute);
77 request.response_value[
"mute"] = mute;
MuteController.
Definition: MuteController.h:11
std::function< bool(const String &, bool &)> MuteCallback
Callback definition for onMute function.
Definition: MuteController.h:28
void onMute(MuteCallback cb)
Set callback function for setMute request.
Definition: MuteController.h:47
bool sendMuteEvent(bool mute, String cause="PHYSICAL_INTERACTION")
Send setMute event to SinricPro Server indicating actual mute state.
Definition: MuteController.h:59