blob: ccddfc9fa889896cbf9655da4cca19e6d4b3de6f [file] [log] [blame]
{{> header excludeZapComment=true}}
#import <Foundation/Foundation.h>
#import "MTRCallbackBridgeBase_internal.h"
#include <app/data-model/DecodableList.h>
#include <app/util/im-client-callbacks.h>
#include <app-common/zap-generated/cluster-objects.h>
typedef void (*CommandSuccessCallback)(void *, const chip::app::DataModel::NullObjectType &);
using CommandSuccessCallbackType = CommandSuccessCallback;
typedef void (*DefaultSuccessCallbackType)(void *);
typedef void (*VendorIdAttributeCallback)(void *, chip::VendorId);
typedef void (*NullableVendorIdAttributeCallback)(void *, const chip::app::DataModel::Nullable<chip::VendorId> &);
{{#chip_client_clusters includeAll=true}}
{{#chip_cluster_responses}}
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}CallbackType)(void *, const chip::app::Clusters::{{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType &);
{{/chip_cluster_responses}}
{{/chip_client_clusters}}
{{#zcl_clusters}}
{{#zcl_enums}}
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback)(void *, chip::app::Clusters::{{asUpperCamelCase parent.name}}::{{asType label}});
typedef void (*Nullable{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback)(void *, const chip::app::DataModel::Nullable<chip::app::Clusters::{{asUpperCamelCase parent.name}}::{{asType label}}> &);
{{/zcl_enums}}
{{/zcl_clusters}}
{{#chip_client_clusters includeAll=true}}
{{#chip_server_cluster_attributes}}
{{#if isArray}}
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCamelCase name preserveAcronyms=true}}ListAttributeCallback)(void * context, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} data);
{{else}}
{{#if_is_struct type}}
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCamelCase name preserveAcronyms=true}}StructAttributeCallback)(void *, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true forceNotOptional=true}});
{{/if_is_struct}}
{{#if_is_strongly_typed_bitmap type}}
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback)(void *, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true forceNotOptional=true}});
{{/if_is_strongly_typed_bitmap}}
{{/if}}
{{/chip_server_cluster_attributes}}
{{/chip_client_clusters}}
{{#>MTRCallbackBridge header="1" partial-type="Status" }}DefaultSuccessCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" partial-type="CommandStatus" }}CommandSuccessCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Octet_String" isNullable=false ns="chip"}}OctetStringAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Octet_String" isNullable=true ns="chip"}}NullableOctetStringAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Char_String" isNullable=false ns="chip"}}CharStringAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Char_String" isNullable=true ns="chip"}}NullableCharStringAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Boolean" isNullable=false ns="chip"}}BooleanAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Boolean" isNullable=true ns="chip"}}NullableBooleanAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int8u" isNullable=false ns="chip"}}Int8uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int8u" isNullable=true ns="chip"}}NullableInt8uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int8s" isNullable=false ns="chip"}}Int8sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int8s" isNullable=true ns="chip"}}NullableInt8sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int16u" isNullable=false ns="chip"}}Int16uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int16u" isNullable=true ns="chip"}}NullableInt16uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int16s" isNullable=false ns="chip"}}Int16sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int16s" isNullable=true ns="chip"}}NullableInt16sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int32u" isNullable=false ns="chip"}}Int32uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int32u" isNullable=true ns="chip"}}NullableInt32uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int32s" isNullable=false ns="chip"}}Int32sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int32s" isNullable=true ns="chip"}}NullableInt32sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int64u" isNullable=false ns="chip"}}Int64uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int64u" isNullable=true ns="chip"}}NullableInt64uAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int64s" isNullable=false ns="chip"}}Int64sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Int64s" isNullable=true ns="chip"}}NullableInt64sAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Single" isNullable=false ns="chip"}}FloatAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Single" isNullable=true ns="chip"}}NullableFloatAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Double" isNullable=false ns="chip"}}DoubleAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="Double" isNullable=true ns="chip"}}NullableDoubleAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="vendor_id" isNullable=false ns="chip"}}VendorIdAttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type="vendor_id" isNullable=true ns="chip"}}NullableVendorIdAttributeCallback{{/MTRCallbackBridge}}
{{#chip_client_clusters includeAll=true}}
{{#chip_server_cluster_attributes}}
{{#if isArray}}
{{#>MTRCallbackBridge header="1" ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}ListAttributeCallback{{/MTRCallbackBridge}}
{{else}}
{{#if_is_struct type}}
{{#>MTRCallbackBridge header="1" ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}StructAttributeCallback{{/MTRCallbackBridge}}
{{/if_is_struct}}
{{#if_is_strongly_typed_bitmap type}}
{{#>MTRCallbackBridge header="1" ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
{{/if_is_strongly_typed_bitmap}}
{{/if}}
{{/chip_server_cluster_attributes}}
{{/chip_client_clusters}}
{{#chip_client_clusters includeAll=true}}
{{#chip_cluster_responses}}
{{#>MTRCallbackBridge header="1" partial-type="Command" }}{{asUpperCamelCase ../../name preserveAcronyms=true}}Cluster{{asUpperCamelCase ../name preserveAcronyms=true}}Callback{{/MTRCallbackBridge}}
{{/chip_cluster_responses}}
{{/chip_client_clusters}}
{{#zcl_clusters}}
{{#zcl_enums}}
{{#>MTRCallbackBridge header="1" type=(asType label) isNullable=false ns=parent.name}}{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
{{#>MTRCallbackBridge header="1" type=(asType label) isNullable=true ns=parent.name}}Nullable{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
{{/zcl_enums}}
{{/zcl_clusters}}