From 2938473e516aa2c7525b3ae72146e92c0bab6166 Mon Sep 17 00:00:00 2001 From: Cliff Chung <116232729+cliffamzn@users.noreply.github.com> Date: Wed, 12 Jul 2023 13:26:00 -0700 Subject: [PATCH] Adding ReplacementProductList in resource monitoring (#27877) Adding the replacement product list array in the resource monitoring cluster. Fixes issue #27571 Code generation ran with zap_regen_all.py --- .../all-clusters-app.matter | 156 ++ .../chip/resource-monitoring-cluster.xml | 110 ++ .../data_model/controller-clusters.matter | 168 +++ .../devicecontroller/ClusterIDMapping.java | 12 + .../devicecontroller/ClusterReadMapping.java | 132 ++ .../CHIPAttributeTLVValueDecoder.cpp | 599 ++++++++ .../java/zap-generated/CHIPClientCallbacks.h | 48 + .../java/zap-generated/CHIPReadCallbacks.cpp | 1254 ++++++++++++++++- .../chip/devicecontroller/ChipClusters.java | 288 ++++ .../chip/devicecontroller/ChipStructs.java | 324 +++++ .../devicecontroller/ClusterInfoMapping.java | 228 +++ .../python/chip/clusters/CHIPClusters.py | 72 + .../python/chip/clusters/Objects.py | 528 +++++++ .../zap-generated/cluster-enums-check.h | 180 +++ .../app-common/zap-generated/cluster-enums.h | 180 +++ .../zap-generated/cluster-objects.cpp | 588 ++++++++ .../zap-generated/cluster-objects.h | 490 +++++++ .../app-common/zap-generated/ids/Attributes.h | 48 + .../zap-generated/cluster/Commands.h | 576 ++++---- .../cluster/ComplexArgumentParser.cpp | 422 ++++++ .../cluster/ComplexArgumentParser.h | 72 + .../cluster/logging/DataModelLogger.cpp | 396 ++++++ .../cluster/logging/DataModelLogger.h | 46 + 23 files changed, 6644 insertions(+), 273 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index 9e867f1be026a7..97833256a2a446 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -2555,11 +2555,24 @@ server cluster HepaFilterMonitoring = 113 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2585,11 +2598,24 @@ server cluster ActivatedCarbonFilterMonitoring = 114 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2615,11 +2641,24 @@ server cluster CeramicFilterMonitoring = 115 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2645,11 +2684,24 @@ server cluster ElectrostaticFilterMonitoring = 116 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2675,11 +2727,24 @@ server cluster UvFilterMonitoring = 117 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2705,11 +2770,24 @@ server cluster IonizingFilterMonitoring = 118 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2735,11 +2813,24 @@ server cluster ZeoliteFilterMonitoring = 119 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2765,11 +2856,24 @@ server cluster OzoneFilterMonitoring = 120 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2795,11 +2899,24 @@ server cluster WaterTankMonitoring = 121 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2825,11 +2942,24 @@ server cluster FuelTankMonitoring = 122 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2855,11 +2985,24 @@ server cluster InkCartridgeMonitoring = 123 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; @@ -2885,11 +3028,24 @@ server cluster TonerCartridgeMonitoring = 124 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; diff --git a/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml index be08ca18a19f0f..b4776d5c1fb54d 100644 --- a/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml @@ -31,6 +31,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -53,6 +54,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -75,6 +77,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -97,6 +100,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -119,6 +123,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -141,6 +146,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -163,6 +169,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -185,6 +192,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -207,6 +215,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -229,6 +238,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -251,6 +261,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -273,6 +284,7 @@ limitations under the License. ChangeIndication InPlaceIndicator LastChangedTime + ReplacementProductList @@ -333,4 +345,102 @@ limitations under the License. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 94a39300a4910c..5ba5df68dd1129 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -3452,16 +3452,30 @@ client cluster HepaFilterMonitoring = 113 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3486,16 +3500,30 @@ client cluster ActivatedCarbonFilterMonitoring = 114 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3520,16 +3548,30 @@ client cluster CeramicFilterMonitoring = 115 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute percent condition = 0; readonly attribute DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3554,16 +3596,30 @@ client cluster ElectrostaticFilterMonitoring = 116 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3588,16 +3644,30 @@ client cluster UvFilterMonitoring = 117 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3622,16 +3692,30 @@ client cluster IonizingFilterMonitoring = 118 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3656,16 +3740,30 @@ client cluster ZeoliteFilterMonitoring = 119 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3690,16 +3788,30 @@ client cluster OzoneFilterMonitoring = 120 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3724,16 +3836,30 @@ client cluster WaterTankMonitoring = 121 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3758,16 +3884,30 @@ client cluster FuelTankMonitoring = 122 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3792,16 +3932,30 @@ client cluster InkCartridgeMonitoring = 123 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -3826,16 +3980,30 @@ client cluster TonerCartridgeMonitoring = 124 { kDown = 1; } + enum ProductIdentifierTypeEnum : ENUM8 { + kUPC = 0; + kGTIN8 = 1; + kEAN = 2; + kGTIN14 = 3; + kOEM = 4; + } + bitmap Feature : BITMAP32 { kCondition = 0x1; kWarning = 0x2; } + struct ReplacementProductStruct { + ProductIdentifierTypeEnum productIdentifierType = 0; + char_string<20> productIdentifierValue = 1; + } + readonly attribute optional percent condition = 0; readonly attribute optional DegradationDirectionEnum degradationDirection = 1; readonly attribute ChangeIndicationEnum changeIndication = 2; readonly attribute optional boolean inPlaceIndicator = 3; attribute optional nullable epoch_s lastChangedTime = 4; + readonly attribute optional ReplacementProductStruct replacementProductList[] = 5; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java index afa67c32b426df..152df216a22292 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java @@ -7866,6 +7866,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -7972,6 +7973,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8078,6 +8080,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8184,6 +8187,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8290,6 +8294,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8396,6 +8401,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8502,6 +8508,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8608,6 +8615,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8714,6 +8722,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8820,6 +8829,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -8926,6 +8936,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), @@ -9032,6 +9043,7 @@ public enum Attribute { ChangeIndication(2L), InPlaceIndicator(3L), LastChangedTime(4L), + ReplacementProductList(5L), GeneratedCommandList(65528L), AcceptedCommandList(65529L), EventList(65530L), diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java index adb8c1b2db227e..a4e3c7438bedbb 100644 --- a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java +++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java @@ -7671,6 +7671,17 @@ private static Map readHepaFilterMonitoringInteractionI readHepaFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readHepaFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readHepaFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readHepaFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.HepaFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.HepaFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedHepaFilterMonitoringClusterReplacementProductListAttributeCallback(), + readHepaFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readHepaFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readHepaFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readHepaFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -7796,6 +7807,17 @@ private static Map readActivatedCarbonFilterMonitoringI readActivatedCarbonFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readActivatedCarbonFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readActivatedCarbonFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readActivatedCarbonFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ActivatedCarbonFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.ActivatedCarbonFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedActivatedCarbonFilterMonitoringClusterReplacementProductListAttributeCallback(), + readActivatedCarbonFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readActivatedCarbonFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readActivatedCarbonFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readActivatedCarbonFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -7921,6 +7943,17 @@ private static Map readCeramicFilterMonitoringInteracti readCeramicFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readCeramicFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readCeramicFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readCeramicFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.CeramicFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.CeramicFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedCeramicFilterMonitoringClusterReplacementProductListAttributeCallback(), + readCeramicFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readCeramicFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readCeramicFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readCeramicFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8046,6 +8079,17 @@ private static Map readElectrostaticFilterMonitoringInt readElectrostaticFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readElectrostaticFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readElectrostaticFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readElectrostaticFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ElectrostaticFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.ElectrostaticFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedElectrostaticFilterMonitoringClusterReplacementProductListAttributeCallback(), + readElectrostaticFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readElectrostaticFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readElectrostaticFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readElectrostaticFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8171,6 +8215,17 @@ private static Map readUvFilterMonitoringInteractionInf readUvFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readUvFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readUvFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readUvFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.UvFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.UvFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedUvFilterMonitoringClusterReplacementProductListAttributeCallback(), + readUvFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readUvFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readUvFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readUvFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8296,6 +8351,17 @@ private static Map readIonizingFilterMonitoringInteract readIonizingFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readIonizingFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readIonizingFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readIonizingFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.IonizingFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.IonizingFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedIonizingFilterMonitoringClusterReplacementProductListAttributeCallback(), + readIonizingFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readIonizingFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readIonizingFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readIonizingFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8421,6 +8487,17 @@ private static Map readZeoliteFilterMonitoringInteracti readZeoliteFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readZeoliteFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readZeoliteFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readZeoliteFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.ZeoliteFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.ZeoliteFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedZeoliteFilterMonitoringClusterReplacementProductListAttributeCallback(), + readZeoliteFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readZeoliteFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readZeoliteFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readZeoliteFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8546,6 +8623,17 @@ private static Map readOzoneFilterMonitoringInteraction readOzoneFilterMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readOzoneFilterMonitoringLastChangedTimeAttributeInteractionInfo); + Map readOzoneFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readOzoneFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.OzoneFilterMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.OzoneFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedOzoneFilterMonitoringClusterReplacementProductListAttributeCallback(), + readOzoneFilterMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readOzoneFilterMonitoringReplacementProductListAttributeInteractionInfo); Map readOzoneFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readOzoneFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8671,6 +8759,17 @@ private static Map readWaterTankMonitoringInteractionIn readWaterTankMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readWaterTankMonitoringLastChangedTimeAttributeInteractionInfo); + Map readWaterTankMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readWaterTankMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.WaterTankMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.WaterTankMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedWaterTankMonitoringClusterReplacementProductListAttributeCallback(), + readWaterTankMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readWaterTankMonitoringReplacementProductListAttributeInteractionInfo); Map readWaterTankMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readWaterTankMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8796,6 +8895,17 @@ private static Map readFuelTankMonitoringInteractionInf readFuelTankMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readFuelTankMonitoringLastChangedTimeAttributeInteractionInfo); + Map readFuelTankMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readFuelTankMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.FuelTankMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.FuelTankMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedFuelTankMonitoringClusterReplacementProductListAttributeCallback(), + readFuelTankMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readFuelTankMonitoringReplacementProductListAttributeInteractionInfo); Map readFuelTankMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readFuelTankMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -8921,6 +9031,17 @@ private static Map readInkCartridgeMonitoringInteractio readInkCartridgeMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readInkCartridgeMonitoringLastChangedTimeAttributeInteractionInfo); + Map readInkCartridgeMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readInkCartridgeMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.InkCartridgeMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.InkCartridgeMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedInkCartridgeMonitoringClusterReplacementProductListAttributeCallback(), + readInkCartridgeMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readInkCartridgeMonitoringReplacementProductListAttributeInteractionInfo); Map readInkCartridgeMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readInkCartridgeMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { @@ -9046,6 +9167,17 @@ private static Map readTonerCartridgeMonitoringInteract readTonerCartridgeMonitoringLastChangedTimeCommandParams ); result.put("readLastChangedTimeAttribute", readTonerCartridgeMonitoringLastChangedTimeAttributeInteractionInfo); + Map readTonerCartridgeMonitoringReplacementProductListCommandParams = new LinkedHashMap(); + InteractionInfo readTonerCartridgeMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.TonerCartridgeMonitoringCluster) cluster).readReplacementProductListAttribute( + (ChipClusters.TonerCartridgeMonitoringCluster.ReplacementProductListAttributeCallback) callback + ); + }, + () -> new ClusterInfoMapping.DelegatedTonerCartridgeMonitoringClusterReplacementProductListAttributeCallback(), + readTonerCartridgeMonitoringReplacementProductListCommandParams + ); + result.put("readReplacementProductListAttribute", readTonerCartridgeMonitoringReplacementProductListAttributeInteractionInfo); Map readTonerCartridgeMonitoringGeneratedCommandListCommandParams = new LinkedHashMap(); InteractionInfo readTonerCartridgeMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo( (cluster, callback, commandArguments) -> { diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp index dad2a4e637783c..f1813681f553ba 100644 --- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp @@ -15830,6 +15830,55 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -16048,6 +16097,58 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, + "Could not find class ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError( + Zcl, + "Could not find ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -16266,6 +16367,56 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -16484,6 +16635,57 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, + "Could not find class ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError( + Zcl, "Could not find ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -16702,6 +16904,55 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$UvFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$UvFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$UvFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -16920,6 +17171,56 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -17138,6 +17439,56 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -17356,6 +17707,56 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -17574,6 +17975,55 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$WaterTankMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$WaterTankMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$WaterTankMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -17792,6 +18242,55 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$FuelTankMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$FuelTankMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$FuelTankMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -18010,6 +18509,56 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; @@ -18228,6 +18777,56 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR } return value; } + case Attributes::ReplacementProductList::Id: { + using TypeInfo = Attributes::ReplacementProductList::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + chip::JniReferences::GetInstance().CreateArrayList(value); + + auto iter_value_0 = cppValue.begin(); + while (iter_value_0.Next()) + { + auto & entry_0 = iter_value_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct"); + return nullptr; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct constructor"); + return nullptr; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(value, newElement_0); + } + return value; + } case Attributes::GeneratedCommandList::Id: { using TypeInfo = Attributes::GeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; diff --git a/src/controller/java/zap-generated/CHIPClientCallbacks.h b/src/controller/java/zap-generated/CHIPClientCallbacks.h index 07f71ec192639c..e0cbc95d113571 100644 --- a/src/controller/java/zap-generated/CHIPClientCallbacks.h +++ b/src/controller/java/zap-generated/CHIPClientCallbacks.h @@ -616,6 +616,10 @@ typedef void (*RvcOperationalStateEventListListAttributeCallback)(void * context const chip::app::DataModel::DecodableList & data); typedef void (*RvcOperationalStateAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*HepaFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*HepaFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*HepaFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -624,6 +628,10 @@ typedef void (*HepaFilterMonitoringEventListListAttributeCallback)(void * contex const chip::app::DataModel::DecodableList & data); typedef void (*HepaFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*ActivatedCarbonFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*ActivatedCarbonFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*ActivatedCarbonFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -632,6 +640,10 @@ typedef void (*ActivatedCarbonFilterMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*ActivatedCarbonFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*CeramicFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*CeramicFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*CeramicFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -640,6 +652,10 @@ typedef void (*CeramicFilterMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*CeramicFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*ElectrostaticFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*ElectrostaticFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*ElectrostaticFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -648,6 +664,10 @@ typedef void (*ElectrostaticFilterMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*ElectrostaticFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*UvFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*UvFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*UvFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -656,6 +676,10 @@ typedef void (*UvFilterMonitoringEventListListAttributeCallback)(void * context, const chip::app::DataModel::DecodableList & data); typedef void (*UvFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*IonizingFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*IonizingFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*IonizingFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -664,6 +688,10 @@ typedef void (*IonizingFilterMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*IonizingFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*ZeoliteFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*ZeoliteFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*ZeoliteFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -672,6 +700,10 @@ typedef void (*ZeoliteFilterMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*ZeoliteFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*OzoneFilterMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*OzoneFilterMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*OzoneFilterMonitoringAcceptedCommandListListAttributeCallback)( @@ -680,6 +712,10 @@ typedef void (*OzoneFilterMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*OzoneFilterMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*WaterTankMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*WaterTankMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*WaterTankMonitoringAcceptedCommandListListAttributeCallback)( @@ -688,6 +724,10 @@ typedef void (*WaterTankMonitoringEventListListAttributeCallback)(void * context const chip::app::DataModel::DecodableList & data); typedef void (*WaterTankMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*FuelTankMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*FuelTankMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*FuelTankMonitoringAcceptedCommandListListAttributeCallback)( @@ -696,6 +736,10 @@ typedef void (*FuelTankMonitoringEventListListAttributeCallback)(void * context, const chip::app::DataModel::DecodableList & data); typedef void (*FuelTankMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*InkCartridgeMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*InkCartridgeMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*InkCartridgeMonitoringAcceptedCommandListListAttributeCallback)( @@ -704,6 +748,10 @@ typedef void (*InkCartridgeMonitoringEventListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*InkCartridgeMonitoringAttributeListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); +typedef void (*TonerCartridgeMonitoringReplacementProductListListAttributeCallback)( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & data); typedef void (*TonerCartridgeMonitoringGeneratedCommandListListAttributeCallback)( void * context, const chip::app::DataModel::DecodableList & data); typedef void (*TonerCartridgeMonitoringAcceptedCommandListListAttributeCallback)( diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp index bf73f478d44a3e..9bdd599ecef5d8 100644 --- a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp +++ b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp @@ -25644,6 +25644,104 @@ void CHIPHepaFilterMonitoringLastChangedTimeAttributeCallback::CallbackFn(void * env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPHepaFilterMonitoringReplacementProductListAttributeCallback::CHIPHepaFilterMonitoringReplacementProductListAttributeCallback( + jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPHepaFilterMonitoringReplacementProductListAttributeCallback::~CHIPHepaFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPHepaFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPHepaFilterMonitoringGeneratedCommandListAttributeCallback::CHIPHepaFilterMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -25996,6 +26094,108 @@ void CHIPActivatedCarbonFilterMonitoringLastChangedTimeAttributeCallback::Callba env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback:: + CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, + this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback:: + ~CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr + cppCallback(reinterpret_cast(context), + maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPActivatedCarbonFilterMonitoringGeneratedCommandListAttributeCallback:: CHIPActivatedCarbonFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -26350,6 +26550,105 @@ void CHIPCeramicFilterMonitoringLastChangedTimeAttributeCallback::CallbackFn(voi env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback:: + CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback:: + ~CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPCeramicFilterMonitoringGeneratedCommandListAttributeCallback::CHIPCeramicFilterMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -26703,9 +27002,9 @@ void CHIPElectrostaticFilterMonitoringLastChangedTimeAttributeCallback::Callback env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } -CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback:: - CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : - chip::Callback::Callback(CallbackFn, this), +CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback:: + CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), keepAlive(keepAlive) { JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); @@ -26722,8 +27021,8 @@ CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback:: } } -CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback:: - ~CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback() +CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback:: + ~CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback() { JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) @@ -26734,8 +27033,10 @@ CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback:: env->DeleteGlobalRef(javaCallbackRef); } -void CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback::CallbackFn( - void * context, const chip::app::DataModel::DecodableList & list) +void CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) { chip::DeviceLayer::StackUnlock unlock; CHIP_ERROR err = CHIP_NO_ERROR; @@ -26744,8 +27045,8 @@ void CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback::Cal VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); - std::unique_ptr cppCallback( - reinterpret_cast(context), maybeDestroy); + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. javaCallbackRef = cppCallback.get()->javaCallbackRef; @@ -26764,10 +27065,36 @@ void CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback::Cal { auto & entry_0 = iter_arrayListObj_0.GetValue(); jobject newElement_0; - std::string newElement_0ClassName = "java/lang/Long"; - std::string newElement_0CtorSignature = "(J)V"; - chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0ClassName.c_str(), - newElement_0CtorSignature.c_str(), entry_0, newElement_0); + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, + "Could not find ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); } @@ -26775,9 +27102,9 @@ void CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback::Cal env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); } -CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback:: - CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : - chip::Callback::Callback(CallbackFn, this), +CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback:: + CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), keepAlive(keepAlive) { JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); @@ -26794,9 +27121,81 @@ CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback:: } } -CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback:: - ~CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback() -{ +CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback:: + ~CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback::CallbackFn( + void * context, const chip::app::DataModel::DecodableList & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + std::string newElement_0ClassName = "java/lang/Long"; + std::string newElement_0CtorSignature = "(J)V"; + chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0ClassName.c_str(), + newElement_0CtorSignature.c_str(), entry_0, newElement_0); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + +CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback:: + CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback:: + ~CHIPElectrostaticFilterMonitoringAcceptedCommandListAttributeCallback() +{ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); if (env == nullptr) { @@ -27056,6 +27455,104 @@ void CHIPUvFilterMonitoringLastChangedTimeAttributeCallback::CallbackFn(void * c env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPUvFilterMonitoringReplacementProductListAttributeCallback::CHIPUvFilterMonitoringReplacementProductListAttributeCallback( + jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPUvFilterMonitoringReplacementProductListAttributeCallback::~CHIPUvFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPUvFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$UvFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$UvFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$UvFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPUvFilterMonitoringGeneratedCommandListAttributeCallback::CHIPUvFilterMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -27407,6 +27904,105 @@ void CHIPIonizingFilterMonitoringLastChangedTimeAttributeCallback::CallbackFn( env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback:: + CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback:: + ~CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPIonizingFilterMonitoringGeneratedCommandListAttributeCallback:: CHIPIonizingFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -27760,6 +28356,105 @@ void CHIPZeoliteFilterMonitoringLastChangedTimeAttributeCallback::CallbackFn(voi env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback:: + CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback:: + ~CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPZeoliteFilterMonitoringGeneratedCommandListAttributeCallback::CHIPZeoliteFilterMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -28112,6 +28807,105 @@ void CHIPOzoneFilterMonitoringLastChangedTimeAttributeCallback::CallbackFn(void env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback::CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback( + jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback:: + ~CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPOzoneFilterMonitoringGeneratedCommandListAttributeCallback::CHIPOzoneFilterMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -28435,8 +29229,78 @@ void CHIPWaterTankMonitoringLastChangedTimeAttributeCallback::CallbackFn(void * jobject javaCallbackRef; VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); - std::unique_ptr cppCallback( - reinterpret_cast(context), maybeDestroy); + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/Long;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject javaValue; + if (value.IsNull()) + { + javaValue = nullptr; + } + else + { + std::string javaValueClassName = "java/lang/Long"; + std::string javaValueCtorSignature = "(J)V"; + chip::JniReferences::GetInstance().CreateBoxedObject(javaValueClassName.c_str(), javaValueCtorSignature.c_str(), + value.Value(), javaValue); + } + + env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); +} + +CHIPWaterTankMonitoringReplacementProductListAttributeCallback::CHIPWaterTankMonitoringReplacementProductListAttributeCallback( + jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPWaterTankMonitoringReplacementProductListAttributeCallback::~CHIPWaterTankMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPWaterTankMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. javaCallbackRef = cppCallback.get()->javaCallbackRef; @@ -28444,23 +29308,51 @@ void CHIPWaterTankMonitoringLastChangedTimeAttributeCallback::CallbackFn(void * ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); jmethodID javaMethod; - err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/Long;)V", &javaMethod); + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); - jobject javaValue; - if (value.IsNull()) - { - javaValue = nullptr; - } - else + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) { - std::string javaValueClassName = "java/lang/Long"; - std::string javaValueCtorSignature = "(J)V"; - chip::JniReferences::GetInstance().CreateBoxedObject(javaValueClassName.c_str(), javaValueCtorSignature.c_str(), - value.Value(), javaValue); + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$WaterTankMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$WaterTankMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$WaterTankMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); } - env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); } CHIPWaterTankMonitoringGeneratedCommandListAttributeCallback::CHIPWaterTankMonitoringGeneratedCommandListAttributeCallback( @@ -28814,6 +29706,104 @@ void CHIPFuelTankMonitoringLastChangedTimeAttributeCallback::CallbackFn(void * c env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPFuelTankMonitoringReplacementProductListAttributeCallback::CHIPFuelTankMonitoringReplacementProductListAttributeCallback( + jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPFuelTankMonitoringReplacementProductListAttributeCallback::~CHIPFuelTankMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPFuelTankMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$FuelTankMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$FuelTankMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$FuelTankMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPFuelTankMonitoringGeneratedCommandListAttributeCallback::CHIPFuelTankMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -29165,6 +30155,105 @@ void CHIPInkCartridgeMonitoringLastChangedTimeAttributeCallback::CallbackFn(void env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback:: + CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback:: + ~CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPInkCartridgeMonitoringGeneratedCommandListAttributeCallback::CHIPInkCartridgeMonitoringGeneratedCommandListAttributeCallback( jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), @@ -29516,6 +30605,105 @@ void CHIPTonerCartridgeMonitoringLastChangedTimeAttributeCallback::CallbackFn( env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); } +CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback:: + CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback:: + ~CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback::CallbackFn( + void * context, + const chip::app::DataModel::DecodableList< + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & list) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject arrayListObj; + chip::JniReferences::GetInstance().CreateArrayList(arrayListObj); + + auto iter_arrayListObj_0 = list.begin(); + while (iter_arrayListObj_0.Next()) + { + auto & entry_0 = iter_arrayListObj_0.GetValue(); + jobject newElement_0; + jobject newElement_0_productIdentifierType; + std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer"; + std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject( + newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(), + static_cast(entry_0.productIdentifierType), newElement_0_productIdentifierType); + jobject newElement_0_productIdentifierValue; + LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue, + newElement_0_productIdentifierValue)); + + jclass replacementProductStructStructClass_1; + err = chip::JniReferences::GetInstance().GetClassRef( + env, "chip/devicecontroller/ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct", + replacementProductStructStructClass_1); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Zcl, "Could not find class ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct"); + return; + } + jmethodID replacementProductStructStructCtor_1 = + env->GetMethodID(replacementProductStructStructClass_1, "", "(Ljava/lang/Integer;Ljava/lang/String;)V"); + if (replacementProductStructStructCtor_1 == nullptr) + { + ChipLogError(Zcl, "Could not find ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct constructor"); + return; + } + + newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1, + newElement_0_productIdentifierType, newElement_0_productIdentifierValue); + chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0); + } + + env->ExceptionClear(); + env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); +} + CHIPTonerCartridgeMonitoringGeneratedCommandListAttributeCallback:: CHIPTonerCartridgeMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java index 5dea415eeb6131..2faf941fc46051 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java @@ -17380,6 +17380,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -17468,6 +17473,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -17577,6 +17594,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -17649,6 +17673,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -17737,6 +17766,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -17846,6 +17887,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -17918,6 +17966,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -18006,6 +18059,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -18115,6 +18180,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -18187,6 +18259,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -18275,6 +18352,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -18384,6 +18473,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -18456,6 +18552,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -18544,6 +18645,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -18653,6 +18766,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -18725,6 +18845,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -18813,6 +18938,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -18922,6 +19059,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -18994,6 +19138,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -19082,6 +19231,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -19191,6 +19352,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -19263,6 +19431,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -19351,6 +19524,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -19460,6 +19645,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -19532,6 +19724,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -19620,6 +19817,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -19729,6 +19938,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -19801,6 +20017,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -19889,6 +20110,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -19998,6 +20231,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -20070,6 +20310,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -20158,6 +20403,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -20267,6 +20524,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); @@ -20339,6 +20603,11 @@ public interface LastChangedTimeAttributeCallback { void onError(Exception ex); default void onSubscriptionEstablished(long subscriptionId) {} } + public interface ReplacementProductListAttributeCallback { + void onSuccess( List valueList); + void onError(Exception ex); + default void onSubscriptionEstablished(long subscriptionId) {} + } public interface GeneratedCommandListAttributeCallback { void onSuccess( List valueList); void onError(Exception ex); @@ -20427,6 +20696,18 @@ public void subscribeLastChangedTimeAttribute( subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + ) { + readReplacementProductListAttribute(chipClusterPtr, callback); + } + public void subscribeReplacementProductListAttribute( + ReplacementProductListAttributeCallback callback + , + int minInterval, int maxInterval) { + subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readGeneratedCommandListAttribute( GeneratedCommandListAttributeCallback callback ) { @@ -20536,6 +20817,13 @@ private native void subscribeLastChangedTimeAttribute(long chipClusterPtr, LastChangedTimeAttributeCallback callback , int minInterval, int maxInterval); + private native void readReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + ); + private native void subscribeReplacementProductListAttribute(long chipClusterPtr, + ReplacementProductListAttributeCallback callback + , int minInterval, int maxInterval); + private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback ); diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java index e8d9aab805a04f..e6875c0df4eea4 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java @@ -2022,6 +2022,330 @@ public String toString() { } } +public static class HepaFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public HepaFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("HepaFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class ActivatedCarbonFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public ActivatedCarbonFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("ActivatedCarbonFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class CeramicFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public CeramicFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("CeramicFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class ElectrostaticFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public ElectrostaticFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("ElectrostaticFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class UvFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public UvFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("UvFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class IonizingFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public IonizingFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("IonizingFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class ZeoliteFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public ZeoliteFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("ZeoliteFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class OzoneFilterMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public OzoneFilterMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("OzoneFilterMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class WaterTankMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public WaterTankMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("WaterTankMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class FuelTankMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public FuelTankMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("FuelTankMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class InkCartridgeMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public InkCartridgeMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("InkCartridgeMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + +public static class TonerCartridgeMonitoringClusterReplacementProductStruct { +public Integer productIdentifierType; +public String productIdentifierValue; + + public TonerCartridgeMonitoringClusterReplacementProductStruct( + Integer productIdentifierType + , String productIdentifierValue + ) { + this.productIdentifierType = productIdentifierType; + this.productIdentifierValue = productIdentifierValue; + } + + @Override + public String toString() { + StringBuilder output = new StringBuilder(); + output.append("TonerCartridgeMonitoringClusterReplacementProductStruct {\n"); + output.append("\tproductIdentifierType: "); + output.append(productIdentifierType); + output.append("\n"); + output.append("\tproductIdentifierValue: "); + output.append(productIdentifierValue); + output.append("\n"); + output.append("}\n"); + return output.toString(); + } +} + public static class DoorLockClusterCredentialStruct { public Integer credentialType; public Integer credentialIndex; diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java index 55ed1d560b2f02..d4ad7a16fc5b2d 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java @@ -7681,6 +7681,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedHepaFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.HepaFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedHepaFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.HepaFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -7777,6 +7796,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedActivatedCarbonFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.ActivatedCarbonFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedActivatedCarbonFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.ActivatedCarbonFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -7873,6 +7911,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedCeramicFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.CeramicFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedCeramicFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.CeramicFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -7969,6 +8026,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedElectrostaticFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.ElectrostaticFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedElectrostaticFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.ElectrostaticFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8065,6 +8141,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedUvFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.UvFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedUvFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.UvFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8161,6 +8256,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedIonizingFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.IonizingFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedIonizingFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.IonizingFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8257,6 +8371,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedZeoliteFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.ZeoliteFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedZeoliteFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.ZeoliteFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8353,6 +8486,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedOzoneFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.OzoneFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedOzoneFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.OzoneFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8449,6 +8601,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedWaterTankMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.WaterTankMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedWaterTankMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.WaterTankMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8545,6 +8716,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedFuelTankMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.FuelTankMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedFuelTankMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.FuelTankMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8641,6 +8831,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedInkCartridgeMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.InkCartridgeMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedInkCartridgeMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.InkCartridgeMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override @@ -8737,6 +8946,25 @@ public void onError(Exception ex) { callback.onFailure(ex); } } + public static class DelegatedTonerCartridgeMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.TonerCartridgeMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback { + private ClusterCommandCallback callback; + @Override + public void setCallbackDelegate(ClusterCommandCallback callback) { + this.callback = callback; + } + +@Override + public void onSuccess( List valueList) { + Map responseValues = new LinkedHashMap<>(); + CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List"); + responseValues.put(commandResponseInfo, valueList); + callback.onSuccess(responseValues); + } + @Override + public void onError(Exception ex) { + callback.onFailure(ex); + } + } public static class DelegatedTonerCartridgeMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.TonerCartridgeMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback { private ClusterCommandCallback callback; @Override diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py index 57cb52894f987e..56122c414e5143 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.py +++ b/src/controller/python/chip/clusters/CHIPClusters.py @@ -5474,6 +5474,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -5555,6 +5561,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -5636,6 +5648,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -5717,6 +5735,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -5798,6 +5822,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -5879,6 +5909,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -5960,6 +5996,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -6041,6 +6083,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -6122,6 +6170,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -6203,6 +6257,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -6284,6 +6344,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, @@ -6365,6 +6431,12 @@ class ChipClusters: "reportable": True, "writable": True, }, + 0x00000005: { + "attributeName": "ReplacementProductList", + "attributeId": 0x00000005, + "type": "", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "GeneratedCommandList", "attributeId": 0x0000FFF8, diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 014eb1bc9dfb02..8413d9e417e252 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -19031,6 +19031,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=HepaFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -19044,6 +19045,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'HepaFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -19071,11 +19073,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=HepaFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'HepaFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -19171,6 +19199,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0071 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19281,6 +19325,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=ActivatedCarbonFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -19294,6 +19339,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'ActivatedCarbonFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -19321,11 +19367,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=ActivatedCarbonFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'ActivatedCarbonFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -19421,6 +19493,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0072 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19531,6 +19619,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=CeramicFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -19544,6 +19633,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'CeramicFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -19571,11 +19661,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=CeramicFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'CeramicFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -19671,6 +19787,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0073 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -19781,6 +19913,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=ElectrostaticFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -19794,6 +19927,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'ElectrostaticFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -19821,11 +19955,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=ElectrostaticFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'ElectrostaticFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -19921,6 +20081,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0074 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20031,6 +20207,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=UvFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -20044,6 +20221,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'UvFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -20071,11 +20249,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=UvFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'UvFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -20171,6 +20375,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0075 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20281,6 +20501,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=IonizingFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -20294,6 +20515,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'IonizingFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -20321,11 +20543,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=IonizingFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'IonizingFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -20421,6 +20669,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0076 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20531,6 +20795,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=ZeoliteFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -20544,6 +20809,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'ZeoliteFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -20571,11 +20837,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=ZeoliteFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'ZeoliteFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -20671,6 +20963,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0077 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -20781,6 +21089,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=OzoneFilterMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -20794,6 +21103,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'OzoneFilterMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -20821,11 +21131,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=OzoneFilterMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'OzoneFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -20921,6 +21257,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0078 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21031,6 +21383,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=WaterTankMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -21044,6 +21397,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'WaterTankMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -21071,11 +21425,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=WaterTankMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'WaterTankMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -21171,6 +21551,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x0079 + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21281,6 +21677,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=FuelTankMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -21294,6 +21691,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'FuelTankMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -21321,11 +21719,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=FuelTankMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'FuelTankMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -21421,6 +21845,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x007A + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21531,6 +21971,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=InkCartridgeMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -21544,6 +21985,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'InkCartridgeMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -21571,11 +22013,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=InkCartridgeMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'InkCartridgeMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -21671,6 +22139,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x007B + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty @@ -21781,6 +22265,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=TonerCartridgeMonitoring.Enums.ChangeIndicationEnum), ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]), + ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]), ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]), ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]), @@ -21794,6 +22279,7 @@ def descriptor(cls) -> ClusterObjectDescriptor: changeIndication: 'TonerCartridgeMonitoring.Enums.ChangeIndicationEnum' = None inPlaceIndicator: 'typing.Optional[bool]' = None lastChangedTime: 'typing.Union[None, Nullable, uint]' = None + replacementProductList: 'typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None generatedCommandList: 'typing.List[uint]' = None acceptedCommandList: 'typing.List[uint]' = None eventList: 'typing.List[uint]' = None @@ -21821,11 +22307,37 @@ class DegradationDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, + class ProductIdentifierTypeEnum(MatterIntEnum): + kUpc = 0x00 + kGtin8 = 0x01 + kEan = 0x02 + kGtin14 = 0x03 + kOem = 0x04 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, + class Bitmaps: class Feature(IntFlag): kCondition = 0x1 kWarning = 0x2 + class Structs: + @dataclass + class ReplacementProductStruct(ClusterObject): + @ChipUtility.classproperty + def descriptor(cls) -> ClusterObjectDescriptor: + return ClusterObjectDescriptor( + Fields=[ + ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=TonerCartridgeMonitoring.Enums.ProductIdentifierTypeEnum), + ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str), + ]) + + productIdentifierType: 'TonerCartridgeMonitoring.Enums.ProductIdentifierTypeEnum' = 0 + productIdentifierValue: 'str' = "" + class Commands: @dataclass class ResetCondition(ClusterCommand): @@ -21921,6 +22433,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor: value: 'typing.Union[None, Nullable, uint]' = None + @dataclass + class ReplacementProductList(ClusterAttributeDescriptor): + @ChipUtility.classproperty + def cluster_id(cls) -> int: + return 0x007C + + @ChipUtility.classproperty + def attribute_id(cls) -> int: + return 0x00000005 + + @ChipUtility.classproperty + def attribute_type(cls) -> ClusterObjectFieldDescriptor: + return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]) + + value: 'typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None + @dataclass class GeneratedCommandList(ClusterAttributeDescriptor): @ChipUtility.classproperty diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h index 32f66496d572e1..5ba0ab8aee6b46 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h @@ -1538,6 +1538,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(HepaFilterMonitoring::D return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(HepaFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = HepaFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(ActivatedCarbonFilterMonitoring::ChangeIndicationEnum val) { @@ -1564,6 +1579,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(ActivatedCarbonFilterMo return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(ActivatedCarbonFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = ActivatedCarbonFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(CeramicFilterMonitoring::ChangeIndicationEnum val) { @@ -1590,6 +1620,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(CeramicFilterMonitoring return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(CeramicFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = CeramicFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(ElectrostaticFilterMonitoring::ChangeIndicationEnum val) { @@ -1616,6 +1661,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(ElectrostaticFilterMoni return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(ElectrostaticFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = ElectrostaticFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(UvFilterMonitoring::ChangeIndicationEnum val) { @@ -1642,6 +1702,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(UvFilterMonitoring::Deg return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(UvFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = UvFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(IonizingFilterMonitoring::ChangeIndicationEnum val) { @@ -1668,6 +1743,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(IonizingFilterMonitorin return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(IonizingFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = IonizingFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(ZeoliteFilterMonitoring::ChangeIndicationEnum val) { @@ -1694,6 +1784,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(ZeoliteFilterMonitoring return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(ZeoliteFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = ZeoliteFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(OzoneFilterMonitoring::ChangeIndicationEnum val) { @@ -1720,6 +1825,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(OzoneFilterMonitoring:: return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(OzoneFilterMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = OzoneFilterMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(WaterTankMonitoring::ChangeIndicationEnum val) { @@ -1746,6 +1866,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(WaterTankMonitoring::De return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(WaterTankMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = WaterTankMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(FuelTankMonitoring::ChangeIndicationEnum val) { @@ -1772,6 +1907,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(FuelTankMonitoring::Deg return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(FuelTankMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = FuelTankMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(InkCartridgeMonitoring::ChangeIndicationEnum val) { @@ -1798,6 +1948,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(InkCartridgeMonitoring: return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(InkCartridgeMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = InkCartridgeMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(TonerCartridgeMonitoring::ChangeIndicationEnum val) { @@ -1824,6 +1989,21 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(TonerCartridgeMonitorin return static_cast(2); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(TonerCartridgeMonitoring::ProductIdentifierTypeEnum val) +{ + using EnumType = TonerCartridgeMonitoring::ProductIdentifierTypeEnum; + switch (val) + { + case EnumType::kUpc: + case EnumType::kGtin8: + case EnumType::kEan: + case EnumType::kGtin14: + case EnumType::kOem: + return val; + default: + return static_cast(5); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::AlarmCodeEnum val) { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index e010f7ac56bc2b..67c365c6bec629 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -1885,6 +1885,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -1920,6 +1935,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -1955,6 +1985,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -1990,6 +2035,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2025,6 +2085,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2060,6 +2135,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2095,6 +2185,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2130,6 +2235,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2165,6 +2285,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2200,6 +2335,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2235,6 +2385,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { @@ -2270,6 +2435,21 @@ enum class DegradationDirectionEnum : uint8_t kUnknownEnumValue = 2, }; +// Enum for ProductIdentifierTypeEnum +enum class ProductIdentifierTypeEnum : uint8_t +{ + kUpc = 0x00, + kGtin8 = 0x01, + kEan = 0x02, + kGtin14 = 0x03, + kOem = 0x04, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 5, +}; + // Bitmap for Feature enum class Feature : uint32_t { 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 39e6bdea2fb63d..5689c94797d43d 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 @@ -13817,6 +13817,52 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) } // namespace RvcOperationalState namespace HepaFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -13874,6 +13920,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -13904,6 +13953,52 @@ namespace Events {} // namespace Events } // namespace HepaFilterMonitoring namespace ActivatedCarbonFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -13961,6 +14056,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -13991,6 +14089,52 @@ namespace Events {} // namespace Events } // namespace ActivatedCarbonFilterMonitoring namespace CeramicFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14048,6 +14192,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14078,6 +14225,52 @@ namespace Events {} // namespace Events } // namespace CeramicFilterMonitoring namespace ElectrostaticFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14135,6 +14328,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14165,6 +14361,52 @@ namespace Events {} // namespace Events } // namespace ElectrostaticFilterMonitoring namespace UvFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14222,6 +14464,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14252,6 +14497,52 @@ namespace Events {} // namespace Events } // namespace UvFilterMonitoring namespace IonizingFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14309,6 +14600,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14339,6 +14633,52 @@ namespace Events {} // namespace Events } // namespace IonizingFilterMonitoring namespace ZeoliteFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14396,6 +14736,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14426,6 +14769,52 @@ namespace Events {} // namespace Events } // namespace ZeoliteFilterMonitoring namespace OzoneFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14483,6 +14872,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14513,6 +14905,52 @@ namespace Events {} // namespace Events } // namespace OzoneFilterMonitoring namespace WaterTankMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14570,6 +15008,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14600,6 +15041,52 @@ namespace Events {} // namespace Events } // namespace WaterTankMonitoring namespace FuelTankMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14657,6 +15144,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14687,6 +15177,52 @@ namespace Events {} // namespace Events } // namespace FuelTankMonitoring namespace InkCartridgeMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14744,6 +15280,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; @@ -14774,6 +15313,52 @@ namespace Events {} // namespace Events } // namespace InkCartridgeMonitoring namespace TonerCartridgeMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const +{ + TLV::TLVType outer; + ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue)); + ReturnErrorOnFailure(writer.EndContainer(outer)); + return CHIP_NO_ERROR; +} + +CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) +{ + CHIP_ERROR err = CHIP_NO_ERROR; + TLV::TLVType outer; + VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE); + err = reader.EnterContainer(outer); + ReturnErrorOnFailure(err); + while ((err = reader.Next()) == CHIP_NO_ERROR) + { + if (!TLV::IsContextTag(reader.GetTag())) + { + continue; + } + switch (TLV::TagNumFromTag(reader.GetTag())) + { + case to_underlying(Fields::kProductIdentifierType): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType)); + break; + case to_underlying(Fields::kProductIdentifierValue): + ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue)); + break; + default: + break; + } + } + + VerifyOrReturnError(err == CHIP_END_OF_TLV, err); + ReturnErrorOnFailure(reader.ExitContainer(outer)); + + return CHIP_NO_ERROR; +} + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { namespace ResetCondition { @@ -14831,6 +15416,9 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre case Attributes::LastChangedTime::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime)); break; + case Attributes::ReplacementProductList::TypeInfo::GetAttributeId(): + ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList)); + break; case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId(): ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList)); break; 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 da5fcf82be95df..e87c3ec19511ba 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 @@ -17459,6 +17459,31 @@ struct DecodableType } // namespace Events } // namespace RvcOperationalState namespace HepaFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -17563,6 +17588,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::HepaFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -17615,6 +17655,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -17626,6 +17667,31 @@ struct TypeInfo } // namespace Attributes } // namespace HepaFilterMonitoring namespace ActivatedCarbonFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -17730,6 +17796,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List< + const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type>; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::ActivatedCarbonFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -17782,6 +17863,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -17793,6 +17875,31 @@ struct TypeInfo } // namespace Attributes } // namespace ActivatedCarbonFilterMonitoring namespace CeramicFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -17897,6 +18004,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::CeramicFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -17949,6 +18071,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -17960,6 +18083,31 @@ struct TypeInfo } // namespace Attributes } // namespace CeramicFilterMonitoring namespace ElectrostaticFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -18064,6 +18212,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List< + const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type>; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::ElectrostaticFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -18116,6 +18279,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -18127,6 +18291,31 @@ struct TypeInfo } // namespace Attributes } // namespace ElectrostaticFilterMonitoring namespace UvFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -18231,6 +18420,20 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::UvFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -18283,6 +18486,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -18294,6 +18498,31 @@ struct TypeInfo } // namespace Attributes } // namespace UvFilterMonitoring namespace IonizingFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -18398,6 +18627,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::IonizingFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -18450,6 +18694,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -18461,6 +18706,31 @@ struct TypeInfo } // namespace Attributes } // namespace IonizingFilterMonitoring namespace ZeoliteFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -18565,6 +18835,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::ZeoliteFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -18617,6 +18902,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -18628,6 +18914,31 @@ struct TypeInfo } // namespace Attributes } // namespace ZeoliteFilterMonitoring namespace OzoneFilterMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -18732,6 +19043,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::OzoneFilterMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -18784,6 +19110,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -18795,6 +19122,31 @@ struct TypeInfo } // namespace Attributes } // namespace OzoneFilterMonitoring namespace WaterTankMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -18899,6 +19251,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::WaterTankMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -18951,6 +19318,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -18962,6 +19330,31 @@ struct TypeInfo } // namespace Attributes } // namespace WaterTankMonitoring namespace FuelTankMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -19066,6 +19459,20 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::FuelTankMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -19118,6 +19525,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -19129,6 +19537,31 @@ struct TypeInfo } // namespace Attributes } // namespace FuelTankMonitoring namespace InkCartridgeMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -19233,6 +19666,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::InkCartridgeMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -19285,6 +19733,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; @@ -19296,6 +19745,31 @@ struct TypeInfo } // namespace Attributes } // namespace InkCartridgeMonitoring namespace TonerCartridgeMonitoring { +namespace Structs { +namespace ReplacementProductStruct { +enum class Fields : uint8_t +{ + kProductIdentifierType = 0, + kProductIdentifierValue = 1, +}; + +struct Type +{ +public: + ProductIdentifierTypeEnum productIdentifierType = static_cast(0); + chip::CharSpan productIdentifierValue; + + CHIP_ERROR Decode(TLV::TLVReader & reader); + + static constexpr bool kIsFabricScoped = false; + + CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; +}; + +using DecodableType = Type; + +} // namespace ReplacementProductStruct +} // namespace Structs namespace Commands { // Forward-declarations so we can reference these later. @@ -19400,6 +19874,21 @@ struct TypeInfo static constexpr bool MustUseTimedWrite() { return false; } }; } // namespace LastChangedTime +namespace ReplacementProductList { +struct TypeInfo +{ + using Type = + chip::app::DataModel::List; + using DecodableType = chip::app::DataModel::DecodableList< + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType>; + using DecodableArgType = const chip::app::DataModel::DecodableList< + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> &; + + static constexpr ClusterId GetClusterId() { return Clusters::TonerCartridgeMonitoring::Id; } + static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; } + static constexpr bool MustUseTimedWrite() { return false; } +}; +} // namespace ReplacementProductList namespace GeneratedCommandList { struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo { @@ -19452,6 +19941,7 @@ struct TypeInfo static_cast(0); Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast(0); Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime; + Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList; Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList; Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList; Attributes::EventList::TypeInfo::DecodableType eventList; 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 ddb7c6ac16118b..6c8b6efb1efbaa 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 @@ -3132,6 +3132,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3182,6 +3186,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3232,6 +3240,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3282,6 +3294,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3332,6 +3348,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3382,6 +3402,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3432,6 +3456,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3482,6 +3510,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3532,6 +3564,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3582,6 +3618,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3632,6 +3672,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList @@ -3682,6 +3726,10 @@ namespace LastChangedTime { static constexpr AttributeId Id = 0x00000004; } // namespace LastChangedTime +namespace ReplacementProductList { +static constexpr AttributeId Id = 0x00000005; +} // namespace ReplacementProductList + namespace GeneratedCommandList { static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id; } // namespace GeneratedCommandList diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 0935bdb0e54c3f..b6bec09fa1783a 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -4908,6 +4908,7 @@ class RvcOperationalStateResume : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -4960,6 +4961,7 @@ class HepaFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5012,6 +5014,7 @@ class ActivatedCarbonFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5064,6 +5067,7 @@ class CeramicFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5116,6 +5120,7 @@ class ElectrostaticFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5168,6 +5173,7 @@ class UvFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5220,6 +5226,7 @@ class IonizingFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5272,6 +5279,7 @@ class ZeoliteFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5324,6 +5332,7 @@ class OzoneFilterMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5376,6 +5385,7 @@ class WaterTankMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5428,6 +5438,7 @@ class FuelTankMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -5480,6 +5491,7 @@ class InkCartridgeMonitoringResetCondition : public ClusterCommand | * ChangeIndication | 0x0002 | | * InPlaceIndicator | 0x0003 | | * LastChangedTime | 0x0004 | +| * ReplacementProductList | 0x0005 | | * GeneratedCommandList | 0xFFF8 | | * AcceptedCommandList | 0xFFF9 | | * EventList | 0xFFFA | @@ -15728,19 +15740,20 @@ void registerClusterHepaFilterMonitoring(Commands & commands, CredentialIssuerCo // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -15754,6 +15767,10 @@ void registerClusterHepaFilterMonitoring(Commands & commands, CredentialIssuerCo make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -15766,13 +15783,15 @@ void registerClusterHepaFilterMonitoring(Commands & commands, CredentialIssuerCo make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -15803,19 +15822,20 @@ void registerClusterActivatedCarbonFilterMonitoring(Commands & commands, Credent // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -15829,6 +15849,10 @@ void registerClusterActivatedCarbonFilterMonitoring(Commands & commands, Credent make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -15841,13 +15865,15 @@ void registerClusterActivatedCarbonFilterMonitoring(Commands & commands, Credent make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -15878,19 +15904,20 @@ void registerClusterCeramicFilterMonitoring(Commands & commands, CredentialIssue // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -15904,6 +15931,10 @@ void registerClusterCeramicFilterMonitoring(Commands & commands, CredentialIssue make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -15916,13 +15947,15 @@ void registerClusterCeramicFilterMonitoring(Commands & commands, CredentialIssue make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -15953,19 +15986,20 @@ void registerClusterElectrostaticFilterMonitoring(Commands & commands, Credentia // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -15979,6 +16013,10 @@ void registerClusterElectrostaticFilterMonitoring(Commands & commands, Credentia make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -15991,13 +16029,15 @@ void registerClusterElectrostaticFilterMonitoring(Commands & commands, Credentia make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16028,19 +16068,20 @@ void registerClusterUvFilterMonitoring(Commands & commands, CredentialIssuerComm // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16054,6 +16095,10 @@ void registerClusterUvFilterMonitoring(Commands & commands, CredentialIssuerComm make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16066,13 +16111,15 @@ void registerClusterUvFilterMonitoring(Commands & commands, CredentialIssuerComm make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16103,19 +16150,20 @@ void registerClusterIonizingFilterMonitoring(Commands & commands, CredentialIssu // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16129,6 +16177,10 @@ void registerClusterIonizingFilterMonitoring(Commands & commands, CredentialIssu make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16141,13 +16193,15 @@ void registerClusterIonizingFilterMonitoring(Commands & commands, CredentialIssu make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16178,19 +16232,20 @@ void registerClusterZeoliteFilterMonitoring(Commands & commands, CredentialIssue // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16204,6 +16259,10 @@ void registerClusterZeoliteFilterMonitoring(Commands & commands, CredentialIssue make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16216,13 +16275,15 @@ void registerClusterZeoliteFilterMonitoring(Commands & commands, CredentialIssue make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16253,19 +16314,20 @@ void registerClusterOzoneFilterMonitoring(Commands & commands, CredentialIssuerC // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16279,6 +16341,10 @@ void registerClusterOzoneFilterMonitoring(Commands & commands, CredentialIssuerC make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16291,13 +16357,15 @@ void registerClusterOzoneFilterMonitoring(Commands & commands, CredentialIssuerC make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16328,19 +16396,20 @@ void registerClusterWaterTankMonitoring(Commands & commands, CredentialIssuerCom // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16354,6 +16423,10 @@ void registerClusterWaterTankMonitoring(Commands & commands, CredentialIssuerCom make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16366,13 +16439,15 @@ void registerClusterWaterTankMonitoring(Commands & commands, CredentialIssuerCom make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16403,19 +16478,20 @@ void registerClusterFuelTankMonitoring(Commands & commands, CredentialIssuerComm // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16429,6 +16505,10 @@ void registerClusterFuelTankMonitoring(Commands & commands, CredentialIssuerComm make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16441,13 +16521,15 @@ void registerClusterFuelTankMonitoring(Commands & commands, CredentialIssuerComm make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16478,19 +16560,20 @@ void registerClusterInkCartridgeMonitoring(Commands & commands, CredentialIssuer // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16504,6 +16587,10 @@ void registerClusterInkCartridgeMonitoring(Commands & commands, CredentialIssuer make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16516,13 +16603,15 @@ void registerClusterInkCartridgeMonitoring(Commands & commands, CredentialIssuer make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // @@ -16553,19 +16642,20 @@ void registerClusterTonerCartridgeMonitoring(Commands & commands, CredentialIssu // // Attributes // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // - make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // - make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // - make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // - make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // - make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // - make_unique>(Id, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), // + make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // + make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), // + make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), // + make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), // + make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), // + make_unique>(Id, credsIssuerConfig), // make_unique>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>( @@ -16579,6 +16669,10 @@ void registerClusterTonerCartridgeMonitoring(Commands & commands, CredentialIssu make_unique>>(Id, "last-changed-time", 0, UINT32_MAX, Attributes::LastChangedTime::Id, WriteCommandType::kWrite, credsIssuerConfig), // + make_unique>>( + Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite, + credsIssuerConfig), // make_unique>>( Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // @@ -16591,13 +16685,15 @@ void registerClusterTonerCartridgeMonitoring(Commands & commands, CredentialIssu make_unique>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id, WriteCommandType::kForceWrite, credsIssuerConfig), // make_unique>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id, - WriteCommandType::kForceWrite, credsIssuerConfig), // - make_unique(Id, credsIssuerConfig), // - make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // - make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // - make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // - make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // - make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + WriteCommandType::kForceWrite, credsIssuerConfig), // + make_unique(Id, credsIssuerConfig), // + make_unique(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), // + make_unique(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), // + make_unique(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), // + make_unique(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), // + make_unique(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), // + make_unique(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, + credsIssuerConfig), // make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), // make_unique(Id, "event-list", Attributes::EventList::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 f55c84a4580483..0dc1ff485437bd 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp @@ -2036,6 +2036,428 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::ModeSelect::Structs::M ComplexArgumentParser::Finalize(request.semanticTags); } +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR ComplexArgumentParser::Setup( + const char * label, chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize(chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + +CHIP_ERROR +ComplexArgumentParser::Setup(const char * label, + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value) +{ + VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT); + + // Copy to track which members we already processed. + Json::Value valueCopy(value); + + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType"))); + ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist( + "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue"))); + + char labelWithMember[kMaxLabelLength]; + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"])); + valueCopy.removeMember("productIdentifierType"); + + snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue"); + ReturnErrorOnFailure( + ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"])); + valueCopy.removeMember("productIdentifierValue"); + + return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy); +} + +void ComplexArgumentParser::Finalize( + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request) +{ + ComplexArgumentParser::Finalize(request.productIdentifierType); + ComplexArgumentParser::Finalize(request.productIdentifierValue); +} + CHIP_ERROR ComplexArgumentParser::Setup(const char * label, chip::app::Clusters::DoorLock::Structs::CredentialStruct::Type & request, Json::Value & value) diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h index fd35d2d31115d8..f1e6b4b3e56115 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h @@ -254,6 +254,78 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ModeSelect::Str static void Finalize(chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::Type & request); +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request); + +static CHIP_ERROR Setup(const char * label, + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request, + Json::Value & value); + +static void Finalize(chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request); + static CHIP_ERROR Setup(const char * label, chip::app::Clusters::DoorLock::Structs::CredentialStruct::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 c3dfede31d6789..70e10471ca7b5d 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -1827,6 +1827,318 @@ 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::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR +DataModelLogger::LogValue(const char * label, size_t indent, + const chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR DataModelLogger::LogValue( + const char * label, size_t indent, + const chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value) +{ + DataModelLogger::LogString(label, indent, "{"); + { + CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'"); + return err; + } + } + { + CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue); + if (err != CHIP_NO_ERROR) + { + DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'"); + return err; + } + } + DataModelLogger::LogString(indent, "}"); + + return CHIP_NO_ERROR; +} + CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value) { @@ -8753,6 +9065,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case HepaFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case HepaFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8814,6 +9133,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case ActivatedCarbonFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case ActivatedCarbonFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8875,6 +9201,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case CeramicFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case CeramicFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8936,6 +9269,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case ElectrostaticFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case ElectrostaticFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -8997,6 +9337,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case UvFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case UvFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9058,6 +9405,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case IonizingFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case IonizingFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9119,6 +9473,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case ZeoliteFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case ZeoliteFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9180,6 +9541,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case OzoneFilterMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case OzoneFilterMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9241,6 +9609,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case WaterTankMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case WaterTankMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9302,6 +9677,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case FuelTankMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case FuelTankMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9363,6 +9745,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case InkCartridgeMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case InkCartridgeMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); @@ -9424,6 +9813,13 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LastChangedTime", 1, value); } + case TonerCartridgeMonitoring::Attributes::ReplacementProductList::Id: { + chip::app::DataModel::DecodableList< + chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> + value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("ReplacementProductList", 1, value); + } case TonerCartridgeMonitoring::Attributes::GeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); 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 c5a27058990bb3..0653497ceb8caf 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h @@ -159,6 +159,52 @@ static CHIP_ERROR LogValue(const char * label, size_t indent, static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::DecodableType & value); +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR LogValue(const char * label, size_t indent, + const chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + +static CHIP_ERROR +LogValue(const char * label, size_t indent, + const chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value); + static CHIP_ERROR LogValue(const char * label, size_t indent, const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value);