blob: 098769fe0a49950f0c70fdbb4884b6b6eefdcb1b [file] [log] [blame]
{{> header excludeZapComment=true}}
#import <Matter/MTRDefines.h>
#import <Matter/MTRCommandPayloadsObjc.h>
#include <app-common/zap-generated/cluster-objects.h>
NS_ASSUME_NONNULL_BEGIN
{{#zcl_clusters}}
{{#zcl_commands}}
{{#if (isSupported (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true) isForCommandPayload=true)}}
@interface MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Params (InternalMethods)
{{! We only need to generate conversion from decodable structs for the server-generated commands }}
{{#if (isStrEqual source "server")}}
- (CHIP_ERROR)_setFieldsFromDecodableStruct:(const chip::app::Clusters::{{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType &)decodableStruct;
{{/if}}
{{! We only need to generate encoding to data value for client-generated commands }}
{{#if (isStrEqual source "client")}}
- (NSDictionary<NSString *, id> * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error;
{{/if}}
@end
{{/if}}
{{/zcl_commands}}
{{/zcl_clusters}}
// Make sure that MTRBasicClusterMfgSpecificPingParams has _encodeAsDataValue just so it compiles.
@interface MTRBasicClusterMfgSpecificPingParams (InternalMethods)
- (NSDictionary<NSString *, id> * _Nullable)_encodeAsDataValue:(NSError * __autoreleasing *)error;
@end
NS_ASSUME_NONNULL_END