3 // Prevent multiple inclusion
6 #include <controller/CHIPCluster.h>
7 #include <core/CHIPCallback.h>
8 #include <lib/support/Span.h>
11 namespace Controller {
13 {{#chip_server_clusters}}
14 constexpr ClusterId k{{asCamelCased name false}}ClusterId = {{asHex code 4}};
15 {{/chip_server_clusters}}
17 {{#chip_server_clusters}}
18 class DLL_EXPORT {{asCamelCased name false}}Cluster : public ClusterBase
21 {{asCamelCased name false}}Cluster() : ClusterBase(k{{asCamelCased name false}}ClusterId) {}
22 ~{{asCamelCased name false}}Cluster() {}
23 {{#chip_server_cluster_commands}}
28 CHIP_ERROR {{asCamelCased name false}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback{{#chip_server_cluster_command_arguments}}, {{chipType}} {{asCamelCased label}}{{/chip_server_cluster_command_arguments}});
29 {{/chip_server_cluster_commands}}
32 CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
33 {{#chip_server_cluster_attributes}}
34 CHIP_ERROR ReadAttribute{{asCamelCased name false}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
35 {{/chip_server_cluster_attributes}}
36 {{#chip_server_cluster_attributes}}
37 {{#if (isWritableAttribute)}}
38 CHIP_ERROR WriteAttribute{{asCamelCased name false}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, {{asUnderlyingZclType type}} value);
40 {{/chip_server_cluster_attributes}}
41 {{#chip_server_cluster_attributes}}
42 {{#if (isReportableAttribute)}}
43 CHIP_ERROR ConfigureAttribute{{asCamelCased name false}}(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t minInterval, uint16_t maxInterval{{#unless (isDiscreteType)}}, {{chipType}} change{{/unless}});
44 CHIP_ERROR ReportAttribute{{asCamelCased name false}}(Callback::Cancelable * onReportCallback);
46 {{/chip_server_cluster_attributes}}
47 {{#chip_server_cluster_commands}}
52 static constexpr CommandId k{{asCamelCased name false}}CommandId = {{asHex code 2}};
53 {{/chip_server_cluster_commands}}
56 {{/chip_server_clusters}}
57 } // namespace Controller