From 10393835e65e1d0915343d6af8adf3cb73115762 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Wed, 27 Oct 2021 15:56:50 -0400 Subject: [PATCH] Use List for encodable lists. (#11006) We should not be requiring creation of non-const data to encode a list if it can be backed by const data instead. Another option would be to make List inherit from Span, but that makes some assumptions about whether people will want to write to a buffer via its List representation. The change to the List::operator= is because importing _all_ operator= from the super-class, including the implicitly-defined ones, causes assignments from List to List to be ambiguous. Forwarding just the one operator= we want to forward fixes that. --- src/app/data-model/List.h | 8 +- src/app/zap-templates/templates/app/helper.js | 12 +- .../zap-generated/cluster-objects.h | 178 +++++++++--------- 3 files changed, 106 insertions(+), 92 deletions(-) diff --git a/src/app/data-model/List.h b/src/app/data-model/List.h index 7b964bedd249d7..d5d5c067092c9d 100644 --- a/src/app/data-model/List.h +++ b/src/app/data-model/List.h @@ -48,7 +48,13 @@ struct List : public Span // List instances as though they were just Spans. // using Span::Span; - using Span::operator=; + + template + constexpr List & operator=(T (&databuf)[N]) + { + Span::operator=(databuf); + return (*this); + } }; template diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index a7f66d00b27d0b..fe00bc0858d915 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -375,11 +375,19 @@ async function zapTypeToClusterObjectType(type, isDecodable, options) let promise = templateUtil.ensureZclPackageId(this).then(fn.bind(this)); if ((this.isList || this.isArray || this.entryType) && !options.hash.forceNotList) { passByReference = true; - let listType = isDecodable ? "DecodableList" : "List"; // If we did not have a namespace provided, we can assume we're inside // chip::app. let listNamespace = options.hash.ns ? "chip::app::" : "" - promise = promise.then(typeStr => `${listNamespace}DataModel::${listType}<${typeStr}>`); + if (isDecodable) + { + promise = promise.then(typeStr => `${listNamespace}DataModel::DecodableList<${typeStr}>`); + } + else + { + // Use const ${typeStr} so that consumers don't have to create non-const + // data to encode. + promise = promise.then(typeStr => `${listNamespace}DataModel::List`); + } } if (this.isNullable && !options.hash.forceNotNullable) { passByReference = true; 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 b1844504fa0728..53de10dcb2ccf7 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 @@ -1090,7 +1090,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::Groups::Id; } uint8_t groupCount; - DataModel::List groupList; + DataModel::List groupList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -1123,7 +1123,7 @@ struct Type uint8_t capacity; uint8_t groupCount; - DataModel::List groupList; + DataModel::List groupList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -1344,7 +1344,7 @@ struct Type uint8_t sceneId; uint16_t transitionTime; chip::CharSpan sceneName; - DataModel::List extensionFieldSets; + DataModel::List extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -1451,7 +1451,7 @@ struct Type uint8_t sceneId; uint16_t transitionTime; chip::CharSpan sceneName; - DataModel::List extensionFieldSets; + DataModel::List extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -1743,7 +1743,7 @@ struct Type uint8_t capacity; uint16_t groupId; uint8_t sceneCount; - DataModel::List sceneList; + DataModel::List sceneList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -1783,7 +1783,7 @@ struct Type uint8_t sceneId; uint16_t transitionTime; chip::CharSpan sceneName; - DataModel::List extensionFieldSets; + DataModel::List extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -1890,7 +1890,7 @@ struct Type uint8_t sceneId; uint16_t transitionTime; chip::CharSpan sceneName; - DataModel::List extensionFieldSets; + DataModel::List extensionFieldSets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -3586,7 +3586,7 @@ struct Type uint8_t totalProfileNum; uint8_t powerProfileId; uint8_t numOfTransferredPhases; - DataModel::List transferredPhases; + DataModel::List transferredPhases; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -3647,7 +3647,7 @@ struct Type uint8_t totalProfileNum; uint8_t powerProfileId; uint8_t numOfTransferredPhases; - DataModel::List transferredPhases; + DataModel::List transferredPhases; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -3717,7 +3717,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } uint8_t powerProfileCount; - DataModel::List powerProfileRecords; + DataModel::List powerProfileRecords; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -3812,7 +3812,7 @@ struct Type uint8_t powerProfileId; uint8_t numOfScheduledPhases; - DataModel::List scheduledPhases; + DataModel::List scheduledPhases; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -3844,7 +3844,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::PowerProfile::Id; } uint8_t powerProfileCount; - DataModel::List powerProfileRecords; + DataModel::List powerProfileRecords; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -3877,7 +3877,7 @@ struct Type uint8_t powerProfileId; uint8_t numOfScheduledPhases; - DataModel::List scheduledPhases; + DataModel::List scheduledPhases; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -4019,7 +4019,7 @@ struct Type uint8_t powerProfileId; uint8_t numOfScheduledPhases; - DataModel::List scheduledPhases; + DataModel::List scheduledPhases; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -4090,7 +4090,7 @@ struct Type uint8_t powerProfileId; uint8_t numOfScheduledPhases; - DataModel::List scheduledPhases; + DataModel::List scheduledPhases; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -4492,7 +4492,7 @@ struct Type uint16_t functionId; uint8_t functionDataType; - DataModel::List functionData; + DataModel::List functionData; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -4669,7 +4669,7 @@ namespace Attributes { namespace DeviceList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } @@ -4679,7 +4679,7 @@ struct TypeInfo namespace ServerList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } @@ -4689,7 +4689,7 @@ struct TypeInfo namespace ClientList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } @@ -4699,7 +4699,7 @@ struct TypeInfo namespace PartsList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::Descriptor::Id; } @@ -6301,7 +6301,7 @@ struct TypeInfo namespace ActiveWiredFaults { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } @@ -6381,7 +6381,7 @@ struct TypeInfo namespace ActiveBatteryFaults { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } @@ -6501,7 +6501,7 @@ struct TypeInfo namespace ActiveBatteryChargeFaults { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::PowerSource::Id; } @@ -6784,7 +6784,7 @@ struct TypeInfo namespace BasicCommissioningInfoList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } @@ -6794,7 +6794,7 @@ struct TypeInfo namespace RegulatoryConfigList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } @@ -6804,7 +6804,7 @@ struct TypeInfo namespace LocationCapabilityList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralCommissioning::Id; } @@ -6965,8 +6965,8 @@ struct Type uint8_t errorCode; chip::CharSpan debugText; - DataModel::List wifiScanResults; - DataModel::List threadScanResults; + DataModel::List wifiScanResults; + DataModel::List threadScanResults; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -7758,7 +7758,7 @@ namespace Attributes { namespace NetworkInterfaces { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } @@ -7808,7 +7808,7 @@ struct TypeInfo namespace ActiveHardwareFaults { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } @@ -7818,7 +7818,7 @@ struct TypeInfo namespace ActiveRadioFaults { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } @@ -7828,7 +7828,7 @@ struct TypeInfo namespace ActiveNetworkFaults { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } @@ -7919,7 +7919,7 @@ namespace Attributes { namespace ThreadMetrics { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } @@ -8255,7 +8255,7 @@ struct TypeInfo namespace NeighborTableList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } @@ -8265,7 +8265,7 @@ struct TypeInfo namespace RouteTableList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } @@ -8775,7 +8775,7 @@ struct TypeInfo namespace SecurityPolicy { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } @@ -8795,7 +8795,7 @@ struct TypeInfo namespace OperationalDatasetComponents { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } @@ -8805,7 +8805,7 @@ struct TypeInfo namespace ActiveNetworkFaultsList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } @@ -10136,7 +10136,7 @@ namespace Attributes { namespace FabricsList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } @@ -10166,7 +10166,7 @@ struct TypeInfo namespace TrustedRootCertificates { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::OperationalCredentials::Id; } @@ -10224,7 +10224,7 @@ namespace Attributes { namespace LabelList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::FixedLabel::Id; } @@ -14243,7 +14243,7 @@ struct Type uint8_t numberOfTransitionsForSequence; chip::BitFlags dayOfWeekForSequence; chip::BitFlags modeForSequence; - DataModel::List payload; + DataModel::List payload; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -14280,7 +14280,7 @@ struct Type uint8_t numberOfTransitionsForSequence; chip::BitFlags dayOfWeekForSequence; chip::BitFlags modeForSequence; - DataModel::List payload; + DataModel::List payload; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -19771,7 +19771,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::IasAce::Id; } uint8_t numberOfZones; - DataModel::List zoneIds; + DataModel::List zoneIds; chip::CharSpan armDisarmCode; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -20149,7 +20149,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::IasAce::Id; } uint8_t numberOfZones; - DataModel::List zoneIds; + DataModel::List zoneIds; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -20204,7 +20204,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::IasAce::Id; } uint8_t numberOfZones; - DataModel::List bypassResult; + DataModel::List bypassResult; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -20261,7 +20261,7 @@ struct Type bool zoneStatusComplete; uint8_t numberOfZones; - DataModel::List zoneStatusResult; + DataModel::List zoneStatusResult; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -20615,7 +20615,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::ChangeChannelResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } - DataModel::List channelMatch; + DataModel::List channelMatch; TvChannelErrorType errorType; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -20697,7 +20697,7 @@ namespace Attributes { namespace TvChannelList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::TvChannel::Id; } @@ -20853,7 +20853,7 @@ namespace Attributes { namespace TargetNavigatorList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::TargetNavigator::Id; } @@ -21802,7 +21802,7 @@ namespace Attributes { namespace MediaInputList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::MediaInput::Id; } @@ -22180,7 +22180,7 @@ struct Type public: ContentLaunchParameterEnum type; chip::CharSpan value; - DataModel::List externalIDList; + DataModel::List externalIDList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -22400,7 +22400,7 @@ namespace Attributes { namespace AcceptsHeaderList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } @@ -22410,7 +22410,7 @@ struct TypeInfo namespace SupportedStreamingTypes { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ContentLauncher::Id; } @@ -22548,7 +22548,7 @@ namespace Attributes { namespace AudioOutputList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::AudioOutput::Id; } @@ -22697,7 +22697,7 @@ namespace Attributes { namespace ApplicationLauncherList { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::ApplicationLauncher::Id; } @@ -23149,10 +23149,10 @@ struct Type uint8_t a; bool b; Structs::SimpleStruct::Type c; - DataModel::List d; - DataModel::List e; - DataModel::List f; - DataModel::List g; + DataModel::List d; + DataModel::List e; + DataModel::List f; + DataModel::List g; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -23180,7 +23180,7 @@ enum class Fields struct Type { public: - DataModel::List a; + DataModel::List a; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -23414,10 +23414,10 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestStructArrayArgumentResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; - DataModel::List arg2; - DataModel::List arg3; - DataModel::List arg4; + DataModel::List arg1; + DataModel::List arg2; + DataModel::List arg3; + DataModel::List arg4; SimpleEnum arg5; bool arg6; @@ -23483,7 +23483,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestListInt8UReverseResponse::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; + DataModel::List arg1; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -23575,10 +23575,10 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestStructArrayArgumentRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; - DataModel::List arg2; - DataModel::List arg3; - DataModel::List arg4; + DataModel::List arg1; + DataModel::List arg2; + DataModel::List arg3; + DataModel::List arg4; SimpleEnum arg5; bool arg6; @@ -23812,7 +23812,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestListStructArgumentRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; + DataModel::List arg1; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -23840,7 +23840,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestListInt8UArgumentRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; + DataModel::List arg1; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -23896,7 +23896,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestListNestedStructListArgumentRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; + DataModel::List arg1; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -23924,7 +23924,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::TestListInt8UReverseRequest::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } - DataModel::List arg1; + DataModel::List arg1; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -24225,7 +24225,7 @@ struct TypeInfo namespace ListInt8u { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } @@ -24235,7 +24235,7 @@ struct TypeInfo namespace ListOctetString { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } @@ -24245,7 +24245,7 @@ struct TypeInfo namespace ListStructOctetString { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } @@ -24369,8 +24369,8 @@ struct Type SimpleEnum arg2; bool arg3; Structs::SimpleStruct::Type arg4; - DataModel::List arg5; - DataModel::List arg6; + DataModel::List arg5; + DataModel::List arg6; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25183,7 +25183,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } chip::BitFlags alertsCount; - DataModel::List> alertStructures; + DataModel::List> alertStructures; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25214,7 +25214,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::ApplianceEventsAndAlert::Id; } chip::BitFlags alertsCount; - DataModel::List> alertStructures; + DataModel::List> alertStructures; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25308,7 +25308,7 @@ struct Type uint32_t timeStamp; uint32_t logId; uint32_t logLength; - DataModel::List logPayload; + DataModel::List logPayload; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25373,7 +25373,7 @@ struct Type uint32_t timeStamp; uint32_t logId; uint32_t logLength; - DataModel::List logPayload; + DataModel::List logPayload; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25430,7 +25430,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } uint8_t logQueueSize; - DataModel::List logIds; + DataModel::List logIds; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25461,7 +25461,7 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::ApplianceStatistics::Id; } uint8_t logQueueSize; - DataModel::List logIds; + DataModel::List logIds; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25544,7 +25544,7 @@ struct Type uint8_t profileCount; uint8_t profileIntervalPeriod; uint8_t maxNumberOfIntervals; - DataModel::List listOfAttributes; + DataModel::List listOfAttributes; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -25609,7 +25609,7 @@ struct Type uint8_t profileIntervalPeriod; uint8_t numberOfIntervalsDelivered; uint16_t attributeId; - DataModel::List intervals; + DataModel::List intervals; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -27139,7 +27139,7 @@ namespace Attributes { namespace Groups { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; } @@ -27149,7 +27149,7 @@ struct TypeInfo namespace GroupKeys { struct TypeInfo { - using Type = DataModel::List; + using Type = DataModel::List; using DecodableType = DataModel::DecodableList; static constexpr ClusterId GetClusterId() { return Clusters::GroupKeyManagement::Id; }