SinricPro Library
SinricProSpeaker.h
1 /*
2  * Copyright (c) 2019 Sinric. All rights reserved.
3  * Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
4  *
5  * This file is part of the Sinric Pro (https://github.com/sinricpro/)
6  */
7 
8 #pragma once
9 
10 #include "SinricProDevice.h"
11 #include "Capabilities/SettingController.h"
12 #include "Capabilities/PushNotification.h"
13 #include "Capabilities/PowerStateController.h"
14 #include "Capabilities/MuteController.h"
15 #include "Capabilities/VolumeController.h"
16 #include "Capabilities/MediaController.h"
17 #include "Capabilities/InputController.h"
18 #include "Capabilities/EqualizerController.h"
19 #include "Capabilities/ModeController.h"
20 
21 #include "SinricProNamespace.h"
22 namespace SINRICPRO_NAMESPACE {
23 
45  public SettingController<SinricProSpeaker>,
46  public PushNotification<SinricProSpeaker>,
47  public PowerStateController<SinricProSpeaker>,
48  public MuteController<SinricProSpeaker>,
49  public VolumeController<SinricProSpeaker>,
50  public MediaController<SinricProSpeaker>,
51  public InputController<SinricProSpeaker>,
52  public EqualizerController<SinricProSpeaker>,
53  public ModeController<SinricProSpeaker> {
54  friend class SettingController<SinricProSpeaker>;
55  friend class PushNotification<SinricProSpeaker>;
57  friend class MuteController<SinricProSpeaker>;
58  friend class VolumeController<SinricProSpeaker>;
59  friend class MediaController<SinricProSpeaker>;
60  friend class InputController<SinricProSpeaker>;
62  friend class ModeController<SinricProSpeaker>;
63 public:
64  SinricProSpeaker(const String &deviceId) : SinricProDevice(deviceId, "SPEAKER") {}
65 };
66 
67 } // SINRICPRO_NAMESPACE
68 
69 using SinricProSpeaker = SINRICPRO_NAMESPACE::SinricProSpeaker;
EqualizerController.
Definition: EqualizerController.h:79
InputController.
Definition: InputController.h:35
MediaController.
Definition: MediaController.h:35
ModeController.
Definition: ModeController.h:53
MuteController.
Definition: MuteController.h:35
PowerStateController.
Definition: PowerStateController.h:36
PushNotification.
Definition: PushNotification.h:17
Base class for all device types.
Definition: SinricProDevice.h:24
Device to control a smart speaker.
Definition: SinricProSpeaker.h:53
VolumeController.
Definition: VolumeController.h:54