3 #ifndef CHIP_CLUSTERS_H
4 #define CHIP_CLUSTERS_H
6 #import <Foundation/Foundation.h>
10 typedef void (^ResponseHandler)(NSError * _Nullable error, NSDictionary * _Nullable values);
12 NS_ASSUME_NONNULL_BEGIN
16 * This is the base class for clusters.
18 @interface CHIPCluster : NSObject
20 - (nullable instancetype)initWithDevice:(CHIPDevice *)device endpoint:(uint8_t)endpoint queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
21 - (instancetype)init NS_UNAVAILABLE;
22 + (instancetype)new NS_UNAVAILABLE;
33 @interface CHIP{{asCamelCased name false}} : CHIPCluster
35 {{#chip_server_cluster_commands}}
36 {{#if (zcl_command_arguments_count this.id)}}
37 - (void){{asCamelCased name}}:{{#chip_server_cluster_command_arguments}}{{#if (isFirstElement index)}}{{else}}{{asCamelCased label}}:{{/if}}({{asObjectiveCBasicType type}}){{asCamelCased label}} {{/chip_server_cluster_command_arguments}}completionHandler:(ResponseHandler)completionHandler;
39 - (void){{asCamelCased name}}:(ResponseHandler)completionHandler;
41 {{/chip_server_cluster_commands}}
43 {{#chip_server_cluster_attributes}}
44 - (void)readAttribute{{asCamelCased name false}}:(ResponseHandler)completionHandler;
45 {{#if (isWritableAttribute)}}
46 - (void)writeAttribute{{asCamelCased name false}}:({{asObjectiveCBasicType type}})value completionHandler:(ResponseHandler)completionHandler;
48 {{#if (isReportableAttribute)}}
49 - (void) configureAttribute{{asCamelCased name false}}:(uint16_t)minInterval maxInterval:(uint16_t)maxInterval{{#unless (isDiscreteType)}} change:({{chipType}})change{{/unless}} completionHandler:(ResponseHandler)completionHandler;
50 - (void) reportAttribute{{asCamelCased name false}}:(ResponseHandler)reportHandler;
52 {{/chip_server_cluster_attributes}}
60 #endif /* CHIP_CLUSTERS_H */