From 2038802e0f5cea7ef1c9617d853c2855d9a60427 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Tue, 14 Feb 2023 11:55:32 -0500 Subject: [PATCH] Align naming in Time Synchronization Cluster XML with the spec. (#25037) * Align naming in Time Synchronization Cluster XML with the spec. More spec changes happened in https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/6212 Fixes https://github.com/project-chip/connectedhomeip/issues/25001 * Regenerate generated code. --- .../chip/time-synchronization-cluster.xml | 10 +-- .../python/chip/clusters/Objects.py | 22 +++--- .../CHIP/templates/MTRClusterConstants.zapt | 8 +++ .../CHIP/templates/availability.yaml | 33 ++++++++- .../CHIP/zap-generated/MTRClusterConstants.h | 6 +- .../CHIP/zap-generated/MTRStructsObjc.h | 25 ++++--- .../CHIP/zap-generated/MTRStructsObjc.mm | 14 ++-- .../zap-generated/cluster-objects.cpp | 12 ++-- .../zap-generated/cluster-objects.h | 30 ++++---- .../app-common/zap-generated/ids/Attributes.h | 4 +- .../zap-generated/cluster/Commands.h | 12 ++-- .../cluster/ComplexArgumentParser.cpp | 70 +++++++++---------- .../cluster/ComplexArgumentParser.h | 12 ++-- .../cluster/logging/DataModelLogger.cpp | 67 +++++++++--------- .../cluster/logging/DataModelLogger.h | 6 +- 15 files changed, 194 insertions(+), 137 deletions(-) diff --git a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml index 5f997a98f68002..3ee77549dae7dd 100644 --- a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml @@ -47,14 +47,14 @@ limitations under the License. - + - + @@ -84,13 +84,13 @@ security materials. - + TimeZone - - DstOffset + + DSTOffset diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 492253ff5815fb..ffb731f8636a5a 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -11001,8 +11001,8 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="timeSource", Tag=0x00000002, Type=typing.Optional[TimeSynchronization.Enums.TimeSourceEnum]), ClusterObjectFieldDescriptor(Label="trustedTimeNodeId", Tag=0x00000003, Type=typing.Union[Nullable, uint]), ClusterObjectFieldDescriptor(Label="defaultNtp", Tag=0x00000004, Type=typing.Union[None, Nullable, str]), - ClusterObjectFieldDescriptor(Label="timeZone", Tag=0x00000005, Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]), - ClusterObjectFieldDescriptor(Label="dstOffset", Tag=0x00000006, Type=typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]), + ClusterObjectFieldDescriptor(Label="timeZone", Tag=0x00000005, Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]), + ClusterObjectFieldDescriptor(Label="DSTOffset", Tag=0x00000006, Type=typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]), ClusterObjectFieldDescriptor(Label="localTime", Tag=0x00000007, Type=typing.Union[None, Nullable, uint]), ClusterObjectFieldDescriptor(Label="timeZoneDatabase", Tag=0x00000008, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="ntpServerPort", Tag=0x00000009, Type=typing.Union[None, Nullable, uint]), @@ -11019,8 +11019,8 @@ def descriptor(cls) -> ClusterObjectDescriptor: timeSource: 'typing.Optional[TimeSynchronization.Enums.TimeSourceEnum]' = None trustedTimeNodeId: 'typing.Union[Nullable, uint]' = None defaultNtp: 'typing.Union[None, Nullable, str]' = None - timeZone: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]' = None - dstOffset: 'typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]' = None + timeZone: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]' = None + DSTOffset: 'typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]' = None localTime: 'typing.Union[None, Nullable, uint]' = None timeZoneDatabase: 'typing.Optional[bool]' = None ntpServerPort: 'typing.Union[None, Nullable, uint]' = None @@ -11072,7 +11072,7 @@ class TimeSourceEnum(MatterIntEnum): class Structs: @dataclass - class DstOffsetType(ClusterObject): + class DSTOffsetStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( @@ -11087,7 +11087,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: validUntil: 'uint' = 0 @dataclass - class TimeZoneType(ClusterObject): + class TimeZoneStruct(ClusterObject): @ChipUtility.classproperty def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( @@ -11218,12 +11218,12 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]) - value: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]' = None + value: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]' = None @dataclass - class DstOffset(ClusterAttributeDescriptor): + class DSTOffset(ClusterAttributeDescriptor): @ChipUtility.classproperty def cluster_id(cls) -> int: return 0x0038 @@ -11234,9 +11234,9 @@ def attribute_id(cls) -> int: @ChipUtility.classproperty def attribute_type(cls) -> ClusterObjectFieldDescriptor: - return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]) + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]) - value: 'typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]' = None + value: 'typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]' = None @dataclass class LocalTime(ClusterAttributeDescriptor): diff --git a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt index dc1a5aa40ba4e7..ca8faae2b0fd82 100644 --- a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt @@ -94,6 +94,14 @@ MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID {{availability (a MTRAttributeIDTypeGlobalAttribute{{asUpperCamelCase label}}ID, {{/if}} {{/unless}} +{{! Anything which has an old name, and the new name was introduced in the "First after major API revamp" release or later + (or just after the "First major API revamp" release, but we don't have a good way to test for that), + we need to generate the new-form id for the old name too, as long as it was not removed. }} +{{#if (and (hasOldName (asUpperCamelCase ../clusterName preserveAcronyms=true) attribute=(asUpperCamelCase label preserveAcronyms=true) isForIds=true) + (not (wasIntroducedBeforeRelease "First after major API revamp" (asUpperCamelCase ../clusterName preserveAcronyms=true) attribute=(asUpperCamelCase label preserveAcronyms=true) isForIds=true)) + (not (wasRemoved (compatClusterNameRemapping ../clusterName) attribute=(compatAttributeNameRemapping ../clusterName label) isForIds=true)))}} +MTRAttributeIDTypeCluster{{compatClusterNameRemapping ../clusterName}}Attribute{{compatAttributeNameRemapping ../clusterName label}}ID {{availability (compatClusterNameRemapping ../clusterName) attribute=(compatAttributeNameRemapping ../clusterName label) isForIds=true minimalRelease="First major API revamp" deprecationMessage=(concat "Please use MTRAttributeIDType" (asUpperCamelCase ../clusterName preserveAcronyms=true) "Attribute" (asUpperCamelCase label preserveAcronyms=true) "ID")}} = MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID, +{{/if}} {{#last}} {{/last}} diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index 9c858aa64f8d74..d197da56df6a20 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -6503,7 +6503,7 @@ HeatSetpointPresent: HeatSetpointFieldPresent CoolSetpointPresent: CoolSetpointFieldPresent -- release: "Future" +- release: "First after major API revamp" versions: "future" introduced: global attributes: @@ -6565,6 +6565,7 @@ - EventList TimeSynchronization: - EventList + - DSTOffset BridgedDeviceBasicInformation: - EventList Switch: @@ -6651,10 +6652,32 @@ - EventList FaultInjection: - EventList + structs: + TimeSynchronization: + - DSTOffsetStruct + - TimeZoneStruct + struct fields: + TimeSynchronization: + DSTOffsetStruct: + - offset + - validStarting + - validUntil + TimeZoneStruct: + - offset + - validAt + - name enum values: DoorLock: LockDataTypeEnum: - FingerVein + deprecated: + attributes: + TimeSynchronization: + - DstOffset + structs: + TimeSynchronization: + - DstOffsetType + - TimeZoneType removed: enum values: DoorLock: @@ -6662,3 +6685,11 @@ # This value never existed for this enum name so, don't start # exposing it. It's exposed for LockDataTypeEnum - FingerVein + renames: + structs: + TimeSynchronization: + DSTOffsetStruct: DstOffsetType + TimeZoneStruct: TimeZoneType + attributes: + TimeSynchronization: + DSTOffset: DstOffset diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h index c4128a91b14da4..2fd6a1105eed8f 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h @@ -2907,7 +2907,7 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) { watchos(9.1, 9.4), tvos(16.1, 16.4)) = 0x00000005, MTRClusterTimeSynchronizationAttributeDstOffsetID API_DEPRECATED( - "Please use MTRAttributeIDTypeClusterTimeSynchronizationAttributeDstOffsetID", ios(16.1, 16.4), macos(13.0, 13.3), + "Please use MTRAttributeIDTypeClusterTimeSynchronizationAttributeDSTOffsetID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) = 0x00000006, MTRClusterTimeSynchronizationAttributeLocalTimeID API_DEPRECATED( @@ -2960,8 +2960,10 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) { = 0x00000004, MTRAttributeIDTypeClusterTimeSynchronizationAttributeTimeZoneID API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000005, + MTRAttributeIDTypeClusterTimeSynchronizationAttributeDSTOffsetID MTR_NEWLY_AVAILABLE = 0x00000006, MTRAttributeIDTypeClusterTimeSynchronizationAttributeDstOffsetID API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) - = 0x00000006, + MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeTimeSynchronizationAttributeDSTOffsetID") + = MTRAttributeIDTypeClusterTimeSynchronizationAttributeDSTOffsetID, MTRAttributeIDTypeClusterTimeSynchronizationAttributeLocalTimeID API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000007, MTRAttributeIDTypeClusterTimeSynchronizationAttributeTimeZoneDatabaseID API_AVAILABLE( diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h index ea7461748adb88..332cff9dafa5d5 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h @@ -473,18 +473,27 @@ API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @property (nonatomic, copy) NSNumber * _Nonnull connectionStatus API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @end +MTR_NEWLY_AVAILABLE +@interface MTRTimeSynchronizationClusterDSTOffsetStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull offset MTR_NEWLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull validStarting MTR_NEWLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull validUntil MTR_NEWLY_AVAILABLE; +@end + API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRTimeSynchronizationClusterDstOffsetType : NSObject -@property (nonatomic, copy) NSNumber * _Nonnull offset API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -@property (nonatomic, copy) NSNumber * _Nonnull validStarting API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -@property (nonatomic, copy) NSNumber * _Nonnull validUntil API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +MTR_NEWLY_DEPRECATED("Please use MTRTimeSynchronizationClusterDSTOffsetStruct") +@interface MTRTimeSynchronizationClusterDstOffsetType : MTRTimeSynchronizationClusterDSTOffsetStruct +@end +MTR_NEWLY_AVAILABLE +@interface MTRTimeSynchronizationClusterTimeZoneStruct : NSObject +@property (nonatomic, copy) NSNumber * _Nonnull offset MTR_NEWLY_AVAILABLE; +@property (nonatomic, copy) NSNumber * _Nonnull validAt MTR_NEWLY_AVAILABLE; +@property (nonatomic, copy) NSString * _Nullable name MTR_NEWLY_AVAILABLE; @end API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRTimeSynchronizationClusterTimeZoneType : NSObject -@property (nonatomic, copy) NSNumber * _Nonnull offset API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -@property (nonatomic, copy) NSNumber * _Nonnull validAt API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -@property (nonatomic, copy) NSString * _Nullable name API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +MTR_NEWLY_DEPRECATED("Please use MTRTimeSynchronizationClusterTimeZoneStruct") +@interface MTRTimeSynchronizationClusterTimeZoneType : MTRTimeSynchronizationClusterTimeZoneStruct @end API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm index 975e505e51ec9f..f1022f235eaede 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm @@ -1811,7 +1811,7 @@ - (NSString *)description @end -@implementation MTRTimeSynchronizationClusterDstOffsetType +@implementation MTRTimeSynchronizationClusterDSTOffsetStruct - (instancetype)init { if (self = [super init]) { @@ -1827,7 +1827,7 @@ - (instancetype)init - (id)copyWithZone:(NSZone * _Nullable)zone { - auto other = [[MTRTimeSynchronizationClusterDstOffsetType alloc] init]; + auto other = [[MTRTimeSynchronizationClusterDSTOffsetStruct alloc] init]; other.offset = self.offset; other.validStarting = self.validStarting; @@ -1845,7 +1845,10 @@ - (NSString *)description @end -@implementation MTRTimeSynchronizationClusterTimeZoneType +@implementation MTRTimeSynchronizationClusterDstOffsetType : MTRTimeSynchronizationClusterDSTOffsetStruct +@end + +@implementation MTRTimeSynchronizationClusterTimeZoneStruct - (instancetype)init { if (self = [super init]) { @@ -1861,7 +1864,7 @@ - (instancetype)init - (id)copyWithZone:(NSZone * _Nullable)zone { - auto other = [[MTRTimeSynchronizationClusterTimeZoneType alloc] init]; + auto other = [[MTRTimeSynchronizationClusterTimeZoneStruct alloc] init]; other.offset = self.offset; other.validAt = self.validAt; @@ -1879,6 +1882,9 @@ - (NSString *)description @end +@implementation MTRTimeSynchronizationClusterTimeZoneType : MTRTimeSynchronizationClusterTimeZoneStruct +@end + @implementation MTRBridgedDeviceBasicInformationClusterStartUpEvent - (instancetype)init { 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 cc23466a7daf79..ee17d980f621ad 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 @@ -8062,7 +8062,7 @@ namespace Events {} // namespace Events } // namespace EthernetNetworkDiagnostics namespace TimeSynchronization { namespace Structs { -namespace DstOffsetType { +namespace DSTOffsetStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; @@ -8109,8 +8109,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace DstOffsetType -namespace TimeZoneType { +} // namespace DSTOffsetStruct +namespace TimeZoneStruct { CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const { TLV::TLVType outer; @@ -8157,7 +8157,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) return CHIP_NO_ERROR; } -} // namespace TimeZoneType +} // namespace TimeZoneStruct } // namespace Structs namespace Commands { @@ -8231,8 +8231,8 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::TimeZone::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, timeZone)); break; - case Attributes::DstOffset::TypeInfo::GetAttributeId(): - ReturnErrorOnFailure(DataModel::Decode(reader, dstOffset)); + case Attributes::DSTOffset::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, DSTOffset)); break; case Attributes::LocalTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, localTime)); 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 f4c85863c63b90..29d35c573d02e5 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 @@ -10254,7 +10254,7 @@ struct TypeInfo } // namespace EthernetNetworkDiagnostics namespace TimeSynchronization { namespace Structs { -namespace DstOffsetType { +namespace DSTOffsetStruct { enum class Fields { kOffset = 0, @@ -10278,8 +10278,8 @@ struct Type using DecodableType = Type; -} // namespace DstOffsetType -namespace TimeZoneType { +} // namespace DSTOffsetStruct +namespace TimeZoneStruct { enum class Fields { kOffset = 0, @@ -10303,7 +10303,7 @@ struct Type using DecodableType = Type; -} // namespace TimeZoneType +} // namespace TimeZoneStruct } // namespace Structs namespace Commands { @@ -10423,31 +10423,31 @@ struct TypeInfo namespace TimeZone { struct TypeInfo { - using Type = chip::app::DataModel::List; + using Type = chip::app::DataModel::List; using DecodableType = - chip::app::DataModel::DecodableList; - using DecodableArgType = - const chip::app::DataModel::DecodableList &; + chip::app::DataModel::DecodableList; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType> &; static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::TimeZone::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace TimeZone -namespace DstOffset { +namespace DSTOffset { struct TypeInfo { - using Type = chip::app::DataModel::List; + using Type = chip::app::DataModel::List; using DecodableType = - chip::app::DataModel::DecodableList; + chip::app::DataModel::DecodableList; using DecodableArgType = const chip::app::DataModel::DecodableList< - chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType> &; + chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType> &; static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; } - static constexpr AttributeId GetAttributeId() { return Attributes::DstOffset::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::DSTOffset::Id; } static constexpr bool MustUseTimedWrite() { return false; } }; -} // namespace DstOffset +} // namespace DSTOffset namespace LocalTime { struct TypeInfo { @@ -10537,7 +10537,7 @@ struct TypeInfo Attributes::TrustedTimeNodeId::TypeInfo::DecodableType trustedTimeNodeId; Attributes::DefaultNtp::TypeInfo::DecodableType defaultNtp; Attributes::TimeZone::TypeInfo::DecodableType timeZone; - Attributes::DstOffset::TypeInfo::DecodableType dstOffset; + Attributes::DSTOffset::TypeInfo::DecodableType DSTOffset; Attributes::LocalTime::TypeInfo::DecodableType localTime; Attributes::TimeZoneDatabase::TypeInfo::DecodableType timeZoneDatabase = static_cast(0); Attributes::NtpServerPort::TypeInfo::DecodableType ntpServerPort; 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 f4b7467e35c34e..62102d5fed1e5f 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 @@ -1822,9 +1822,9 @@ namespace TimeZone { static constexpr AttributeId Id = 0x00000005; } // namespace TimeZone -namespace DstOffset { +namespace DSTOffset { static constexpr AttributeId Id = 0x00000006; -} // namespace DstOffset +} // namespace DSTOffset namespace LocalTime { static constexpr AttributeId Id = 0x00000007; diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 2165b874b21efc..5d743f4ebcbeea 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -2951,7 +2951,7 @@ class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand | * TrustedTimeNodeId | 0x0003 | | * DefaultNtp | 0x0004 | | * TimeZone | 0x0005 | -| * DstOffset | 0x0006 | +| * DSTOffset | 0x0006 | | * LocalTime | 0x0007 | | * TimeZoneDatabase | 0x0008 | | * NtpServerPort | 0x0009 | @@ -11012,7 +11012,7 @@ void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCom make_unique(Id, "trusted-time-node-id", Attributes::TrustedTimeNodeId::Id, credsIssuerConfig), // make_unique(Id, "default-ntp", Attributes::DefaultNtp::Id, credsIssuerConfig), // make_unique(Id, "time-zone", Attributes::TimeZone::Id, credsIssuerConfig), // - make_unique(Id, "dst-offset", Attributes::DstOffset::Id, credsIssuerConfig), // + make_unique(Id, "dstoffset", Attributes::DSTOffset::Id, credsIssuerConfig), // make_unique(Id, "local-time", Attributes::LocalTime::Id, credsIssuerConfig), // make_unique(Id, "time-zone-database", Attributes::TimeZoneDatabase::Id, credsIssuerConfig), // make_unique(Id, "ntp-server-port", Attributes::NtpServerPort::Id, credsIssuerConfig), // @@ -11035,11 +11035,11 @@ void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCom make_unique>>(Id, "default-ntp", Attributes::DefaultNtp::Id, WriteCommandType::kWrite, credsIssuerConfig), // make_unique>>( + chip::app::DataModel::List>>( Id, "time-zone", Attributes::TimeZone::Id, WriteCommandType::kWrite, credsIssuerConfig), // make_unique>>( - Id, "dst-offset", Attributes::DstOffset::Id, WriteCommandType::kWrite, credsIssuerConfig), // + chip::app::DataModel::List>>( + Id, "dstoffset", Attributes::DSTOffset::Id, WriteCommandType::kWrite, credsIssuerConfig), // make_unique>>( Id, "local-time", 0, UINT64_MAX, Attributes::LocalTime::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "time-zone-database", 0, 1, Attributes::TimeZoneDatabase::Id, @@ -11067,7 +11067,7 @@ void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCom make_unique(Id, "trusted-time-node-id", Attributes::TrustedTimeNodeId::Id, credsIssuerConfig), // make_unique(Id, "default-ntp", Attributes::DefaultNtp::Id, credsIssuerConfig), // make_unique(Id, "time-zone", Attributes::TimeZone::Id, credsIssuerConfig), // - make_unique(Id, "dst-offset", Attributes::DstOffset::Id, credsIssuerConfig), // + make_unique(Id, "dstoffset", Attributes::DSTOffset::Id, credsIssuerConfig), // make_unique(Id, "local-time", Attributes::LocalTime::Id, credsIssuerConfig), // make_unique(Id, "time-zone-database", Attributes::TimeZoneDatabase::Id, credsIssuerConfig), // make_unique(Id, "ntp-server-port", Attributes::NtpServerPort::Id, credsIssuerConfig), // diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp index 3127f85e5b9117..2fc35891aafc4a 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp @@ -497,6 +497,37 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::DoorLock::Structs::Cre ComplexArgumentParser::Finalize(request.credentialType); ComplexArgumentParser::Finalize(request.credentialIndex); } +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DSTOffsetStruct.offset", "offset", value.isMember("offset"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DSTOffsetStruct.validStarting", "validStarting", + value.isMember("validStarting"))); + ReturnErrorOnFailure( + ComplexArgumentParser::EnsureMemberExist("DSTOffsetStruct.validUntil", "validUntil", value.isMember("validUntil"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "offset"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.offset, value["offset"])); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validStarting"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validStarting, value["validStarting"])); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validUntil"); + ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validUntil, value["validUntil"])); + + return CHIP_NO_ERROR; +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.offset); + ComplexArgumentParser::Finalize(request.validStarting); + ComplexArgumentParser::Finalize(request.validUntil); +} CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::Type & request, Json::Value & value) @@ -571,37 +602,6 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::UnitTesting::Structs:: { ComplexArgumentParser::Finalize(request.a); } -CHIP_ERROR ComplexArgumentParser::Setup(const char * label, - chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request, - Json::Value & value) -{ - VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); - - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DstOffsetType.offset", "offset", value.isMember("offset"))); - ReturnErrorOnFailure( - ComplexArgumentParser::EnsureMemberExist("DstOffsetType.validStarting", "validStarting", value.isMember("validStarting"))); - ReturnErrorOnFailure( - ComplexArgumentParser::EnsureMemberExist("DstOffsetType.validUntil", "validUntil", value.isMember("validUntil"))); - - char labelWithMember[kMaxLabelLength]; - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "offset"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.offset, value["offset"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validStarting"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validStarting, value["validStarting"])); - - snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validUntil"); - ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validUntil, value["validUntil"])); - - return CHIP_NO_ERROR; -} - -void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request) -{ - ComplexArgumentParser::Finalize(request.offset); - ComplexArgumentParser::Finalize(request.validStarting); - ComplexArgumentParser::Finalize(request.validUntil); -} CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::Actions::Structs::EndpointListStruct::Type & request, Json::Value & value) @@ -2160,13 +2160,13 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::SoftwareDiagnostics::S ComplexArgumentParser::Finalize(request.stackSize); } CHIP_ERROR ComplexArgumentParser::Setup(const char * label, - chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request, + chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request, Json::Value & value) { VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneType.offset", "offset", value.isMember("offset"))); - ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneType.validAt", "validAt", value.isMember("validAt"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneStruct.offset", "offset", value.isMember("offset"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneStruct.validAt", "validAt", value.isMember("validAt"))); char labelWithMember[kMaxLabelLength]; snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "offset"); @@ -2184,7 +2184,7 @@ CHIP_ERROR ComplexArgumentParser::Setup(const char * label, return CHIP_NO_ERROR; } -void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request) +void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request) { ComplexArgumentParser::Finalize(request.offset); ComplexArgumentParser::Finalize(request.validAt); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h index f901a9c4186368..8c0036f996e70c 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h @@ -85,6 +85,10 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::DoorLock::Struc Json::Value & value); static void Finalize(chip::app::Clusters::DoorLock::Structs::CredentialStruct::Type & request); +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request); static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::Type & request, Json::Value & value); @@ -97,10 +101,6 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::UnitTesting::St Json::Value & value); static void Finalize(chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::Type & request); -static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request, - Json::Value & value); - -static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request); static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Actions::Structs::EndpointListStruct::Type & request, Json::Value & value); @@ -248,10 +248,10 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::SoftwareDiagnos Json::Value & value); static void Finalize(chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::Type & request); -static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request, +static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request, Json::Value & value); -static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request); +static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request); static CHIP_ERROR Setup(const char * label, chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::Type & request, Json::Value & value); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp index 0a6e067f515d1f..bbebf782267a3e 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -494,6 +494,39 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("Offset", indent + 1, value.offset); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Offset'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ValidStarting", indent + 1, value.validStarting); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidStarting'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ValidUntil", indent + 1, value.validUntil); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidUntil'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType & value) { @@ -566,38 +599,6 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } -CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType & value) -{ - DataModelLogger::LogString(label, indent, "{"); - { - CHIP_ERROR err = LogValue("Offset", indent + 1, value.offset); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Offset'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ValidStarting", indent + 1, value.validStarting); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidStarting'"); - return err; - } - } - { - CHIP_ERROR err = LogValue("ValidUntil", indent + 1, value.validUntil); - if (err != CHIP_NO_ERROR) - { - DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidUntil'"); - return err; - } - } - DataModelLogger::LogString(indent, "}"); - - return CHIP_NO_ERROR; -} CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value) { @@ -2313,7 +2314,7 @@ DataModelLogger::LogValue(const char * label, size_t indent, return CHIP_NO_ERROR; } CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::DecodableType & value) + const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType & value) { DataModelLogger::LogString(label, indent, "{"); { diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h index c57766c79a2227..cb1d136ebc92b7 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -50,14 +50,14 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ContentLauncher::Structs::ContentSearchStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value); +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ContentLauncher::Structs::DimensionStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::DecodableType & value); -static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, @@ -134,7 +134,7 @@ LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, - const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::DecodableType & value); + const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType & value); static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::DecodableType & value);