From 10908824b4b212ef6599064072e91bc1942a5753 Mon Sep 17 00:00:00 2001 From: Yufeng Wang Date: Wed, 1 Dec 2021 13:56:26 -0800 Subject: [PATCH] Add User Label Cluster xml definition (#12390) * Add User Label Cluster xml defination * Run codegen * Restyled by whitespace Co-authored-by: Restyled.io --- .../data-model/chip/user-label-cluster.xml | 34 ++++++ src/app/zap-templates/zcl/zcl.json | 1 + .../python/chip/clusters/Objects.py | 70 +++++++++++ .../CHIP/zap-generated/CHIPCallbackBridge.mm | 6 + .../CHIP/zap-generated/CHIPStructsObjc.h | 6 + .../CHIP/zap-generated/CHIPStructsObjc.mm | 13 ++ .../zap-generated/CHIPTestClustersObjc.mm | 2 + .../app-common/zap-generated/attribute-id.h | 7 ++ .../zap-generated/attributes/Accessors.cpp | 6 + .../zap-generated/attributes/Accessors.h | 6 + .../app-common/zap-generated/callback.h | 112 ++++++++++++++++++ .../zap-generated/callbacks/PluginCallbacks.h | 2 + .../app-common/zap-generated/cluster-id.h | 3 + .../zap-generated/cluster-objects.cpp | 51 ++++++++ .../zap-generated/cluster-objects.h | 61 ++++++++++ .../app-common/zap-generated/ids/Attributes.h | 18 +++ .../app-common/zap-generated/ids/Clusters.h | 3 + .../app-common/zap-generated/print-cluster.h | 7 ++ .../zap-generated/cluster/Commands.h | 25 ++++ 19 files changed, 433 insertions(+) create mode 100644 src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml diff --git a/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml new file mode 100644 index 00000000000000..d54cdef16e1f5c --- /dev/null +++ b/src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + General + User Label + 0x0041 + USER_LABEL_CLUSTER + The User Label Cluster provides a feature to tag an endpoint with zero or more labels. + label list + + diff --git a/src/app/zap-templates/zcl/zcl.json b/src/app/zap-templates/zcl/zcl.json index ca8ada6228555b..5a7b1dd3954107 100644 --- a/src/app/zap-templates/zcl/zcl.json +++ b/src/app/zap-templates/zcl/zcl.json @@ -52,6 +52,7 @@ "thread-network-diagnostics-cluster.xml", "time-synchronization-cluster.xml", "tv-channel-cluster.xml", + "user-label-cluster.xml", "wake-on-lan-cluster.xml", "wifi-network-diagnostics-cluster.xml", "window-covering.xml", diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index cd59709a80ff08..099f941303bf94 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -10721,6 +10721,76 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'uint' = None +@dataclass +class UserLabel(Cluster): + id: typing.ClassVar[int] = 0x0041 + + class Structs: + @dataclass + class LabelStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor( + Label="label", Tag=1, Type=str), + ClusterObjectFieldDescriptor( + Label="value", Tag=2, Type=str), + ]) + + label: 'str' = None + value: 'str' = None + + class Attributes: + @dataclass + class LabelList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0041 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000000 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.List[UserLabel.Structs.LabelStruct]) + + value: 'typing.List[UserLabel.Structs.LabelStruct]' = None + + @dataclass + class FeatureMap(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0041 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFC + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[uint]) + + value: 'typing.Optional[uint]' = None + + @dataclass + class ClusterRevision(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0041 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x0000FFFD + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=uint) + + value: 'uint' = None + + @dataclass class BooleanState(Cluster): id: typing.ClassVar[int] = 0x0045 diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm index 72fa02c1f9f079..b806fb35b098b6 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm @@ -494,6 +494,12 @@ newElement_0.label = [[NSString alloc] initWithBytes:entry_0.label.data() length:entry_0.label.size() encoding:NSUTF8StringEncoding]; + newElement_0.label = [[NSString alloc] initWithBytes:entry_0.label.data() + length:entry_0.label.size() + encoding:NSUTF8StringEncoding]; + newElement_0.value = [[NSString alloc] initWithBytes:entry_0.value.data() + length:entry_0.value.size() + encoding:NSUTF8StringEncoding]; newElement_0.value = [[NSString alloc] initWithBytes:entry_0.value.data() length:entry_0.value.size() encoding:NSUTF8StringEncoding]; diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.h index b7209a820d4919..14bab1b5a81c82 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.h @@ -200,6 +200,12 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)init; @end +@interface CHIPUserLabelClusterLabelStruct : NSObject +@property (strong, nonatomic) NSString * _Nonnull label; +@property (strong, nonatomic) NSString * _Nonnull value; +- (instancetype)init; +@end + @interface CHIPModeSelectClusterModeOptionStruct : NSObject @property (strong, nonatomic) NSString * _Nonnull label; @property (strong, nonatomic) NSNumber * _Nonnull mode; diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.mm index d3c825410595d8..1f8a534ebd9474 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPStructsObjc.mm @@ -393,6 +393,19 @@ - (instancetype)init } @end +@implementation CHIPUserLabelClusterLabelStruct +- (instancetype)init +{ + if (self = [super init]) { + + _label = @""; + + _value = @""; + } + return self; +} +@end + @implementation CHIPModeSelectClusterModeOptionStruct - (instancetype)init { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm index da87c179a2bed5..97c376a5773d44 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm @@ -3045,6 +3045,8 @@ new CHIPDefaultSuccessCallbackBridge( } auto element_0 = (CHIPFixedLabelClusterLabelStruct *) value[i_0]; listHolder_0->mList[i_0].label = [self asCharSpan:element_0.label]; + listHolder_0->mList[i_0].label = [self asCharSpan:element_0.label]; + listHolder_0->mList[i_0].value = [self asCharSpan:element_0.value]; listHolder_0->mList[i_0].value = [self asCharSpan:element_0.value]; } cppValue = ListType_0(listHolder_0->mList, value.count); diff --git a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h index ada09b7c9f98d8..b575b04d4dad0f 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h @@ -569,6 +569,13 @@ // Server attributes #define ZCL_LABEL_LIST_ATTRIBUTE_ID (0x0000) +// Attribute ids for cluster: User Label + +// Client attributes + +// Server attributes +#define ZCL_LABEL_LIST_ATTRIBUTE_ID (0x0000) + // Attribute ids for cluster: Boolean State // Client attributes diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp index 5394e3abc39361..5224549dfb43a7 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp @@ -8842,6 +8842,12 @@ namespace Attributes { } // namespace Attributes } // namespace FixedLabel +namespace UserLabel { +namespace Attributes { + +} // namespace Attributes +} // namespace UserLabel + namespace BooleanState { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h index 786c8ce8c99d28..eb7e8a63df0989 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h @@ -1674,6 +1674,12 @@ namespace Attributes { } // namespace Attributes } // namespace FixedLabel +namespace UserLabel { +namespace Attributes { + +} // namespace Attributes +} // namespace UserLabel + namespace BooleanState { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/callback.h b/zzz_generated/app-common/app-common/zap-generated/callback.h index 7585910fe1e395..18d784fbf686cc 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callback.h +++ b/zzz_generated/app-common/app-common/zap-generated/callback.h @@ -350,6 +350,14 @@ void emberAfOperationalCredentialsClusterInitCallback(chip::EndpointId endpoint) */ void emberAfFixedLabelClusterInitCallback(chip::EndpointId endpoint); +/** @brief User Label Cluster Init + * + * Cluster Init + * + * @param endpoint Endpoint that is being initialized + */ +void emberAfUserLabelClusterInitCallback(chip::EndpointId endpoint); + /** @brief Boolean State Cluster Init * * Cluster Init @@ -4900,6 +4908,110 @@ void emberAfFixedLabelClusterServerTickCallback(chip::EndpointId endpoint); */ void emberAfFixedLabelClusterClientTickCallback(chip::EndpointId endpoint); +// +// User Label Cluster +// + +/** @brief User Label Cluster Server Init + * + * Server Init + * + * @param endpoint Endpoint that is being initialized + */ +void emberAfUserLabelClusterServerInitCallback(chip::EndpointId endpoint); + +/** @brief User Label Cluster Client Init + * + * Client Init + * + * @param endpoint Endpoint that is being initialized + */ +void emberAfUserLabelClusterClientInitCallback(chip::EndpointId endpoint); + +/** @brief User Label Cluster Server Attribute Changed + * + * Server Attribute Changed + * + * @param attributePath Concrete attribute path that changed + */ +void MatterUserLabelClusterServerAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** @brief User Label Cluster Client Attribute Changed + * + * Client Attribute Changed + * + * @param attributePath Concrete attribute path that changed + */ +void MatterUserLabelClusterClientAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath); + +/** @brief User Label Cluster Server Message Sent + * + * Server Message Sent + * + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message + */ +void emberAfUserLabelClusterServerMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); + +/** @brief User Label Cluster Client Message Sent + * + * Client Message Sent + * + * @param destination The destination to which the message was sent + * @param apsFrame The APS frame for the message + * @param msgLen The length of the message + * @param message The message that was sent + * @param status The status of the sent message + */ +void emberAfUserLabelClusterClientMessageSentCallback(const chip::MessageSendDestination & destination, EmberApsFrame * apsFrame, + uint16_t msgLen, uint8_t * message, EmberStatus status); + +/** @brief User Label Cluster Server Pre Attribute Changed + * + * Server Pre Attribute Changed + * + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status +MatterUserLabelClusterServerPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** @brief User Label Cluster Client Pre Attribute Changed + * + * Client Pre Attribute Changed + * + * @param attributePath Concrete attribute path to be changed + * @param attributeType Attribute type + * @param size Attribute size + * @param value Attribute value + */ +chip::Protocols::InteractionModel::Status +MatterUserLabelClusterClientPreAttributeChangedCallback(const chip::app::ConcreteAttributePath & attributePath, + EmberAfAttributeType attributeType, uint16_t size, uint8_t * value); + +/** @brief User Label Cluster Server Tick + * + * Server Tick + * + * @param endpoint Endpoint that is being served + */ +void emberAfUserLabelClusterServerTickCallback(chip::EndpointId endpoint); + +/** @brief User Label Cluster Client Tick + * + * Client Tick + * + * @param endpoint Endpoint that is being served + */ +void emberAfUserLabelClusterClientTickCallback(chip::EndpointId endpoint); + // // Boolean State Cluster // diff --git a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h index bbcd4fb348cae6..dbbd3f2d6c2af5 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h +++ b/zzz_generated/app-common/app-common/zap-generated/callbacks/PluginCallbacks.h @@ -95,6 +95,8 @@ void __attribute__((weak)) MatterOperationalCredentialsPluginClientInitCallback( void MatterOperationalCredentialsPluginServerInitCallback(); void __attribute__((weak)) MatterFixedLabelPluginClientInitCallback() {} void MatterFixedLabelPluginServerInitCallback(); +void __attribute__((weak)) MatterUserLabelPluginClientInitCallback() {} +void MatterUserLabelPluginServerInitCallback(); void __attribute__((weak)) MatterBooleanStatePluginClientInitCallback() {} void MatterBooleanStatePluginServerInitCallback(); void __attribute__((weak)) MatterModeSelectPluginClientInitCallback() {} diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-id.h b/zzz_generated/app-common/app-common/zap-generated/cluster-id.h index 015366d5dcbab0..75bfff980f33c4 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-id.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-id.h @@ -136,6 +136,9 @@ static constexpr chip::ClusterId ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID = 0x003E // Definitions for cluster: Fixed Label static constexpr chip::ClusterId ZCL_FIXED_LABEL_CLUSTER_ID = 0x0040; +// Definitions for cluster: User Label +static constexpr chip::ClusterId ZCL_USER_LABEL_CLUSTER_ID = 0x0041; + // Definitions for cluster: Boolean State static constexpr chip::ClusterId ZCL_BOOLEAN_STATE_CLUSTER_ID = 0x0045; diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp index 459f7a29a9971f..caa6c462b90537 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp @@ -8313,6 +8313,57 @@ namespace Events { } // namespace Events } // namespace FixedLabel +namespace UserLabel { +namespace Structs { +namespace LabelStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLabel)), label)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kValue)), value)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + VerifyOrReturnError(TLV::IsContextTag(reader.GetTag()), CHIP_ERROR_INVALID_TLV_TAG); + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kLabel): + ReturnErrorOnFailure(DataModel::Decode(reader, label)); + break; + case to_underlying(Fields::kValue): + ReturnErrorOnFailure(DataModel::Decode(reader, value)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + return CHIP_NO_ERROR; +} + +} // namespace LabelStruct +} // namespace Structs + +namespace Commands { +} // namespace Commands + +namespace Events { +} // namespace Events + +} // namespace UserLabel namespace BooleanState { namespace Commands { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h index fe16c18778d81f..96239ffacaab33 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h @@ -13339,6 +13339,67 @@ struct TypeInfo } // namespace ClusterRevision } // namespace Attributes } // namespace FixedLabel +namespace UserLabel { + +namespace Structs { +namespace LabelStruct { +enum class Fields +{ + kLabel = 1, + kValue = 2, +}; + +struct Type +{ +public: + chip::CharSpan label; + chip::CharSpan value; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + CHIP_ERROR Decode(TLV::TLVReader & reader); +}; + +using DecodableType = Type; + +} // namespace LabelStruct +} // namespace Structs + +namespace Attributes { +namespace LabelList { +struct TypeInfo +{ + using Type = DataModel::List; + using DecodableType = DataModel::DecodableList; + using DecodableArgType = const DataModel::DecodableList &; + + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::LabelList::Id; } +}; +} // namespace LabelList +namespace FeatureMap { +struct TypeInfo +{ + using Type = uint32_t; + using DecodableType = uint32_t; + using DecodableArgType = uint32_t; + + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::FeatureMap::Id; } +}; +} // namespace FeatureMap +namespace ClusterRevision { +struct TypeInfo +{ + using Type = uint16_t; + using DecodableType = uint16_t; + using DecodableArgType = uint16_t; + + static constexpr ClusterId GetClusterId() { return Clusters::UserLabel::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ClusterRevision::Id; } +}; +} // namespace ClusterRevision +} // namespace Attributes +} // namespace UserLabel namespace BooleanState { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h index 5032f33aca2dd2..d49050bf61d9e8 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h @@ -1831,6 +1831,24 @@ static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; } // namespace Attributes } // namespace FixedLabel +namespace UserLabel { +namespace Attributes { + +namespace LabelList { +static constexpr AttributeId Id = 0x00000000; +} // namespace LabelList + +namespace FeatureMap { +static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id; +} // namespace FeatureMap + +namespace ClusterRevision { +static constexpr AttributeId Id = Globals::Attributes::ClusterRevision::Id; +} // namespace ClusterRevision + +} // namespace Attributes +} // namespace UserLabel + namespace BooleanState { namespace Attributes { diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h b/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h index dc102cc4a17b12..1b77ffe8e173b1 100644 --- a/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h +++ b/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h @@ -139,6 +139,9 @@ static constexpr ClusterId Id = 0x0000003E; namespace FixedLabel { static constexpr ClusterId Id = 0x00000040; } // namespace FixedLabel +namespace UserLabel { +static constexpr ClusterId Id = 0x00000041; +} // namespace UserLabel namespace BooleanState { static constexpr ClusterId Id = 0x00000045; } // namespace BooleanState diff --git a/zzz_generated/app-common/app-common/zap-generated/print-cluster.h b/zzz_generated/app-common/app-common/zap-generated/print-cluster.h index 744b72c6cf8e65..a2195d2a294b05 100644 --- a/zzz_generated/app-common/app-common/zap-generated/print-cluster.h +++ b/zzz_generated/app-common/app-common/zap-generated/print-cluster.h @@ -259,6 +259,12 @@ #define CHIP_PRINTCLUSTER_FIXED_LABEL_CLUSTER #endif +#if defined(ZCL_USING_USER_LABEL_CLUSTER_SERVER) || defined(ZCL_USING_USER_LABEL_CLUSTER_CLIENT) +#define CHIP_PRINTCLUSTER_USER_LABEL_CLUSTER { ZCL_USER_LABEL_CLUSTER_ID, 65, "User Label" }, +#else +#define CHIP_PRINTCLUSTER_USER_LABEL_CLUSTER +#endif + #if defined(ZCL_USING_BOOLEAN_STATE_CLUSTER_SERVER) || defined(ZCL_USING_BOOLEAN_STATE_CLUSTER_CLIENT) #define CHIP_PRINTCLUSTER_BOOLEAN_STATE_CLUSTER { ZCL_BOOLEAN_STATE_CLUSTER_ID, 69, "Boolean State" }, #else @@ -803,6 +809,7 @@ CHIP_PRINTCLUSTER_ADMINISTRATOR_COMMISSIONING_CLUSTER \ CHIP_PRINTCLUSTER_OPERATIONAL_CREDENTIALS_CLUSTER \ CHIP_PRINTCLUSTER_FIXED_LABEL_CLUSTER \ + CHIP_PRINTCLUSTER_USER_LABEL_CLUSTER \ CHIP_PRINTCLUSTER_BOOLEAN_STATE_CLUSTER \ CHIP_PRINTCLUSTER_MODE_SELECT_CLUSTER \ CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER \ diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 22adb7261ab9a8..506aeb761ac233 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -80,6 +80,8 @@ CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::OperationalCredentials::Structs::NOCStruct::DecodableType & value); CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::FixedLabel::Structs::LabelStruct::DecodableType & value); +CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::UserLabel::Structs::LabelStruct::DecodableType & value); CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::DecodableType & value); CHIP_ERROR LogValue(const char * label, size_t indent, @@ -1179,6 +1181,29 @@ CHIP_ERROR LogValue(const char * label, size_t indent, ChipLogProgress(chipTool, "%s}", IndentStr(indent).c_str()); return CHIP_NO_ERROR; } +CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::UserLabel::Structs::LabelStruct::DecodableType & value) +{ + ChipLogProgress(chipTool, "%s%s: {", IndentStr(indent).c_str(), label); + { + CHIP_ERROR err = LogValue("Label", indent + 1, value.label); + if (err != CHIP_NO_ERROR) + { + ChipLogProgress(chipTool, "%sStruct truncated due to invalid value for 'Label'", IndentStr(indent + 1).c_str()); + return err; + } + } + { + CHIP_ERROR err = LogValue("Value", indent + 1, value.value); + if (err != CHIP_NO_ERROR) + { + ChipLogProgress(chipTool, "%sStruct truncated due to invalid value for 'Value'", IndentStr(indent + 1).c_str()); + return err; + } + } + ChipLogProgress(chipTool, "%s}", IndentStr(indent).c_str()); + return CHIP_NO_ERROR; +} CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::DecodableType & value) {