Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / controller / CHIPClusters.h
1 /*
2  *
3  *    Copyright (c) 2021 Project CHIP Authors
4  *
5  *    Licensed under the Apache License, Version 2.0 (the "License");
6  *    you may not use this file except in compliance with the License.
7  *    You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *    Unless required by applicable law or agreed to in writing, software
12  *    distributed under the License is distributed on an "AS IS" BASIS,
13  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *    See the License for the specific language governing permissions and
15  *    limitations under the License.
16  */
17
18 // THIS FILE IS GENERATED BY ZAP
19
20 // Prevent multiple inclusion
21 #pragma once
22
23 #include <controller/CHIPCluster.h>
24 #include <core/CHIPCallback.h>
25 #include <lib/support/Span.h>
26
27 namespace chip {
28 namespace Controller {
29
30 constexpr ClusterId kApplicationBasicClusterId       = 0x050D;
31 constexpr ClusterId kBarrierControlClusterId         = 0x0103;
32 constexpr ClusterId kBasicClusterId                  = 0x0028;
33 constexpr ClusterId kBindingClusterId                = 0xF000;
34 constexpr ClusterId kColorControlClusterId           = 0x0300;
35 constexpr ClusterId kDoorLockClusterId               = 0x0101;
36 constexpr ClusterId kGeneralCommissioningClusterId   = 0x0030;
37 constexpr ClusterId kGroupKeyManagementClusterId     = 0xF004;
38 constexpr ClusterId kGroupsClusterId                 = 0x0004;
39 constexpr ClusterId kIasZoneClusterId                = 0x0500;
40 constexpr ClusterId kIdentifyClusterId               = 0x0003;
41 constexpr ClusterId kLevelControlClusterId           = 0x0008;
42 constexpr ClusterId kLowPowerClusterId               = 0x0508;
43 constexpr ClusterId kNetworkCommissioningClusterId   = 0x0031;
44 constexpr ClusterId kOnOffClusterId                  = 0x0006;
45 constexpr ClusterId kScenesClusterId                 = 0x0005;
46 constexpr ClusterId kTemperatureMeasurementClusterId = 0x0402;
47
48 class DLL_EXPORT ApplicationBasicCluster : public ClusterBase
49 {
50 public:
51     ApplicationBasicCluster() : ClusterBase(kApplicationBasicClusterId) {}
52     ~ApplicationBasicCluster() {}
53
54     // Cluster Attributes
55     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
56     CHIP_ERROR ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
57     CHIP_ERROR ReadAttributeVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
58     CHIP_ERROR ReadAttributeApplicationName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
59     CHIP_ERROR ReadAttributeProductId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
60     CHIP_ERROR ReadAttributeApplicationId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
61     CHIP_ERROR ReadAttributeCatalogVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
62     CHIP_ERROR ReadAttributeApplicationSatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
63     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
64 };
65
66 class DLL_EXPORT BarrierControlCluster : public ClusterBase
67 {
68 public:
69     BarrierControlCluster() : ClusterBase(kBarrierControlClusterId) {}
70     ~BarrierControlCluster() {}
71
72     // Cluster Commands
73     CHIP_ERROR BarrierControlGoToPercent(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
74                                          uint8_t percentOpen);
75     CHIP_ERROR BarrierControlStop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
76
77     // Cluster Attributes
78     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
79     CHIP_ERROR ReadAttributeBarrierMovingState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
80     CHIP_ERROR ReadAttributeBarrierSafetyStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
81     CHIP_ERROR ReadAttributeBarrierCapabilities(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
82     CHIP_ERROR ReadAttributeBarrierPosition(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
83     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
84
85 private:
86     static constexpr CommandId kBarrierControlGoToPercentCommandId = 0x00;
87     static constexpr CommandId kBarrierControlStopCommandId        = 0x01;
88 };
89
90 class DLL_EXPORT BasicCluster : public ClusterBase
91 {
92 public:
93     BasicCluster() : ClusterBase(kBasicClusterId) {}
94     ~BasicCluster() {}
95
96     // Cluster Commands
97     CHIP_ERROR MfgSpecificPing(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
98
99     // Cluster Attributes
100     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
101     CHIP_ERROR ReadAttributeInteractionModelVersion(Callback::Cancelable * onSuccessCallback,
102                                                     Callback::Cancelable * onFailureCallback);
103     CHIP_ERROR ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
104     CHIP_ERROR ReadAttributeVendorID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
105     CHIP_ERROR ReadAttributeProductName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
106     CHIP_ERROR ReadAttributeProductID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
107     CHIP_ERROR ReadAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
108     CHIP_ERROR ReadAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
109     CHIP_ERROR ReadAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
110     CHIP_ERROR ReadAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback,
111                                                   Callback::Cancelable * onFailureCallback);
112     CHIP_ERROR ReadAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
113     CHIP_ERROR ReadAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback,
114                                                   Callback::Cancelable * onFailureCallback);
115     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
116     CHIP_ERROR WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
117                                        chip::ByteSpan value);
118     CHIP_ERROR WriteAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
119                                       chip::ByteSpan value);
120
121 private:
122     static constexpr CommandId kMfgSpecificPingCommandId = 0x00;
123 };
124
125 class DLL_EXPORT BindingCluster : public ClusterBase
126 {
127 public:
128     BindingCluster() : ClusterBase(kBindingClusterId) {}
129     ~BindingCluster() {}
130
131     // Cluster Commands
132     CHIP_ERROR Bind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::NodeId nodeId,
133                     chip::GroupId groupId, chip::EndpointId endpointId, chip::ClusterId clusterId);
134     CHIP_ERROR Unbind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::NodeId nodeId,
135                       chip::GroupId groupId, chip::EndpointId endpointId, chip::ClusterId clusterId);
136
137     // Cluster Attributes
138     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
139     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
140
141 private:
142     static constexpr CommandId kBindCommandId   = 0x00;
143     static constexpr CommandId kUnbindCommandId = 0x01;
144 };
145
146 class DLL_EXPORT ColorControlCluster : public ClusterBase
147 {
148 public:
149     ColorControlCluster() : ClusterBase(kColorControlClusterId) {}
150     ~ColorControlCluster() {}
151
152     // Cluster Commands
153     CHIP_ERROR MoveColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t rateX,
154                          int16_t rateY, uint8_t optionsMask, uint8_t optionsOverride);
155     CHIP_ERROR MoveColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
156                                     uint8_t moveMode, uint16_t rate, uint16_t colorTemperatureMinimum,
157                                     uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride);
158     CHIP_ERROR MoveHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
159                        uint8_t rate, uint8_t optionsMask, uint8_t optionsOverride);
160     CHIP_ERROR MoveSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
161                               uint8_t rate, uint8_t optionsMask, uint8_t optionsOverride);
162     CHIP_ERROR MoveToColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t colorX,
163                            uint16_t colorY, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
164     CHIP_ERROR MoveToColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
165                                       uint16_t colorTemperature, uint16_t transitionTime, uint8_t optionsMask,
166                                       uint8_t optionsOverride);
167     CHIP_ERROR MoveToHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t hue,
168                          uint8_t direction, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
169     CHIP_ERROR MoveToHueAndSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
170                                       uint8_t hue, uint8_t saturation, uint16_t transitionTime, uint8_t optionsMask,
171                                       uint8_t optionsOverride);
172     CHIP_ERROR MoveToSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
173                                 uint8_t saturation, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
174     CHIP_ERROR StepColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t stepX,
175                          int16_t stepY, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
176     CHIP_ERROR StepColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
177                                     uint8_t stepMode, uint16_t stepSize, uint16_t transitionTime, uint16_t colorTemperatureMinimum,
178                                     uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride);
179     CHIP_ERROR StepHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
180                        uint8_t stepSize, uint8_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
181     CHIP_ERROR StepSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
182                               uint8_t stepSize, uint8_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
183     CHIP_ERROR StopMoveStep(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t optionsMask,
184                             uint8_t optionsOverride);
185
186     // Cluster Attributes
187     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
188     CHIP_ERROR ReadAttributeCurrentHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
189     CHIP_ERROR ReadAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
190     CHIP_ERROR ReadAttributeRemainingTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
191     CHIP_ERROR ReadAttributeCurrentX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
192     CHIP_ERROR ReadAttributeCurrentY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
193     CHIP_ERROR ReadAttributeDriftCompensation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
194     CHIP_ERROR ReadAttributeCompensationText(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
195     CHIP_ERROR ReadAttributeColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
196     CHIP_ERROR ReadAttributeColorMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
197     CHIP_ERROR ReadAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
198     CHIP_ERROR ReadAttributeNumberOfPrimaries(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
199     CHIP_ERROR ReadAttributePrimary1X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
200     CHIP_ERROR ReadAttributePrimary1Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
201     CHIP_ERROR ReadAttributePrimary1Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
202     CHIP_ERROR ReadAttributePrimary2X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
203     CHIP_ERROR ReadAttributePrimary2Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
204     CHIP_ERROR ReadAttributePrimary2Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
205     CHIP_ERROR ReadAttributePrimary3X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
206     CHIP_ERROR ReadAttributePrimary3Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
207     CHIP_ERROR ReadAttributePrimary3Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
208     CHIP_ERROR ReadAttributePrimary4X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
209     CHIP_ERROR ReadAttributePrimary4Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
210     CHIP_ERROR ReadAttributePrimary4Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
211     CHIP_ERROR ReadAttributePrimary5X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
212     CHIP_ERROR ReadAttributePrimary5Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
213     CHIP_ERROR ReadAttributePrimary5Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
214     CHIP_ERROR ReadAttributePrimary6X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
215     CHIP_ERROR ReadAttributePrimary6Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
216     CHIP_ERROR ReadAttributePrimary6Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
217     CHIP_ERROR ReadAttributeWhitePointX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
218     CHIP_ERROR ReadAttributeWhitePointY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
219     CHIP_ERROR ReadAttributeColorPointRX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
220     CHIP_ERROR ReadAttributeColorPointRY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
221     CHIP_ERROR ReadAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback,
222                                                  Callback::Cancelable * onFailureCallback);
223     CHIP_ERROR ReadAttributeColorPointGX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
224     CHIP_ERROR ReadAttributeColorPointGY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
225     CHIP_ERROR ReadAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback,
226                                                  Callback::Cancelable * onFailureCallback);
227     CHIP_ERROR ReadAttributeColorPointBX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
228     CHIP_ERROR ReadAttributeColorPointBY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
229     CHIP_ERROR ReadAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback,
230                                                  Callback::Cancelable * onFailureCallback);
231     CHIP_ERROR ReadAttributeEnhancedCurrentHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
232     CHIP_ERROR ReadAttributeEnhancedColorMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
233     CHIP_ERROR ReadAttributeColorLoopActive(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
234     CHIP_ERROR ReadAttributeColorLoopDirection(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
235     CHIP_ERROR ReadAttributeColorLoopTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
236     CHIP_ERROR ReadAttributeColorCapabilities(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
237     CHIP_ERROR ReadAttributeColorTempPhysicalMin(Callback::Cancelable * onSuccessCallback,
238                                                  Callback::Cancelable * onFailureCallback);
239     CHIP_ERROR ReadAttributeColorTempPhysicalMax(Callback::Cancelable * onSuccessCallback,
240                                                  Callback::Cancelable * onFailureCallback);
241     CHIP_ERROR ReadAttributeCoupleColorTempToLevelMinMireds(Callback::Cancelable * onSuccessCallback,
242                                                             Callback::Cancelable * onFailureCallback);
243     CHIP_ERROR ReadAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback,
244                                                           Callback::Cancelable * onFailureCallback);
245     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
246     CHIP_ERROR WriteAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
247                                                  uint8_t value);
248     CHIP_ERROR WriteAttributeWhitePointX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
249                                          uint16_t value);
250     CHIP_ERROR WriteAttributeWhitePointY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
251                                          uint16_t value);
252     CHIP_ERROR WriteAttributeColorPointRX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
253                                           uint16_t value);
254     CHIP_ERROR WriteAttributeColorPointRY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
255                                           uint16_t value);
256     CHIP_ERROR WriteAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback,
257                                                   Callback::Cancelable * onFailureCallback, uint8_t value);
258     CHIP_ERROR WriteAttributeColorPointGX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
259                                           uint16_t value);
260     CHIP_ERROR WriteAttributeColorPointGY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
261                                           uint16_t value);
262     CHIP_ERROR WriteAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback,
263                                                   Callback::Cancelable * onFailureCallback, uint8_t value);
264     CHIP_ERROR WriteAttributeColorPointBX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
265                                           uint16_t value);
266     CHIP_ERROR WriteAttributeColorPointBY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
267                                           uint16_t value);
268     CHIP_ERROR WriteAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback,
269                                                   Callback::Cancelable * onFailureCallback, uint8_t value);
270     CHIP_ERROR WriteAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback,
271                                                            Callback::Cancelable * onFailureCallback, uint16_t value);
272     CHIP_ERROR ConfigureAttributeCurrentHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
273                                             uint16_t minInterval, uint16_t maxInterval, uint8_t change);
274     CHIP_ERROR ReportAttributeCurrentHue(Callback::Cancelable * onReportCallback);
275     CHIP_ERROR ConfigureAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback,
276                                                    Callback::Cancelable * onFailureCallback, uint16_t minInterval,
277                                                    uint16_t maxInterval, uint8_t change);
278     CHIP_ERROR ReportAttributeCurrentSaturation(Callback::Cancelable * onReportCallback);
279     CHIP_ERROR ConfigureAttributeCurrentX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
280                                           uint16_t minInterval, uint16_t maxInterval, uint16_t change);
281     CHIP_ERROR ReportAttributeCurrentX(Callback::Cancelable * onReportCallback);
282     CHIP_ERROR ConfigureAttributeCurrentY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
283                                           uint16_t minInterval, uint16_t maxInterval, uint16_t change);
284     CHIP_ERROR ReportAttributeCurrentY(Callback::Cancelable * onReportCallback);
285     CHIP_ERROR ConfigureAttributeColorTemperature(Callback::Cancelable * onSuccessCallback,
286                                                   Callback::Cancelable * onFailureCallback, uint16_t minInterval,
287                                                   uint16_t maxInterval, uint16_t change);
288     CHIP_ERROR ReportAttributeColorTemperature(Callback::Cancelable * onReportCallback);
289
290 private:
291     static constexpr CommandId kMoveColorCommandId              = 0x08;
292     static constexpr CommandId kMoveColorTemperatureCommandId   = 0x4B;
293     static constexpr CommandId kMoveHueCommandId                = 0x01;
294     static constexpr CommandId kMoveSaturationCommandId         = 0x04;
295     static constexpr CommandId kMoveToColorCommandId            = 0x07;
296     static constexpr CommandId kMoveToColorTemperatureCommandId = 0x0A;
297     static constexpr CommandId kMoveToHueCommandId              = 0x00;
298     static constexpr CommandId kMoveToHueAndSaturationCommandId = 0x06;
299     static constexpr CommandId kMoveToSaturationCommandId       = 0x03;
300     static constexpr CommandId kStepColorCommandId              = 0x09;
301     static constexpr CommandId kStepColorTemperatureCommandId   = 0x4C;
302     static constexpr CommandId kStepHueCommandId                = 0x02;
303     static constexpr CommandId kStepSaturationCommandId         = 0x05;
304     static constexpr CommandId kStopMoveStepCommandId           = 0x47;
305 };
306
307 class DLL_EXPORT DoorLockCluster : public ClusterBase
308 {
309 public:
310     DoorLockCluster() : ClusterBase(kDoorLockClusterId) {}
311     ~DoorLockCluster() {}
312
313     // Cluster Commands
314     CHIP_ERROR ClearAllPins(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
315     CHIP_ERROR ClearAllRfids(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
316     CHIP_ERROR ClearHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
317                                     uint8_t scheduleId);
318     CHIP_ERROR ClearPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
319     CHIP_ERROR ClearRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
320     CHIP_ERROR ClearWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
321                                     uint8_t scheduleId, uint16_t userId);
322     CHIP_ERROR ClearYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
323                                     uint8_t scheduleId, uint16_t userId);
324     CHIP_ERROR GetHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
325                                   uint8_t scheduleId);
326     CHIP_ERROR GetLogRecord(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t logIndex);
327     CHIP_ERROR GetPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
328     CHIP_ERROR GetRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
329     CHIP_ERROR GetUserType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
330     CHIP_ERROR GetWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
331                                   uint8_t scheduleId, uint16_t userId);
332     CHIP_ERROR GetYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
333                                   uint8_t scheduleId, uint16_t userId);
334     CHIP_ERROR LockDoor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan pin);
335     CHIP_ERROR SetHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
336                                   uint8_t scheduleId, uint32_t localStartTime, uint32_t localEndTime,
337                                   uint8_t operatingModeDuringHoliday);
338     CHIP_ERROR SetPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId,
339                       uint8_t userStatus, uint8_t userType, chip::ByteSpan pin);
340     CHIP_ERROR SetRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId,
341                        uint8_t userStatus, uint8_t userType, chip::ByteSpan id);
342     CHIP_ERROR SetUserType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId,
343                            uint8_t userType);
344     CHIP_ERROR SetWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
345                                   uint8_t scheduleId, uint16_t userId, uint8_t daysMask, uint8_t startHour, uint8_t startMinute,
346                                   uint8_t endHour, uint8_t endMinute);
347     CHIP_ERROR SetYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
348                                   uint8_t scheduleId, uint16_t userId, uint32_t localStartTime, uint32_t localEndTime);
349     CHIP_ERROR UnlockDoor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan pin);
350     CHIP_ERROR UnlockWithTimeout(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
351                                  uint16_t timeoutInSeconds, chip::ByteSpan pin);
352
353     // Cluster Attributes
354     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
355     CHIP_ERROR ReadAttributeLockState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
356     CHIP_ERROR ReadAttributeLockType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
357     CHIP_ERROR ReadAttributeActuatorEnabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
358     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
359     CHIP_ERROR ConfigureAttributeLockState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
360                                            uint16_t minInterval, uint16_t maxInterval);
361     CHIP_ERROR ReportAttributeLockState(Callback::Cancelable * onReportCallback);
362
363 private:
364     static constexpr CommandId kClearAllPinsCommandId         = 0x08;
365     static constexpr CommandId kClearAllRfidsCommandId        = 0x19;
366     static constexpr CommandId kClearHolidayScheduleCommandId = 0x13;
367     static constexpr CommandId kClearPinCommandId             = 0x07;
368     static constexpr CommandId kClearRfidCommandId            = 0x18;
369     static constexpr CommandId kClearWeekdayScheduleCommandId = 0x0D;
370     static constexpr CommandId kClearYeardayScheduleCommandId = 0x10;
371     static constexpr CommandId kGetHolidayScheduleCommandId   = 0x12;
372     static constexpr CommandId kGetLogRecordCommandId         = 0x04;
373     static constexpr CommandId kGetPinCommandId               = 0x06;
374     static constexpr CommandId kGetRfidCommandId              = 0x17;
375     static constexpr CommandId kGetUserTypeCommandId          = 0x15;
376     static constexpr CommandId kGetWeekdayScheduleCommandId   = 0x0C;
377     static constexpr CommandId kGetYeardayScheduleCommandId   = 0x0F;
378     static constexpr CommandId kLockDoorCommandId             = 0x00;
379     static constexpr CommandId kSetHolidayScheduleCommandId   = 0x11;
380     static constexpr CommandId kSetPinCommandId               = 0x05;
381     static constexpr CommandId kSetRfidCommandId              = 0x16;
382     static constexpr CommandId kSetUserTypeCommandId          = 0x14;
383     static constexpr CommandId kSetWeekdayScheduleCommandId   = 0x0B;
384     static constexpr CommandId kSetYeardayScheduleCommandId   = 0x0E;
385     static constexpr CommandId kUnlockDoorCommandId           = 0x01;
386     static constexpr CommandId kUnlockWithTimeoutCommandId    = 0x03;
387 };
388
389 class DLL_EXPORT GeneralCommissioningCluster : public ClusterBase
390 {
391 public:
392     GeneralCommissioningCluster() : ClusterBase(kGeneralCommissioningClusterId) {}
393     ~GeneralCommissioningCluster() {}
394
395     // Cluster Commands
396     CHIP_ERROR ArmFailSafe(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
397                            uint16_t expiryLengthSeconds, uint64_t breadcrumb, uint32_t timeoutMs);
398     CHIP_ERROR CommissioningComplete(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
399     CHIP_ERROR SetFabric(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
400                          chip::ByteSpan fabricId, chip::ByteSpan fabricSecret, uint64_t breadcrumb, uint32_t timeoutMs);
401
402     // Cluster Attributes
403     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
404     CHIP_ERROR ReadAttributeFabricId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
405     CHIP_ERROR ReadAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
406     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
407     CHIP_ERROR WriteAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
408                                         uint64_t value);
409
410 private:
411     static constexpr CommandId kArmFailSafeCommandId           = 0x02;
412     static constexpr CommandId kCommissioningCompleteCommandId = 0x06;
413     static constexpr CommandId kSetFabricCommandId             = 0x00;
414 };
415
416 class DLL_EXPORT GroupKeyManagementCluster : public ClusterBase
417 {
418 public:
419     GroupKeyManagementCluster() : ClusterBase(kGroupKeyManagementClusterId) {}
420     ~GroupKeyManagementCluster() {}
421
422     // Cluster Attributes
423     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
424     CHIP_ERROR ReadAttributeGroups(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
425     CHIP_ERROR ReadAttributeGroupKeys(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
426     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
427 };
428
429 class DLL_EXPORT GroupsCluster : public ClusterBase
430 {
431 public:
432     GroupsCluster() : ClusterBase(kGroupsClusterId) {}
433     ~GroupsCluster() {}
434
435     // Cluster Commands
436     CHIP_ERROR AddGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
437                         chip::ByteSpan groupName);
438     CHIP_ERROR AddGroupIfIdentifying(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
439                                      uint16_t groupId, chip::ByteSpan groupName);
440     CHIP_ERROR GetGroupMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
441                                   uint8_t groupCount, uint16_t groupList);
442     CHIP_ERROR RemoveAllGroups(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
443     CHIP_ERROR RemoveGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId);
444     CHIP_ERROR ViewGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId);
445
446     // Cluster Attributes
447     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
448     CHIP_ERROR ReadAttributeNameSupport(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
449     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
450
451 private:
452     static constexpr CommandId kAddGroupCommandId              = 0x00;
453     static constexpr CommandId kAddGroupIfIdentifyingCommandId = 0x05;
454     static constexpr CommandId kGetGroupMembershipCommandId    = 0x02;
455     static constexpr CommandId kRemoveAllGroupsCommandId       = 0x04;
456     static constexpr CommandId kRemoveGroupCommandId           = 0x03;
457     static constexpr CommandId kViewGroupCommandId             = 0x01;
458 };
459
460 class DLL_EXPORT IasZoneCluster : public ClusterBase
461 {
462 public:
463     IasZoneCluster() : ClusterBase(kIasZoneClusterId) {}
464     ~IasZoneCluster() {}
465
466     // Cluster Attributes
467     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
468     CHIP_ERROR ReadAttributeZoneState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
469     CHIP_ERROR ReadAttributeZoneType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
470     CHIP_ERROR ReadAttributeZoneStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
471     CHIP_ERROR ReadAttributeIasCieAddress(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
472     CHIP_ERROR ReadAttributeZoneId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
473     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
474     CHIP_ERROR WriteAttributeIasCieAddress(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
475                                            uint64_t value);
476 };
477
478 class DLL_EXPORT IdentifyCluster : public ClusterBase
479 {
480 public:
481     IdentifyCluster() : ClusterBase(kIdentifyClusterId) {}
482     ~IdentifyCluster() {}
483
484     // Cluster Commands
485     CHIP_ERROR Identify(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t identifyTime);
486     CHIP_ERROR IdentifyQuery(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
487
488     // Cluster Attributes
489     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
490     CHIP_ERROR ReadAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
491     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
492     CHIP_ERROR WriteAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
493                                           uint16_t value);
494
495 private:
496     static constexpr CommandId kIdentifyCommandId      = 0x00;
497     static constexpr CommandId kIdentifyQueryCommandId = 0x01;
498 };
499
500 class DLL_EXPORT LevelControlCluster : public ClusterBase
501 {
502 public:
503     LevelControlCluster() : ClusterBase(kLevelControlClusterId) {}
504     ~LevelControlCluster() {}
505
506     // Cluster Commands
507     CHIP_ERROR Move(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
508                     uint8_t rate, uint8_t optionMask, uint8_t optionOverride);
509     CHIP_ERROR MoveToLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t level,
510                            uint16_t transitionTime, uint8_t optionMask, uint8_t optionOverride);
511     CHIP_ERROR MoveToLevelWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
512                                     uint8_t level, uint16_t transitionTime);
513     CHIP_ERROR MoveWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
514                              uint8_t rate);
515     CHIP_ERROR Step(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
516                     uint8_t stepSize, uint16_t transitionTime, uint8_t optionMask, uint8_t optionOverride);
517     CHIP_ERROR StepWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
518                              uint8_t stepSize, uint16_t transitionTime);
519     CHIP_ERROR Stop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t optionMask,
520                     uint8_t optionOverride);
521     CHIP_ERROR StopWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
522
523     // Cluster Attributes
524     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
525     CHIP_ERROR ReadAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
526     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
527     CHIP_ERROR ConfigureAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
528                                               uint16_t minInterval, uint16_t maxInterval, uint8_t change);
529     CHIP_ERROR ReportAttributeCurrentLevel(Callback::Cancelable * onReportCallback);
530
531 private:
532     static constexpr CommandId kMoveCommandId                 = 0x01;
533     static constexpr CommandId kMoveToLevelCommandId          = 0x00;
534     static constexpr CommandId kMoveToLevelWithOnOffCommandId = 0x04;
535     static constexpr CommandId kMoveWithOnOffCommandId        = 0x05;
536     static constexpr CommandId kStepCommandId                 = 0x02;
537     static constexpr CommandId kStepWithOnOffCommandId        = 0x06;
538     static constexpr CommandId kStopCommandId                 = 0x03;
539     static constexpr CommandId kStopWithOnOffCommandId        = 0x07;
540 };
541
542 class DLL_EXPORT LowPowerCluster : public ClusterBase
543 {
544 public:
545     LowPowerCluster() : ClusterBase(kLowPowerClusterId) {}
546     ~LowPowerCluster() {}
547
548     // Cluster Commands
549     CHIP_ERROR Sleep(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
550
551     // Cluster Attributes
552     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
553     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
554
555 private:
556     static constexpr CommandId kSleepCommandId = 0x00;
557 };
558
559 class DLL_EXPORT NetworkCommissioningCluster : public ClusterBase
560 {
561 public:
562     NetworkCommissioningCluster() : ClusterBase(kNetworkCommissioningClusterId) {}
563     ~NetworkCommissioningCluster() {}
564
565     // Cluster Commands
566     CHIP_ERROR AddThreadNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
567                                 chip::ByteSpan operationalDataset, uint64_t breadcrumb, uint32_t timeoutMs);
568     CHIP_ERROR AddWiFiNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
569                               chip::ByteSpan ssid, chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs);
570     CHIP_ERROR DisableNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
571                               chip::ByteSpan networkID, uint64_t breadcrumb, uint32_t timeoutMs);
572     CHIP_ERROR EnableNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
573                              chip::ByteSpan networkID, uint64_t breadcrumb, uint32_t timeoutMs);
574     CHIP_ERROR GetLastNetworkCommissioningResult(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
575                                                  uint32_t timeoutMs);
576     CHIP_ERROR RemoveNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
577                              chip::ByteSpan networkID, uint64_t breadcrumb, uint32_t timeoutMs);
578     CHIP_ERROR ScanNetworks(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan ssid,
579                             uint64_t breadcrumb, uint32_t timeoutMs);
580     CHIP_ERROR UpdateThreadNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
581                                    chip::ByteSpan operationalDataset, uint64_t breadcrumb, uint32_t timeoutMs);
582     CHIP_ERROR UpdateWiFiNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
583                                  chip::ByteSpan ssid, chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs);
584
585     // Cluster Attributes
586     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
587     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
588
589 private:
590     static constexpr CommandId kAddThreadNetworkCommandId                  = 0x06;
591     static constexpr CommandId kAddWiFiNetworkCommandId                    = 0x02;
592     static constexpr CommandId kDisableNetworkCommandId                    = 0x0E;
593     static constexpr CommandId kEnableNetworkCommandId                     = 0x0C;
594     static constexpr CommandId kGetLastNetworkCommissioningResultCommandId = 0x10;
595     static constexpr CommandId kRemoveNetworkCommandId                     = 0x0A;
596     static constexpr CommandId kScanNetworksCommandId                      = 0x00;
597     static constexpr CommandId kUpdateThreadNetworkCommandId               = 0x08;
598     static constexpr CommandId kUpdateWiFiNetworkCommandId                 = 0x04;
599 };
600
601 class DLL_EXPORT OnOffCluster : public ClusterBase
602 {
603 public:
604     OnOffCluster() : ClusterBase(kOnOffClusterId) {}
605     ~OnOffCluster() {}
606
607     // Cluster Commands
608     CHIP_ERROR Off(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
609     CHIP_ERROR On(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
610     CHIP_ERROR Toggle(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
611
612     // Cluster Attributes
613     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
614     CHIP_ERROR ReadAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
615     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
616     CHIP_ERROR ConfigureAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
617                                        uint16_t minInterval, uint16_t maxInterval);
618     CHIP_ERROR ReportAttributeOnOff(Callback::Cancelable * onReportCallback);
619
620 private:
621     static constexpr CommandId kOffCommandId    = 0x00;
622     static constexpr CommandId kOnCommandId     = 0x01;
623     static constexpr CommandId kToggleCommandId = 0x02;
624 };
625
626 class DLL_EXPORT ScenesCluster : public ClusterBase
627 {
628 public:
629     ScenesCluster() : ClusterBase(kScenesClusterId) {}
630     ~ScenesCluster() {}
631
632     // Cluster Commands
633     CHIP_ERROR AddScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
634                         uint8_t sceneId, uint16_t transitionTime, chip::ByteSpan sceneName, chip::ClusterId clusterId,
635                         uint8_t length, uint8_t value);
636     CHIP_ERROR GetSceneMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
637                                   uint16_t groupId);
638     CHIP_ERROR RecallScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
639                            uint8_t sceneId, uint16_t transitionTime);
640     CHIP_ERROR RemoveAllScenes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
641                                uint16_t groupId);
642     CHIP_ERROR RemoveScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
643                            uint8_t sceneId);
644     CHIP_ERROR StoreScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
645                           uint8_t sceneId);
646     CHIP_ERROR ViewScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
647                          uint8_t sceneId);
648
649     // Cluster Attributes
650     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
651     CHIP_ERROR ReadAttributeSceneCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
652     CHIP_ERROR ReadAttributeCurrentScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
653     CHIP_ERROR ReadAttributeCurrentGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
654     CHIP_ERROR ReadAttributeSceneValid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
655     CHIP_ERROR ReadAttributeNameSupport(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
656     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
657
658 private:
659     static constexpr CommandId kAddSceneCommandId           = 0x00;
660     static constexpr CommandId kGetSceneMembershipCommandId = 0x06;
661     static constexpr CommandId kRecallSceneCommandId        = 0x05;
662     static constexpr CommandId kRemoveAllScenesCommandId    = 0x03;
663     static constexpr CommandId kRemoveSceneCommandId        = 0x02;
664     static constexpr CommandId kStoreSceneCommandId         = 0x04;
665     static constexpr CommandId kViewSceneCommandId          = 0x01;
666 };
667
668 class DLL_EXPORT TemperatureMeasurementCluster : public ClusterBase
669 {
670 public:
671     TemperatureMeasurementCluster() : ClusterBase(kTemperatureMeasurementClusterId) {}
672     ~TemperatureMeasurementCluster() {}
673
674     // Cluster Attributes
675     CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
676     CHIP_ERROR ReadAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
677     CHIP_ERROR ReadAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
678     CHIP_ERROR ReadAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
679     CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
680     CHIP_ERROR ConfigureAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
681                                                uint16_t minInterval, uint16_t maxInterval, int16_t change);
682     CHIP_ERROR ReportAttributeMeasuredValue(Callback::Cancelable * onReportCallback);
683 };
684
685 } // namespace Controller
686 } // namespace chip