diff --git a/src/app/EventLogging.h b/src/app/EventLogging.h index 6b9f35be83bf86..c85ad77323eed1 100644 --- a/src/app/EventLogging.h +++ b/src/app/EventLogging.h @@ -61,9 +61,14 @@ class EventLogger : public EventLoggingDelegate * @param[out] aEventNumber The event Number if the event was written to the * log, 0 otherwise. The Event number is expected to monotonically increase. * + * TODO: Revisit spec foc nullable fabric index in event. + * * @return CHIP_ERROR CHIP Error Code */ -template ::value, bool> = true> +template ::value && + std::is_same().GetFabricIndex()), FabricIndex>::value, + bool> = true> CHIP_ERROR LogEvent(const T & aEventData, EndpointId aEndpoint, EventNumber & aEventNumber, EventOptions::Type aUrgent = EventOptions::Type::kNotUrgent) { @@ -78,6 +83,24 @@ CHIP_ERROR LogEvent(const T & aEventData, EndpointId aEndpoint, EventNumber & aE return logMgmt.LogEvent(&eventData, eventOptions, aEventNumber); } +template ::value && + std::is_same().GetFabricIndex()), DataModel::Nullable>::value, + bool> = true> +CHIP_ERROR LogEvent(const T & aEventData, EndpointId aEndpoint, EventNumber & aEventNumber, + EventOptions::Type aUrgent = EventOptions::Type::kNotUrgent) +{ + EventLogger eventData(aEventData); + ConcreteEventPath path(aEndpoint, aEventData.GetClusterId(), aEventData.GetEventId()); + EventManagement & logMgmt = chip::app::EventManagement::GetInstance(); + EventOptions eventOptions; + eventOptions.mUrgent = aUrgent; + eventOptions.mPath = path; + eventOptions.mPriority = aEventData.GetPriorityLevel(); + eventOptions.mFabricIndex = aEventData.GetFabricIndex().IsNull() ? kUndefinedFabricIndex : aEventData.GetFabricIndex().Value(); + return logMgmt.LogEvent(&eventData, eventOptions, aEventNumber); +} + template ::value, bool> = true> CHIP_ERROR LogEvent(const T & aEventData, EndpointId aEndpoint, EventNumber & aEventNumber, EventOptions::Type aUrgent = EventOptions::Type::kNotUrgent) diff --git a/src/app/clusters/access-control-server/access-control-server.cpp b/src/app/clusters/access-control-server/access-control-server.cpp index db62b2aa1a0d56..bb50d88c2cfb2b 100644 --- a/src/app/clusters/access-control-server/access-control-server.cpp +++ b/src/app/clusters/access-control-server/access-control-server.cpp @@ -272,14 +272,14 @@ struct AccessControlEntryCodec return CHIP_NO_ERROR; } - bool MatchesFabricIndex(FabricIndex fabricIndex) const + static constexpr bool kIsFabricScoped = true; + + auto GetFabricIndex() const { - FabricIndex entryFabricIndex; - if (entry.GetFabricIndex(entryFabricIndex) == CHIP_NO_ERROR) - { - return fabricIndex == entryFabricIndex; - } - return false; + FabricIndex fabricIndex = kUndefinedFabricIndex; + // Ignore the error value + entry.GetFabricIndex(fabricIndex); + return fabricIndex; } AccessControl::Entry entry; diff --git a/src/app/clusters/group-key-mgmt-server/group-key-mgmt-server.cpp b/src/app/clusters/group-key-mgmt-server/group-key-mgmt-server.cpp index b29db7c1df686b..0ec8ebbbcf48d1 100644 --- a/src/app/clusters/group-key-mgmt-server/group-key-mgmt-server.cpp +++ b/src/app/clusters/group-key-mgmt-server/group-key-mgmt-server.cpp @@ -67,6 +67,10 @@ struct GroupTableCodec mProvider(provider), mFabric(fabric_index), mInfo(info) {} + static constexpr bool kIsFabricScoped = true; + + auto GetFabricIndex() const { return mFabric; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; diff --git a/src/app/data-model/BasicTypes.h b/src/app/data-model/BasicTypes.h new file mode 100644 index 00000000000000..f2a732153dd946 --- /dev/null +++ b/src/app/data-model/BasicTypes.h @@ -0,0 +1,60 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +#include + +namespace chip { +namespace app { +namespace DataModel { + +/** + * IsBasicType checks whether the given type can be encoded into TLV as a single value. numeric values, as well as bitmaps, char + * strings and octet strings are basic types, see spec 7.18.1. + */ +template +struct IsBasicType +{ + static constexpr bool value = std::is_integral::value || std::is_floating_point::value || std::is_enum::value; +}; + +template +struct IsBasicType> +{ + static constexpr bool value = true; +}; + +template <> +struct IsBasicType +{ + static constexpr bool value = true; +}; + +template <> +struct IsBasicType +{ + static constexpr bool value = true; +}; + +} // namespace DataModel +} // namespace app +} // namespace chip diff --git a/src/app/data-model/FabricScoped.h b/src/app/data-model/FabricScoped.h index 960d1e74734885..0995736089f1a8 100644 --- a/src/app/data-model/FabricScoped.h +++ b/src/app/data-model/FabricScoped.h @@ -1,6 +1,6 @@ /* * - * Copyright (c) 2021 Project CHIP Authors + * Copyright (c) 2022 Project CHIP Authors * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,31 +18,39 @@ #pragma once -#include +#include + #include namespace chip { namespace app { namespace DataModel { -/* - * Check whether a cluster object struct is fabric scoped. - * A fabric scoped struct contains a field of "FabricIndex" type, however, we cannot tell the difference between that field and - * other uint8_t fields. Thus we add a GetFabricIndex member function for getting the fabric id. Here, IsFabricScoped checks the - * presence of GetFabricIndex function. This template can be used with std::enable_if. +/** + * IsFabricScoped checks whether the given type is fabric scoped. Non-basic types (i.e. cluster objects), should provide a + * static constexpr indicating whether the type is a fabric scoped struct, and basic types will never be fabric scoped. + * + * Using IsFabricScoped::value without a basic type or cluster object with kIsFabricScoped will cause a compile error. This is + * an intended behavior to make users explicitly decide whether their cluster object is fabric-scoped or not. */ -template +template class IsFabricScoped { private: - template - static auto TestHasFabricIndex(int) -> TemplatedTrueType; + template ::kIsFabricScoped) = true> + static constexpr bool IsFabricScopedClusterObject() + { + return std::decay_t::kIsFabricScoped; + } - template - static auto TestHasFabricIndex(long) -> std::false_type; + template >::value, bool> = true> + static constexpr bool IsFabricScopedClusterObject() + { + return false; + } public: - static constexpr bool value = decltype(TestHasFabricIndex>(0))::value; + static constexpr bool value = IsFabricScopedClusterObject(); }; } // namespace DataModel diff --git a/src/app/zap-templates/partials/cluster-objects-struct.zapt b/src/app/zap-templates/partials/cluster-objects-struct.zapt index 2ce3270f147f28..7ae7e76522eda5 100644 --- a/src/app/zap-templates/partials/cluster-objects-struct.zapt +++ b/src/app/zap-templates/partials/cluster-objects-struct.zapt @@ -16,6 +16,9 @@ namespace {{asUpperCamelCase name}} { {{#unless struct_contains_array}} CHIP_ERROR Decode(TLV::TLVReader &reader); {{/unless}} + + static constexpr bool kIsFabricScoped = {{struct_is_fabric_scoped}}; + {{#if struct_is_fabric_scoped}} auto GetFabricIndex() const { return {{ asLowerCamelCase struct_fabric_idx_field }}; @@ -30,6 +33,14 @@ namespace {{asUpperCamelCase name}} { {{zapTypeToDecodableClusterObjectType type}} {{asLowerCamelCase label}}{{> cluster_objects_field_init}}; {{/zcl_struct_items}} CHIP_ERROR Decode(TLV::TLVReader &reader); + + static constexpr bool kIsFabricScoped = {{struct_is_fabric_scoped}}; + + {{#if struct_is_fabric_scoped}} + auto GetFabricIndex() const { + return {{ asLowerCamelCase struct_fabric_idx_field }}; + } + {{/if}} }; {{else}} using DecodableType = Type; diff --git a/src/app/zap-templates/templates/app/cluster-objects.zapt b/src/app/zap-templates/templates/app/cluster-objects.zapt index 861648766eb5b6..5e1bd2be360b96 100644 --- a/src/app/zap-templates/templates/app/cluster-objects.zapt +++ b/src/app/zap-templates/templates/app/cluster-objects.zapt @@ -208,17 +208,16 @@ public: static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::{{asUpperCamelCase name}}::Id; } static constexpr ClusterId GetClusterId() { return Clusters::{{asUpperCamelCase parent.name}}::Id; } + static constexpr bool kIsFabricScoped = {{event_is_fabric_scoped}}; {{#zcl_event_fields}} {{zapTypeToEncodableClusterObjectType type}} {{asLowerCamelCase name}}{{> cluster_objects_field_init}}; {{/zcl_event_fields}} {{#if event_is_fabric_scoped}} - {{#unless event_is_fabric_index_nullable}} auto GetFabricIndex() const { return {{ asLowerCamelCase event_fabric_idx_field }}; } - {{/unless}} {{/if}} CHIP_ERROR Encode(TLV::TLVWriter &writer, TLV::Tag tag) const; 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 ac18c3c41004e2..26488b271389b4 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 @@ -56,6 +56,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -1809,6 +1811,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -4557,6 +4561,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -4577,6 +4583,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -4605,6 +4613,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -6131,6 +6141,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -6444,6 +6456,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -6469,6 +6483,9 @@ struct Type DataModel::Nullable> targets; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -6481,6 +6498,10 @@ struct DecodableType DataModel::Nullable> subjects; DataModel::Nullable> targets; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + + auto GetFabricIndex() const { return fabricIndex; } }; } // namespace AccessControlEntry @@ -6499,6 +6520,9 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -6609,6 +6633,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::AccessControlEntryChanged::Id; } static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr bool kIsFabricScoped = true; chip::FabricIndex adminFabricIndex = static_cast(0); DataModel::Nullable adminNodeID; @@ -6655,6 +6680,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::AccessControlExtensionChanged::Id; } static constexpr ClusterId GetClusterId() { return Clusters::AccessControl::Id; } + static constexpr bool kIsFabricScoped = true; chip::FabricIndex adminFabricIndex = static_cast(0); DataModel::Nullable adminNodeID; @@ -7095,6 +7121,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -7118,6 +7146,8 @@ struct Type DataModel::List endpoints; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -7128,6 +7158,8 @@ struct DecodableType EndpointListTypeEnum type = static_cast(0); DataModel::DecodableList endpoints; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace EndpointListStruct @@ -7750,6 +7782,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::StateChanged::Id; } static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr bool kIsFabricScoped = false; uint16_t actionID = static_cast(0); uint32_t invokeID = static_cast(0); @@ -7789,6 +7822,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ActionFailed::Id; } static constexpr ClusterId GetClusterId() { return Clusters::BridgedActions::Id; } + static constexpr bool kIsFabricScoped = false; uint16_t actionID = static_cast(0); uint32_t invokeID = static_cast(0); @@ -8185,6 +8219,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::StartUp::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; uint32_t softwareVersion = static_cast(0); @@ -8216,6 +8251,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ShutDown::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -8243,6 +8279,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::Leave::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -8271,6 +8308,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ReachableChanged::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; } + static constexpr bool kIsFabricScoped = false; bool reachableNewValue = static_cast(0); @@ -8663,6 +8701,9 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -8854,6 +8895,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::StateTransition::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr bool kIsFabricScoped = false; DataModel::Nullable previousState; OTAUpdateStateEnum newState = static_cast(0); @@ -8893,6 +8935,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::VersionApplied::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr bool kIsFabricScoped = false; uint32_t softwareVersion = static_cast(0); uint16_t productID = static_cast(0); @@ -8930,6 +8973,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::DownloadError::Id; } static constexpr ClusterId GetClusterId() { return Clusters::OtaSoftwareUpdateRequestor::Id; } + static constexpr bool kIsFabricScoped = false; uint32_t softwareVersion = static_cast(0); uint64_t bytesDownloaded = static_cast(0); @@ -9402,6 +9446,8 @@ struct Type DataModel::List previous; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -9410,6 +9456,8 @@ struct DecodableType DataModel::DecodableList current; DataModel::DecodableList previous; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace BatChargeFaultChangeType @@ -9427,6 +9475,8 @@ struct Type DataModel::List previous; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -9435,6 +9485,8 @@ struct DecodableType DataModel::DecodableList current; DataModel::DecodableList previous; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace BatFaultChangeType @@ -9452,6 +9504,8 @@ struct Type DataModel::List previous; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -9460,6 +9514,8 @@ struct DecodableType DataModel::DecodableList current; DataModel::DecodableList previous; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace WiredFaultChangeType @@ -9957,6 +10013,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -10375,6 +10433,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -10407,6 +10467,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -10435,6 +10497,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11272,6 +11336,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11454,6 +11520,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::HardwareFaultChange::Id; } static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; DataModel::List current; DataModel::List previous; @@ -11489,6 +11556,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::RadioFaultChange::Id; } static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; DataModel::List current; DataModel::List previous; @@ -11524,6 +11592,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::NetworkFaultChange::Id; } static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; DataModel::List current; DataModel::List previous; @@ -11558,6 +11627,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::BootReason::Id; } static constexpr ClusterId GetClusterId() { return Clusters::GeneralDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; BootReasonType bootReason = static_cast(0); @@ -11598,6 +11668,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11624,6 +11696,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11794,6 +11868,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SoftwareFault::Id; } static constexpr ClusterId GetClusterId() { return Clusters::SoftwareDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; Structs::SoftwareFaultStruct::Type softwareFault; @@ -11887,6 +11962,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11927,6 +12004,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11963,6 +12042,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -11983,6 +12064,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -12932,6 +13015,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } static constexpr ClusterId GetClusterId() { return Clusters::ThreadNetworkDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; ThreadConnectionStatus connectionStatus = static_cast(0); @@ -13279,6 +13363,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::Disconnection::Id; } static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; uint16_t reasonCode = static_cast(0); @@ -13312,6 +13397,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::AssociationFailure::Id; } static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; AssociationFailureCause associationFailure = static_cast(0); uint16_t status = static_cast(0); @@ -13346,6 +13432,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ConnectionStatus::Id; } static constexpr ClusterId GetClusterId() { return Clusters::WiFiNetworkDiagnostics::Id; } + static constexpr bool kIsFabricScoped = false; WiFiConnectionStatus connectionStatus = static_cast(0); @@ -14167,6 +14254,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SwitchLatched::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t newPosition = static_cast(0); @@ -14199,6 +14287,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::InitialPress::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t newPosition = static_cast(0); @@ -14231,6 +14320,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::LongPress::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t newPosition = static_cast(0); @@ -14263,6 +14353,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ShortRelease::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t previousPosition = static_cast(0); @@ -14295,6 +14386,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::LongRelease::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t previousPosition = static_cast(0); @@ -14328,6 +14420,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::MultiPressOngoing::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t newPosition = static_cast(0); uint8_t currentNumberOfPressesCounted = static_cast(0); @@ -14363,6 +14456,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::MultiPressComplete::Id; } static constexpr ClusterId GetClusterId() { return Clusters::Switch::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t newPosition = static_cast(0); uint8_t totalNumberOfPressesCounted = static_cast(0); @@ -14676,6 +14770,9 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -14699,6 +14796,9 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -15386,6 +15486,8 @@ struct Type chip::CharSpan groupName; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -15396,6 +15498,8 @@ struct DecodableType DataModel::DecodableList endpoints; chip::CharSpan groupName; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace GroupInfo @@ -15416,6 +15520,9 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -15449,6 +15556,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -16195,6 +16304,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::StateChange::Id; } static constexpr ClusterId GetClusterId() { return Clusters::BooleanState::Id; } + static constexpr bool kIsFabricScoped = false; bool stateValue = static_cast(0); @@ -16235,6 +16345,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -16255,6 +16367,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -16972,6 +17086,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -19535,6 +19651,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::DoorLockAlarm::Id; } static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; DlAlarmCode alarmCode = static_cast(0); @@ -19567,6 +19684,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::DoorStateChange::Id; } static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = false; DlDoorState doorState = static_cast(0); @@ -19604,6 +19722,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::LockOperation::Id; } static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = true; DlLockOperationType lockOperationType = static_cast(0); DlOperationSource operationSource = static_cast(0); @@ -19612,6 +19731,8 @@ struct Type DataModel::Nullable sourceNode; Optional>> credentials; + auto GetFabricIndex() const { return fabricIndex; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -19652,6 +19773,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::LockOperationError::Id; } static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = true; DlLockOperationType lockOperationType = static_cast(0); DlOperationSource operationSource = static_cast(0); @@ -19661,6 +19783,8 @@ struct Type DataModel::Nullable sourceNode; Optional>> credentials; + auto GetFabricIndex() const { return fabricIndex; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -19702,6 +19826,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::LockUserChange::Id; } static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } + static constexpr bool kIsFabricScoped = true; DlLockDataType lockDataType = static_cast(0); DlDataOperationType dataOperationType = static_cast(0); @@ -19711,6 +19836,8 @@ struct Type DataModel::Nullable sourceNode; DataModel::Nullable dataIndex; + auto GetFabricIndex() const { return fabricIndex; } + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21070,6 +21197,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SupplyVoltageLow::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21097,6 +21225,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SupplyVoltageHigh::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21124,6 +21253,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::PowerMissingPhase::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21151,6 +21281,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SystemPressureLow::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21178,6 +21309,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SystemPressureHigh::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21205,6 +21337,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::DryRunning::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21232,6 +21365,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::MotorTemperatureHigh::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21259,6 +21393,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::PumpMotorFatalFailure::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21286,6 +21421,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ElectronicTemperatureHigh::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21313,6 +21449,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::PumpBlocked::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21340,6 +21477,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::SensorFailure::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21367,6 +21505,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ElectronicNonFatalFailure::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21394,6 +21533,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::ElectronicFatalFailure::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21421,6 +21561,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::GeneralFault::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21448,6 +21589,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::Leakage::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21475,6 +21617,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::AirDetection::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -21502,6 +21645,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::TurbineOperation::Id; } static constexpr ClusterId GetClusterId() { return Clusters::PumpConfigurationAndControl::Id; } + static constexpr bool kIsFabricScoped = false; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; }; @@ -29541,6 +29685,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -30684,6 +30830,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -30708,6 +30856,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -30996,6 +31146,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -31209,6 +31361,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -31826,6 +31980,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -32469,6 +32625,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -32489,6 +32647,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -32510,6 +32670,8 @@ struct Type DataModel::List externalIDList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -32519,6 +32681,8 @@ struct DecodableType chip::CharSpan value; DataModel::DecodableList externalIDList; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace Parameter @@ -32534,6 +32698,8 @@ struct Type DataModel::List parameterList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -32541,6 +32707,8 @@ struct DecodableType public: DataModel::DecodableList parameterList; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace ContentSearch @@ -32561,6 +32729,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -32589,6 +32759,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -32846,6 +33018,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -33057,6 +33231,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -33077,6 +33253,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -33352,6 +33530,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -33778,6 +33958,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -33817,6 +33999,8 @@ struct Type Optional>> nullableOptionalList; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -33835,6 +34019,8 @@ struct DecodableType Optional> optionalList; Optional>> nullableOptionalList; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace NullablesAndOptionalsStruct @@ -33855,6 +34041,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -33884,6 +34072,8 @@ struct Type DataModel::List g; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -33897,6 +34087,8 @@ struct DecodableType DataModel::DecodableList f; DataModel::DecodableList g; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace NestedStructList @@ -33912,6 +34104,8 @@ struct Type DataModel::List a; CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; + + static constexpr bool kIsFabricScoped = false; }; struct DecodableType @@ -33919,6 +34113,8 @@ struct DecodableType public: DataModel::DecodableList a; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; } // namespace DoubleNestedStructList @@ -33935,6 +34131,9 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = true; + auto GetFabricIndex() const { return fabricIndex; } }; @@ -33956,6 +34155,8 @@ struct Type CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; }; using DecodableType = Type; @@ -36516,6 +36717,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::TestEvent::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } + static constexpr bool kIsFabricScoped = false; uint8_t arg1 = static_cast(0); SimpleEnum arg2 = static_cast(0); @@ -36558,6 +36760,7 @@ struct Type static constexpr PriorityLevel GetPriorityLevel() { return kPriorityLevel; } static constexpr EventId GetEventId() { return Events::TestFabricScopedEvent::Id; } static constexpr ClusterId GetClusterId() { return Clusters::TestCluster::Id; } + static constexpr bool kIsFabricScoped = true; chip::FabricIndex arg1 = static_cast(0);