From acf130a2bdc23fd1a40633c02f776f65bb97b337 Mon Sep 17 00:00:00 2001 From: Harsha Rajendran Date: Tue, 15 Mar 2022 09:11:10 -0400 Subject: [PATCH 01/37] Added Node and fabric data to BDXOtaSender to keep track of connections (#16184) --- .../esp32/main/BdxOtaSender.cpp | 31 +++++++++++++++++++ .../ota-provider-common/BdxOtaSender.h | 9 ++++++ .../ota-provider-common/BdxOtaSender.cpp | 30 ++++++++++++++++++ .../ota-provider-common/BdxOtaSender.h | 9 ++++++ .../OTAProviderExample.cpp | 29 +++++++++++------ src/lib/core/CHIPError.cpp | 3 ++ src/lib/core/CHIPError.h | 9 ++++++ 7 files changed, 110 insertions(+), 10 deletions(-) diff --git a/examples/ota-provider-app/esp32/main/BdxOtaSender.cpp b/examples/ota-provider-app/esp32/main/BdxOtaSender.cpp index d4ca1a3de1ce79..fea60d46990cec 100644 --- a/examples/ota-provider-app/esp32/main/BdxOtaSender.cpp +++ b/examples/ota-provider-app/esp32/main/BdxOtaSender.cpp @@ -28,6 +28,32 @@ using chip::bdx::StatusCode; using chip::bdx::TransferControlFlags; using chip::bdx::TransferSession; +CHIP_ERROR BdxOtaSender::InitializeTransfer(chip::FabricIndex fabricIndex, chip::NodeId nodeId) +{ + if (mInitialized) + { + // Reset stale connection from the Same Node if exists + if ((mFabricIndex.HasValue() && mFabricIndex.Value() == fabricIndex) && (mNodeId.HasValue() && mNodeId.Value() == nodeId)) + { + Reset(); + } + // Prevent a new node connection since another is active + else if ((mFabricIndex.HasValue() && mFabricIndex.Value() != fabricIndex) || + (mNodeId.HasValue() && mNodeId.Value() != nodeId)) + { + return CHIP_ERROR_BUSY; + } + else + { + return CHIP_ERROR_INTERNAL; + } + } + mFabricIndex.SetValue(fabricIndex); + mNodeId.SetValue(nodeId); + mInitialized = true; + return CHIP_NO_ERROR; +} + void BdxOtaSender::SetCallbacks(BdxOtaSenderCallbacks callbacks) { mOnBlockQueryCallback = callbacks.onBlockQuery; @@ -174,11 +200,16 @@ void BdxOtaSender::HandleTransferSessionOutput(TransferSession::OutputEvent & ev void BdxOtaSender::Reset() { + mFabricIndex.ClearValue(); + mNodeId.ClearValue(); mTransfer.Reset(); if (mExchangeCtx != nullptr) { mExchangeCtx->Close(); + mExchangeCtx = nullptr; } + + mInitialized = false; mNumBytesSent = 0; } diff --git a/examples/ota-provider-app/esp32/main/include/ota-provider-common/BdxOtaSender.h b/examples/ota-provider-app/esp32/main/include/ota-provider-common/BdxOtaSender.h index 4940d676dedd58..5e7ffaf091572a 100644 --- a/examples/ota-provider-app/esp32/main/include/ota-provider-common/BdxOtaSender.h +++ b/examples/ota-provider-app/esp32/main/include/ota-provider-common/BdxOtaSender.h @@ -71,6 +71,9 @@ struct BdxOtaSenderCallbacks class BdxOtaSender : public chip::bdx::Responder { public: + // Initializes BDX transfer-related metadata. Should always be called first. + CHIP_ERROR InitializeTransfer(chip::FabricIndex fabricIndex, chip::NodeId nodeId); + void SetCallbacks(BdxOtaSenderCallbacks callbacks); /** @@ -97,6 +100,12 @@ class BdxOtaSender : public chip::bdx::Responder uint32_t mNumBytesSent = 0; + bool mInitialized = false; + + chip::Optional mFabricIndex; + + chip::Optional mNodeId; + chip::Callback::Callback * mOnBlockQueryCallback = nullptr; chip::Callback::Callback * mOnTransferCompleteCallback = nullptr; chip::Callback::Callback * mOnTransferFailedCallback = nullptr; diff --git a/examples/ota-provider-app/ota-provider-common/BdxOtaSender.cpp b/examples/ota-provider-app/ota-provider-common/BdxOtaSender.cpp index bd89f71eb2bf9b..1af2ea3dd690d2 100644 --- a/examples/ota-provider-app/ota-provider-common/BdxOtaSender.cpp +++ b/examples/ota-provider-app/ota-provider-common/BdxOtaSender.cpp @@ -35,6 +35,32 @@ BdxOtaSender::BdxOtaSender() memset(mFileDesignator, 0, chip::bdx::kMaxFileDesignatorLen); } +CHIP_ERROR BdxOtaSender::InitializeTransfer(chip::FabricIndex fabricIndex, chip::NodeId nodeId) +{ + if (mInitialized) + { + // Reset stale connection from the Same Node if exists + if ((mFabricIndex.HasValue() && mFabricIndex.Value() == fabricIndex) && (mNodeId.HasValue() && mNodeId.Value() == nodeId)) + { + Reset(); + } + // Prevent a new node connection since another is active + else if ((mFabricIndex.HasValue() && mFabricIndex.Value() != fabricIndex) || + (mNodeId.HasValue() && mNodeId.Value() != nodeId)) + { + return CHIP_ERROR_BUSY; + } + else + { + return CHIP_ERROR_INTERNAL; + } + } + mFabricIndex.SetValue(fabricIndex); + mNodeId.SetValue(nodeId); + mInitialized = true; + return CHIP_NO_ERROR; +} + void BdxOtaSender::HandleTransferSessionOutput(TransferSession::OutputEvent & event) { CHIP_ERROR err = CHIP_NO_ERROR; @@ -152,12 +178,16 @@ void BdxOtaSender::HandleTransferSessionOutput(TransferSession::OutputEvent & ev void BdxOtaSender::Reset() { + mFabricIndex.ClearValue(); + mNodeId.ClearValue(); mTransfer.Reset(); if (mExchangeCtx != nullptr) { mExchangeCtx->Close(); + mExchangeCtx = nullptr; } + mInitialized = false; mNumBytesSent = 0; memset(mFileDesignator, 0, chip::bdx::kMaxFileDesignatorLen); } diff --git a/examples/ota-provider-app/ota-provider-common/BdxOtaSender.h b/examples/ota-provider-app/ota-provider-common/BdxOtaSender.h index 49da42aeff7827..6cc303486ed891 100644 --- a/examples/ota-provider-app/ota-provider-common/BdxOtaSender.h +++ b/examples/ota-provider-app/ota-provider-common/BdxOtaSender.h @@ -25,6 +25,9 @@ class BdxOtaSender : public chip::bdx::Responder public: BdxOtaSender(); + // Initializes BDX transfer-related metadata. Should always be called first. + CHIP_ERROR InitializeTransfer(chip::FabricIndex fabricIndex, chip::NodeId nodeId); + private: // Inherited from bdx::TransferFacilitator void HandleTransferSessionOutput(chip::bdx::TransferSession::OutputEvent & event) override; @@ -35,4 +38,10 @@ class BdxOtaSender : public chip::bdx::Responder char mFileDesignator[chip::bdx::kMaxFileDesignatorLen]; uint32_t mNumBytesSent = 0; + + bool mInitialized = false; + + chip::Optional mFabricIndex; + + chip::Optional mNodeId; }; diff --git a/examples/ota-provider-app/ota-provider-common/OTAProviderExample.cpp b/examples/ota-provider-app/ota-provider-common/OTAProviderExample.cpp index a85b7918c90442..2b85058257ff4d 100644 --- a/examples/ota-provider-app/ota-provider-common/OTAProviderExample.cpp +++ b/examples/ota-provider-app/ota-provider-common/OTAProviderExample.cpp @@ -270,18 +270,27 @@ EmberAfStatus OTAProviderExample::HandleQueryImage(chip::app::CommandHandler * c // Initialize the transfer session in prepartion for a BDX transfer BitFlags bdxFlags; bdxFlags.Set(TransferControlFlags::kReceiverDrive); - CHIP_ERROR err = mBdxOtaSender.PrepareForTransfer(&chip::DeviceLayer::SystemLayer(), chip::bdx::TransferRole::kSender, - bdxFlags, kMaxBdxBlockSize, kBdxTimeout, kBdxPollFreq); - if (err != CHIP_NO_ERROR) + if (mBdxOtaSender.InitializeTransfer(commandObj->GetSubjectDescriptor().fabricIndex, + commandObj->GetSubjectDescriptor().subject) == CHIP_NO_ERROR) { - ChipLogError(BDX, "Failed to initialize BDX transfer session: %s", chip::ErrorStr(err)); - return EMBER_ZCL_STATUS_FAILURE; - } + CHIP_ERROR err = mBdxOtaSender.PrepareForTransfer(&chip::DeviceLayer::SystemLayer(), chip::bdx::TransferRole::kSender, + bdxFlags, kMaxBdxBlockSize, kBdxTimeout, kBdxPollFreq); + if (err != CHIP_NO_ERROR) + { + ChipLogError(BDX, "Failed to initialize BDX transfer session: %s", chip::ErrorStr(err)); + return EMBER_ZCL_STATUS_FAILURE; + } - response.imageURI.Emplace(chip::CharSpan::fromCharString(uriBuf)); - response.softwareVersion.Emplace(newSoftwareVersion); - response.softwareVersionString.Emplace(chip::CharSpan::fromCharString(newSoftwareVersionString)); - response.updateToken.Emplace(chip::ByteSpan(updateToken)); + response.imageURI.Emplace(chip::CharSpan::fromCharString(uriBuf)); + response.softwareVersion.Emplace(newSoftwareVersion); + response.softwareVersionString.Emplace(chip::CharSpan::fromCharString(newSoftwareVersionString)); + response.updateToken.Emplace(chip::ByteSpan(updateToken)); + } + else + { + // Another BDX transfer in progress + queryStatus = OTAQueryStatus::kBusy; + } } response.status = queryStatus; diff --git a/src/lib/core/CHIPError.cpp b/src/lib/core/CHIPError.cpp index fb630d73e4578a..2f999000ab4443 100644 --- a/src/lib/core/CHIPError.cpp +++ b/src/lib/core/CHIPError.cpp @@ -695,6 +695,9 @@ bool FormatCHIPError(char * buf, uint16_t bufSize, CHIP_ERROR err) case CHIP_ERROR_IM_MALFORMED_TIMED_REQUEST_MESSAGE.AsInteger(): desc = "Malformed Interaction Model Timed Request Message"; break; + case CHIP_ERROR_BUSY.AsInteger(): + desc = "The Resource is busy and cannot process the request"; + break; } #endif // !CHIP_CONFIG_SHORT_ERROR_STR diff --git a/src/lib/core/CHIPError.h b/src/lib/core/CHIPError.h index c55fd3935527e5..f8c3458caade7b 100644 --- a/src/lib/core/CHIPError.h +++ b/src/lib/core/CHIPError.h @@ -2400,6 +2400,15 @@ using CHIP_ERROR = ::chip::ChipError; */ #define CHIP_ERROR_INVALID_FILE_IDENTIFIER CHIP_CORE_ERROR(0xda) +/** + * @def CHIP_ERROR_BUSY + * + * @brief + * The Resource is busy and cannot process the request. Trying again might work. + */ +#define CHIP_ERROR_BUSY CHIP_CORE_ERROR(0xdb) + + /** * @} */ From 494cfb24326a148b27622e89c2aad37cac4e97ce Mon Sep 17 00:00:00 2001 From: C Freeman Date: Tue, 15 Mar 2022 09:12:01 -0400 Subject: [PATCH 02/37] Release commissionee device pool on exit (#16127) * Release commissionee device pool on exit * Update src/controller/CHIPDeviceController.cpp Co-authored-by: Boris Zbarsky Co-authored-by: Boris Zbarsky --- src/controller/CHIPDeviceController.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index c3f7c301e04ce2..7a26eada2a22ba 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -705,6 +705,9 @@ CHIP_ERROR DeviceCommissioner::Shutdown() } #endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY + // Release everything from the commissionee device pool here. DeviceController::Shutdown releases operational. + mCommissioneeDevicePool.ReleaseAll(); + DeviceController::Shutdown(); return CHIP_NO_ERROR; } From a30e71102657c9e1a1aef7d86750e50b7bcf8f57 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Tue, 15 Mar 2022 12:58:09 -0400 Subject: [PATCH 03/37] Turn on auto-resubscribe for Darwin wildcard subscriptions. (#16201) We weren't doing it before, but should do it. --- .../TemperatureSensorViewController.m | 1 + src/darwin/Framework/CHIP/CHIPCluster.h | 14 + src/darwin/Framework/CHIP/CHIPCluster.mm | 1 + src/darwin/Framework/CHIP/CHIPDevice.h | 6 +- src/darwin/Framework/CHIP/CHIPDevice.mm | 52 +- .../CHIP/templates/CHIPClustersObjc-src.zapt | 4 + .../CHIP/templates/CHIPClustersObjc.zapt | 4 + .../CHIP/zap-generated/CHIPClustersObjc.h | 3068 +++++++++++++++++ .../CHIP/zap-generated/CHIPClustersObjc.mm | 3068 +++++++++++++++++ 9 files changed, 6208 insertions(+), 10 deletions(-) diff --git a/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m b/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m index 96ad42b82a6c92..1f657b9103aa2f 100644 --- a/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m +++ b/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m @@ -203,6 +203,7 @@ - (void)reportFromUserEnteredSettings [chipDevice subscribeWithQueue:dispatch_get_main_queue() minInterval:minIntervalSeconds maxInterval:maxIntervalSeconds + params:nil reportHandler:^(NSArray * _Nullable reports, NSError * _Nullable error) { if (error) { NSLog(@"Status: update reportAttributeMeasuredValue completed with error %@", diff --git a/src/darwin/Framework/CHIP/CHIPCluster.h b/src/darwin/Framework/CHIP/CHIPCluster.h index 05265e9aeeabf5..6b4a329bec1c88 100644 --- a/src/darwin/Framework/CHIP/CHIPCluster.h +++ b/src/darwin/Framework/CHIP/CHIPCluster.h @@ -75,6 +75,20 @@ NS_ASSUME_NONNULL_BEGIN */ @property (strong, nonatomic, nullable) NSNumber * keepPreviousSubscriptions; +/** + * Whether the subscription should automatically try to re-establish if it + * drops. nil (the default value) is treated as YES. + * + * If NO, loss of subscription will simply lead to an error report. Some + * subscription APIs do not support this value. + * + * If YES, loss of subscription will lead to an automatic resubscription + * attempt. If this succeeds, the subscriptionEstablished callback will be + * called again. + * + */ +@property (strong, nonatomic, nullable) NSNumber * autoResubscribe; + - (instancetype)init; @end diff --git a/src/darwin/Framework/CHIP/CHIPCluster.mm b/src/darwin/Framework/CHIP/CHIPCluster.mm index 58dd7fc26c31a4..5ad98a3e0f5be9 100644 --- a/src/darwin/Framework/CHIP/CHIPCluster.mm +++ b/src/darwin/Framework/CHIP/CHIPCluster.mm @@ -76,6 +76,7 @@ - (instancetype)init { if (self = [super init]) { _keepPreviousSubscriptions = nil; + _autoResubscribe = nil; } return self; } diff --git a/src/darwin/Framework/CHIP/CHIPDevice.h b/src/darwin/Framework/CHIP/CHIPDevice.h index 4af67485e7eade..2e28c868752799 100644 --- a/src/darwin/Framework/CHIP/CHIPDevice.h +++ b/src/darwin/Framework/CHIP/CHIPDevice.h @@ -20,6 +20,8 @@ #import +@class CHIPSubscribeParams; + NS_ASSUME_NONNULL_BEGIN typedef void (^CHIPDeviceResponseHandler)(NSArray *> * _Nullable values, NSError * _Nullable error); @@ -65,13 +67,15 @@ extern NSString * const kCHIPStatusKey; * * subscriptionEstablished block, if not nil, will be called once the * subscription is established. This will be _after_ the first (priming) call - * to reportHandler. + * to reportHandler. Note that if the CHIPSubscribeParams are set to + * automatically resubscribe this can end up being called more than once. * * TODO: The "all events" part does not work yet. */ - (void)subscribeWithQueue:(dispatch_queue_t)queue minInterval:(uint16_t)minInterval maxInterval:(uint16_t)maxInterval + params:(nullable CHIPSubscribeParams *)params reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler subscriptionEstablished:(nullable void (^)(void))subscriptionEstablishedHandler; diff --git a/src/darwin/Framework/CHIP/CHIPDevice.mm b/src/darwin/Framework/CHIP/CHIPDevice.mm index 58586695bd4d01..b123dc62a9f952 100644 --- a/src/darwin/Framework/CHIP/CHIPDevice.mm +++ b/src/darwin/Framework/CHIP/CHIPDevice.mm @@ -238,6 +238,8 @@ - (instancetype)initWithDevice:(chip::DeviceProxy *)device void OnDone() override; + void OnDeallocatePaths(ReadPrepareParams && aReadPrepareParams) override; + void OnSubscriptionEstablished(uint64_t aSubscriptionId) override; void ReportError(CHIP_ERROR err); @@ -274,6 +276,7 @@ - (instancetype)initWithDevice:(chip::DeviceProxy *)device - (void)subscribeWithQueue:(dispatch_queue_t)queue minInterval:(uint16_t)minInterval maxInterval:(uint16_t)maxInterval + params:(nullable CHIPSubscribeParams *)params reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler subscriptionEstablished:(nullable void (^)(void))subscriptionEstablishedHandler { @@ -284,18 +287,30 @@ - (void)subscribeWithQueue:(dispatch_queue_t)queue }); return; } - AttributePathParams attributePath; // Wildcard endpoint, cluster, attribute. - ReadPrepareParams params(device->GetSecureSession().Value()); - params.mMinIntervalFloorSeconds = minInterval; - params.mMaxIntervalCeilingSeconds = maxInterval; - params.mpAttributePathParamsList = &attributePath; - params.mAttributePathParamsListSize = 1; + + // Wildcard endpoint, cluster, attribute. + auto attributePath = std::make_unique(); + ReadPrepareParams readParams(device->GetSecureSession().Value()); + readParams.mMinIntervalFloorSeconds = minInterval; + readParams.mMaxIntervalCeilingSeconds = maxInterval; + readParams.mpAttributePathParamsList = attributePath.get(); + readParams.mAttributePathParamsListSize = 1; + readParams.mKeepSubscriptions + = (params != nil) && (params.keepPreviousSubscriptions != nil) && [params.keepPreviousSubscriptions boolValue]; auto callback = std::make_unique(queue, reportHandler, subscriptionEstablishedHandler); auto readClient = std::make_unique(InteractionModelEngine::GetInstance(), device->GetExchangeManager(), callback->GetBufferedCallback(), ReadClient::InteractionType::Subscribe); - CHIP_ERROR err = readClient->SendRequest(params); + CHIP_ERROR err; + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + err = readClient->SendRequest(readParams); + } else { + // SendAutoResubscribeRequest cleans up the params, even on failure. + attributePath.release(); + err = readClient->SendAutoResubscribeRequest(std::move(readParams)); + } + if (err != CHIP_NO_ERROR) { dispatch_async(queue, ^{ reportHandler(nil, [CHIPError errorForCHIPErrorCode:err]); @@ -1266,12 +1281,31 @@ - (instancetype)initWithPath:(const ConcreteDataAttributePath &)path value:(null } } +void SubscriptionCallback::OnDeallocatePaths(ReadPrepareParams && aReadPrepareParams) +{ + VerifyOrDie((aReadPrepareParams.mAttributePathParamsListSize == 0 && aReadPrepareParams.mpAttributePathParamsList == nullptr) + || (aReadPrepareParams.mAttributePathParamsListSize == 1 && aReadPrepareParams.mpAttributePathParamsList != nullptr)); + if (aReadPrepareParams.mpAttributePathParamsList) { + delete aReadPrepareParams.mpAttributePathParamsList; + } + + VerifyOrDie((aReadPrepareParams.mDataVersionFilterListSize == 0 && aReadPrepareParams.mpDataVersionFilterList == nullptr) + || (aReadPrepareParams.mDataVersionFilterListSize == 1 && aReadPrepareParams.mpDataVersionFilterList != nullptr)); + if (aReadPrepareParams.mpDataVersionFilterList != nullptr) { + delete aReadPrepareParams.mpDataVersionFilterList; + } + + VerifyOrDie((aReadPrepareParams.mEventPathParamsListSize == 0 && aReadPrepareParams.mpEventPathParamsList == nullptr) + || (aReadPrepareParams.mEventPathParamsListSize == 1 && aReadPrepareParams.mpEventPathParamsList != nullptr)); + if (aReadPrepareParams.mpEventPathParamsList) { + delete aReadPrepareParams.mpEventPathParamsList; + } +} + void SubscriptionCallback::OnSubscriptionEstablished(uint64_t aSubscriptionId) { if (mSubscriptionEstablishedHandler) { dispatch_async(mQueue, mSubscriptionEstablishedHandler); - // Don't need it anymore. - mSubscriptionEstablishedHandler = nil; } } diff --git a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt index 55f8625c0e4bfc..1dc0c53589792b 100644 --- a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt +++ b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc-src.zapt @@ -137,6 +137,10 @@ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEs not great from a type-safety perspective, of course. }} reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = {{asUpperCamelCase parent.name}}::Attributes::{{asUpperCamelCase name}}::TypeInfo; auto successFn = Callback<{{>attribute_data_callback_name}}Callback>::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); diff --git a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt index 724890184e7cf0..5cb079ab400f33 100644 --- a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt +++ b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt @@ -43,6 +43,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value completionHandler:(StatusCompletion)completionHandler; {{/if}} {{#if isReportableAttribute}} +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void) subscribe{{>attribute}}WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))reportHandler; diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h index b5c5cc998753ee..d87818164bc742 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h @@ -42,6 +42,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAclWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeAclWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAclWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -55,6 +59,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeExtensionWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeExtensionWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeExtensionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -67,6 +75,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -82,6 +94,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -97,6 +113,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -111,6 +131,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -139,6 +163,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -154,6 +182,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -169,6 +201,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -183,6 +219,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -211,6 +251,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeWindowStatusWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeWindowStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -225,6 +269,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAdminFabricIndexWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAdminFabricIndexWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -239,6 +287,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAdminVendorIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAdminVendorIdWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -253,6 +305,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -268,6 +324,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -283,6 +343,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -297,6 +361,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -319,6 +387,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorNameWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -332,6 +404,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorIDWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -344,6 +420,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeApplicationNameWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeApplicationNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -358,6 +438,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductIDWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -371,6 +455,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeApplicationWithCompletionHandler:(void (^)( CHIPApplicationBasicClusterApplicationBasicApplication * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeApplicationWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -386,6 +474,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)readAttributeStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -398,6 +490,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeApplicationVersionWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeApplicationVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -412,6 +508,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAllowedVendorListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAllowedVendorListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -426,6 +526,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -441,6 +545,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -456,6 +564,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -470,6 +582,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -502,6 +618,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCatalogListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCatalogListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -517,6 +637,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeCurrentAppWithValue:(CHIPApplicationLauncherClusterApplicationEP * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentAppWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -531,6 +655,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -546,6 +674,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -561,6 +693,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -575,6 +711,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -602,6 +742,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOutputListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOutputListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -614,6 +758,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentOutputWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentOutputWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -628,6 +776,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -643,6 +795,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -658,6 +814,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -672,6 +832,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -698,6 +862,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBarrierMovingStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBarrierMovingStateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -712,6 +880,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBarrierSafetyStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBarrierSafetyStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -727,6 +899,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBarrierCapabilitiesWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBarrierCapabilitiesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -742,6 +918,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBarrierPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBarrierPositionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -756,6 +936,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -771,6 +955,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -786,6 +974,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -800,6 +992,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -822,6 +1018,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDataModelRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDataModelRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -836,6 +1036,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorNameWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -849,6 +1053,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorIDWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -861,6 +1069,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductNameWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -874,6 +1086,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductIDWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -887,6 +1103,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNodeLabelWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNodeLabelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -900,6 +1120,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLocationWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeLocationWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLocationWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -912,6 +1136,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeHardwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeHardwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -926,6 +1154,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeHardwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -941,6 +1173,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSoftwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSoftwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -955,6 +1191,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSoftwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -970,6 +1210,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeManufacturingDateWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeManufacturingDateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -984,6 +1228,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePartNumberWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePartNumberWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -997,6 +1245,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductURLWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductURLWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1010,6 +1262,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductLabelWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductLabelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1024,6 +1280,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSerialNumberWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSerialNumberWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1039,6 +1299,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLocalConfigDisabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeLocalConfigDisabledWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLocalConfigDisabledWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1054,6 +1318,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeReachableWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeReachableWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1066,6 +1334,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeUniqueIDWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUniqueIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1078,6 +1350,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1093,6 +1369,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1108,6 +1388,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1122,6 +1406,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1145,6 +1433,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOutOfServiceWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOutOfServiceWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOutOfServiceWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1160,6 +1452,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePresentValueWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributePresentValueWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePresentValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1174,6 +1470,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStatusFlagsWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStatusFlagsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1187,6 +1487,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1202,6 +1506,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1217,6 +1525,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1231,6 +1543,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1254,6 +1570,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBindingWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBindingWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBindingWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1266,6 +1586,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1281,6 +1605,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1296,6 +1624,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1310,6 +1642,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1332,6 +1668,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStateValueWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStateValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1345,6 +1685,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1360,6 +1704,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1375,6 +1723,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1389,6 +1741,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1436,6 +1792,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActionListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActionListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1448,6 +1808,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEndpointListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEndpointListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1461,6 +1825,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSetupUrlWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSetupUrlWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1473,6 +1841,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1488,6 +1860,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1503,6 +1879,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1517,6 +1897,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1539,6 +1923,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorNameWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1552,6 +1940,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorIDWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1564,6 +1956,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductNameWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1578,6 +1974,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNodeLabelWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNodeLabelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1590,6 +1990,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeHardwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeHardwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1604,6 +2008,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeHardwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1619,6 +2027,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSoftwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSoftwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1633,6 +2045,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSoftwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1648,6 +2064,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeManufacturingDateWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeManufacturingDateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1662,6 +2082,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePartNumberWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePartNumberWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1675,6 +2099,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductURLWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductURLWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1688,6 +2116,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeProductLabelWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeProductLabelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1702,6 +2134,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSerialNumberWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSerialNumberWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1716,6 +2152,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeReachableWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeReachableWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1728,6 +2168,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeUniqueIDWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUniqueIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1740,6 +2184,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1755,6 +2203,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1770,6 +2222,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1784,6 +2240,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1813,6 +2273,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeChannelListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeChannelListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1826,6 +2290,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLineupWithCompletionHandler:(void (^)(CHIPChannelClusterLineupInfo * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLineupWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1840,6 +2308,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentChannelWithCompletionHandler:(void (^)(CHIPChannelClusterChannelInfo * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentChannelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1854,6 +2326,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1869,6 +2345,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1884,6 +2364,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1898,6 +2382,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1954,6 +2442,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentHueWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentHueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1967,6 +2459,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentSaturationWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentSaturationWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1981,6 +2477,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRemainingTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRemainingTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -1995,6 +2495,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentXWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentXWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2007,6 +2511,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentYWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentYWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2019,6 +2527,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDriftCompensationWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDriftCompensationWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2033,6 +2545,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCompensationTextWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCompensationTextWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2047,6 +2563,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2061,6 +2581,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorModeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2074,6 +2598,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorControlOptionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorControlOptionsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorControlOptionsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2089,6 +2617,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfPrimariesWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfPrimariesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2103,6 +2635,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary1XWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary1XWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2115,6 +2651,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary1YWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary1YWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2127,6 +2667,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary1IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary1IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2141,6 +2685,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary2XWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary2XWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2153,6 +2701,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary2YWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary2YWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2165,6 +2717,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary2IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary2IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2179,6 +2735,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary3XWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary3XWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2191,6 +2751,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary3YWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary3YWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2203,6 +2767,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary3IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary3IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2217,6 +2785,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary4XWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary4XWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2229,6 +2801,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary4YWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary4YWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2241,6 +2817,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary4IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary4IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2255,6 +2835,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary5XWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary5XWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2267,6 +2851,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary5YWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary5YWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2279,6 +2867,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary5IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary5IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2293,6 +2885,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary6XWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary6XWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2305,6 +2901,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary6YWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary6YWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2317,6 +2917,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePrimary6IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePrimary6IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2332,6 +2936,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeWhitePointXWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeWhitePointXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeWhitePointXWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2346,6 +2954,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeWhitePointYWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeWhitePointYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeWhitePointYWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2360,6 +2972,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorPointRXWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointRXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointRXWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2375,6 +2991,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorPointRYWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointRYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointRYWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2391,6 +3011,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointRIntensityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointRIntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2407,6 +3031,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorPointGXWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointGXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointGXWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2422,6 +3050,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorPointGYWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointGYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointGYWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2438,6 +3070,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointGIntensityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointGIntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2454,6 +3090,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorPointBXWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointBXWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointBXWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2469,6 +3109,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorPointBYWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointBYWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointBYWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2485,6 +3129,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeColorPointBIntensityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorPointBIntensityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2500,6 +3148,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEnhancedCurrentHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnhancedCurrentHueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2514,6 +3166,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEnhancedColorModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnhancedColorModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2528,6 +3184,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorLoopActiveWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorLoopActiveWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2542,6 +3202,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorLoopDirectionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorLoopDirectionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2556,6 +3220,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorLoopTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorLoopTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2570,6 +3238,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorLoopStartEnhancedHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorLoopStartEnhancedHueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2585,6 +3257,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorLoopStoredEnhancedHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorLoopStoredEnhancedHueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2600,6 +3276,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorCapabilitiesWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorCapabilitiesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2614,6 +3294,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorTempPhysicalMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorTempPhysicalMinWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2629,6 +3313,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeColorTempPhysicalMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeColorTempPhysicalMaxWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2644,6 +3332,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCoupleColorTempToLevelMinMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCoupleColorTempToLevelMinMiredsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2661,6 +3353,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStartUpColorTemperatureMiredsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2676,6 +3372,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2691,6 +3391,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2706,6 +3410,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2720,6 +3428,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2749,6 +3461,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAcceptHeaderWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAcceptHeaderWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2764,6 +3480,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSupportedStreamingProtocolsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2779,6 +3499,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2794,6 +3518,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2809,6 +3537,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2823,6 +3555,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2845,6 +3581,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDeviceListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDeviceListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2857,6 +3597,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2869,6 +3613,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2881,6 +3629,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePartsListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePartsListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2893,6 +3645,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2908,6 +3664,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2923,6 +3683,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2937,6 +3701,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2963,6 +3731,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2978,6 +3750,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -2993,6 +3769,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3049,6 +3829,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLockStateWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLockStateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3061,6 +3845,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLockTypeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLockTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3073,6 +3861,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActuatorEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActuatorEnabledWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3087,6 +3879,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDoorStateWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDoorStateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3099,6 +3895,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfTotalUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfTotalUsersSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3114,6 +3914,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfPINUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfPINUsersSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3129,6 +3933,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfRFIDUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfRFIDUsersSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3144,6 +3952,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfWeekDaySchedulesSupportedPerUserWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3160,6 +3972,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfYearDaySchedulesSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfYearDaySchedulesSupportedPerUserWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3176,6 +3992,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxPINCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxPINCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3190,6 +4010,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinPINCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinPINCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3204,6 +4028,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxRFIDCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxRFIDCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3218,6 +4046,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinRFIDCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinRFIDCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3233,6 +4065,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLanguageWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeLanguageWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLanguageWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3246,6 +4082,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAutoRelockTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeAutoRelockTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAutoRelockTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3261,6 +4101,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSoundVolumeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeSoundVolumeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSoundVolumeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3275,6 +4119,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOperatingModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOperatingModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOperatingModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3289,6 +4137,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSupportedOperatingModesWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSupportedOperatingModesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3306,6 +4158,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeEnableOneTouchLockingWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnableOneTouchLockingWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3323,6 +4179,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnablePrivacyModeButtonWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3339,6 +4199,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeWrongCodeEntryLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeWrongCodeEntryLimitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeWrongCodeEntryLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3354,6 +4218,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3369,6 +4237,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3384,6 +4256,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3398,6 +4274,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3420,6 +4300,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeasurementTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeasurementTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3434,6 +4318,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTotalActivePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTotalActivePowerWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3448,6 +4336,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRmsVoltageWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRmsVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3461,6 +4353,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRmsVoltageMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRmsVoltageMinWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3475,6 +4371,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRmsVoltageMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRmsVoltageMaxWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3489,6 +4389,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRmsCurrentWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRmsCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3502,6 +4406,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRmsCurrentMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRmsCurrentMinWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3516,6 +4424,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRmsCurrentMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRmsCurrentMaxWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3530,6 +4442,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActivePowerWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActivePowerWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3543,6 +4459,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActivePowerMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActivePowerMinWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3557,6 +4477,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActivePowerMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActivePowerMaxWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3571,6 +4495,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3586,6 +4514,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3601,6 +4533,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3615,6 +4551,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3639,6 +4579,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePHYRateWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePHYRateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3651,6 +4595,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFullDuplexWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFullDuplexWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3664,6 +4612,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePacketRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePacketRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3678,6 +4630,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePacketTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePacketTxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3692,6 +4648,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxErrCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxErrCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3705,6 +4665,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCollisionCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCollisionCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3719,6 +4683,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3733,6 +4701,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCarrierDetectWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCarrierDetectWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3747,6 +4719,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTimeSinceResetWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTimeSinceResetWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3761,6 +4737,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3776,6 +4756,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3791,6 +4775,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3805,6 +4793,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3818,6 +4810,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3841,6 +4837,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFanModeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeFanModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFanModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3854,6 +4854,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFanModeSequenceWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeFanModeSequenceWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFanModeSequenceWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3868,6 +4872,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3883,6 +4891,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3898,6 +4910,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3912,6 +4928,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3925,6 +4945,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3947,6 +4971,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLabelListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLabelListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3959,6 +4987,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3974,6 +5006,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -3989,6 +5025,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4003,6 +5043,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4025,6 +5069,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4039,6 +5087,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4053,6 +5105,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4067,6 +5123,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeToleranceWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4079,6 +5139,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4094,6 +5158,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4109,6 +5177,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4123,6 +5195,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4156,6 +5232,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBreadcrumbWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBreadcrumbWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBreadcrumbWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4169,6 +5249,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBasicCommissioningInfoWithCompletionHandler: (void (^)(CHIPGeneralCommissioningClusterBasicCommissioningInfo * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void) subscribeAttributeBasicCommissioningInfoWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval @@ -4186,6 +5270,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRegulatoryConfigWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRegulatoryConfigWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4200,6 +5288,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLocationCapabilityWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLocationCapabilityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4214,6 +5306,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4229,6 +5325,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4244,6 +5344,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4258,6 +5362,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4280,6 +5388,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNetworkInterfacesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNetworkInterfacesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4294,6 +5406,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRebootCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRebootCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4306,6 +5422,10 @@ NS_ASSUME_NONNULL_BEGIN (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributeUpTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUpTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4318,6 +5438,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTotalOperationalHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTotalOperationalHoursWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4333,6 +5457,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBootReasonsWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBootReasonsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4346,6 +5474,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveHardwareFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveHardwareFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4361,6 +5493,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveRadioFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveRadioFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4375,6 +5511,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveNetworkFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveNetworkFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4390,6 +5530,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4405,6 +5549,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4420,6 +5568,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4434,6 +5586,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4468,6 +5624,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeGroupKeyMapWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeGroupKeyMapWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeGroupKeyMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4481,6 +5641,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeGroupTableWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeGroupTableWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4493,6 +5657,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxGroupsPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxGroupsPerFabricWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4507,6 +5675,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxGroupKeysPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxGroupKeysPerFabricWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4522,6 +5694,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4537,6 +5713,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4552,6 +5732,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4566,6 +5750,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4604,6 +5792,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNameSupportWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNameSupportWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4617,6 +5809,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4632,6 +5828,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4647,6 +5847,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4661,6 +5865,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4690,6 +5898,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeIdentifyTimeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeIdentifyTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeIdentifyTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4704,6 +5916,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeIdentifyTypeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeIdentifyTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4718,6 +5934,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4733,6 +5953,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4748,6 +5972,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4762,6 +5990,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4784,6 +6016,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4798,6 +6034,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4812,6 +6052,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4826,6 +6070,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeToleranceWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4838,6 +6086,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLightSensorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLightSensorTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4852,6 +6104,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4867,6 +6123,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4882,6 +6142,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4896,6 +6160,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4922,6 +6190,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4937,6 +6209,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4952,6 +6228,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -4966,6 +6246,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5001,6 +6285,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentLevelWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentLevelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5015,6 +6303,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRemainingTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRemainingTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5029,6 +6321,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinLevelWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinLevelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5041,6 +6337,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxLevelWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxLevelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5053,6 +6353,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentFrequencyWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5067,6 +6371,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinFrequencyWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5081,6 +6389,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxFrequencyWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5096,6 +6408,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOptionsWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOptionsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOptionsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5109,6 +6425,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOnOffTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOnOffTransitionTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOnOffTransitionTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5125,6 +6445,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOnLevelWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOnLevelWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOnLevelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5138,6 +6462,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOnTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOnTransitionTimeWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOnTransitionTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5153,6 +6481,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOffTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOffTransitionTimeWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOffTransitionTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5168,6 +6500,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDefaultMoveRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeDefaultMoveRateWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDefaultMoveRateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5184,6 +6520,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeStartUpCurrentLevelWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStartUpCurrentLevelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5199,6 +6539,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5214,6 +6558,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5229,6 +6577,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5243,6 +6595,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5256,6 +6612,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5279,6 +6639,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveLocaleWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeActiveLocaleWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveLocaleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5293,6 +6657,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSupportedLocalesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSupportedLocalesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5307,6 +6675,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5322,6 +6694,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5337,6 +6713,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5361,6 +6741,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5376,6 +6760,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5391,6 +6779,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5405,6 +6797,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5434,6 +6830,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInputListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInputListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5446,6 +6846,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentInputWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentInputWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5460,6 +6864,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5475,6 +6883,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5490,6 +6902,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5504,6 +6920,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5552,6 +6972,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentStateWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentStateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5566,6 +6990,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStartTimeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStartTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5578,6 +7006,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDurationWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDurationWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5590,6 +7022,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSampledPositionWithCompletionHandler:(void (^)(CHIPMediaPlaybackClusterPlaybackPosition * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSampledPositionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5604,6 +7040,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePlaybackSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePlaybackSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5618,6 +7058,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSeekRangeEndWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSeekRangeEndWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5632,6 +7076,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSeekRangeStartWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSeekRangeStartWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5646,6 +7094,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5661,6 +7113,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5676,6 +7132,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5690,6 +7150,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5715,6 +7179,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentModeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5728,6 +7196,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSupportedModesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSupportedModesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5742,6 +7214,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOnModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOnModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOnModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5754,6 +7230,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStartUpModeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStartUpModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5767,6 +7247,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDescriptionWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDescriptionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5780,6 +7264,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5795,6 +7283,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5810,6 +7302,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5824,6 +7320,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5865,6 +7365,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxNetworksWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxNetworksWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5878,6 +7382,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNetworksWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNetworksWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5890,6 +7398,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeScanMaxTimeSecondsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeScanMaxTimeSecondsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5904,6 +7416,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeConnectMaxTimeSecondsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeConnectMaxTimeSecondsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5920,6 +7436,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInterfaceEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInterfaceEnabledWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInterfaceEnabledWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5934,6 +7454,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLastNetworkingStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLastNetworkingStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5949,6 +7473,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLastNetworkIDWithCompletionHandler:(void (^)( NSData * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLastNetworkIDWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5962,6 +7490,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLastConnectErrorValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLastConnectErrorValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5977,6 +7509,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -5992,6 +7528,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6007,6 +7547,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6020,6 +7564,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6051,6 +7599,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6065,6 +7617,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6092,6 +7648,10 @@ NS_ASSUME_NONNULL_BEGIN completionHandler: (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeDefaultOtaProvidersWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDefaultOtaProvidersWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6107,6 +7667,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeUpdatePossibleWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUpdatePossibleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6121,6 +7685,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeUpdateStateWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUpdateStateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6134,6 +7702,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeUpdateStateProgressWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUpdateStateProgressWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6149,6 +7721,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6163,6 +7739,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6185,6 +7765,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOccupancyWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOccupancyWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6197,6 +7781,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOccupancySensorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOccupancySensorTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6212,6 +7800,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOccupancySensorTypeBitmapWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOccupancySensorTypeBitmapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6227,6 +7819,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6242,6 +7838,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6257,6 +7857,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6271,6 +7875,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6300,6 +7908,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)toggleWithCompletionHandler:(StatusCompletion)completionHandler; - (void)readAttributeOnOffWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOnOffWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6312,6 +7924,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeGlobalSceneControlWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeGlobalSceneControlWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6326,6 +7942,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOnTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOnTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOnTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6339,6 +7959,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOffWaitTimeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOffWaitTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOffWaitTimeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6353,6 +7977,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStartUpOnOffWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeStartUpOnOffWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStartUpOnOffWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6367,6 +7995,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6382,6 +8014,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6397,6 +8033,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6411,6 +8051,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6424,6 +8068,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6446,6 +8094,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSwitchTypeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSwitchTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6460,6 +8112,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSwitchActionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeSwitchActionsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSwitchActionsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6474,6 +8130,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6489,6 +8149,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6504,6 +8168,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6518,6 +8186,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6567,6 +8239,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNOCsWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNOCsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6579,6 +8255,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFabricsWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFabricsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6591,6 +8271,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSupportedFabricsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSupportedFabricsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6605,6 +8289,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCommissionedFabricsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCommissionedFabricsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6620,6 +8308,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTrustedRootCertificatesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTrustedRootCertificatesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6635,6 +8327,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentFabricIndexWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentFabricIndexWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6649,6 +8345,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6664,6 +8364,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6679,6 +8383,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6693,6 +8401,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6714,6 +8426,10 @@ NS_ASSUME_NONNULL_BEGIN @interface CHIPPowerSource : CHIPCluster - (void)readAttributeStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6725,6 +8441,10 @@ NS_ASSUME_NONNULL_BEGIN completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributeOrderWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOrderWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6737,6 +8457,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDescriptionWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDescriptionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6750,6 +8474,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBatteryVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBatteryVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6764,6 +8492,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBatteryPercentRemainingWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBatteryPercentRemainingWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6779,6 +8511,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBatteryTimeRemainingWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBatteryTimeRemainingWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6794,6 +8530,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBatteryChargeLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBatteryChargeLevelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6808,6 +8548,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveBatteryFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveBatteryFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6823,6 +8567,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBatteryChargeStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBatteryChargeStateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6837,6 +8585,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6852,6 +8604,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6867,6 +8623,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6881,6 +8641,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6894,6 +8658,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6915,6 +8683,10 @@ NS_ASSUME_NONNULL_BEGIN @interface CHIPPowerSourceConfiguration : CHIPCluster - (void)readAttributeSourcesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSourcesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6927,6 +8699,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6942,6 +8718,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6957,6 +8737,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6971,6 +8755,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -6993,6 +8781,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7007,6 +8799,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7021,6 +8817,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7035,6 +8835,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7049,6 +8853,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7071,6 +8879,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxPressureWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxPressureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7084,6 +8896,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxSpeedWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7096,6 +8912,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxFlowWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxFlowWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7108,6 +8928,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinConstPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinConstPressureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7122,6 +8946,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxConstPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxConstPressureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7136,6 +8964,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinCompPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinCompPressureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7150,6 +8982,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxCompPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxCompPressureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7164,6 +9000,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinConstSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinConstSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7178,6 +9018,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxConstSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxConstSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7192,6 +9036,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinConstFlowWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinConstFlowWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7206,6 +9054,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxConstFlowWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxConstFlowWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7220,6 +9072,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinConstTempWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinConstTempWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7234,6 +9090,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxConstTempWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxConstTempWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7248,6 +9108,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePumpStatusWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePumpStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7261,6 +9125,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEffectiveOperationModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEffectiveOperationModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7276,6 +9144,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEffectiveControlModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEffectiveControlModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7291,6 +9163,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCapacityWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7302,6 +9178,10 @@ NS_ASSUME_NONNULL_BEGIN completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributeSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7316,6 +9196,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeLifetimeRunningHoursWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLifetimeRunningHoursWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7330,6 +9214,10 @@ NS_ASSUME_NONNULL_BEGIN (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePowerWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7344,6 +9232,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLifetimeEnergyConsumedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7360,6 +9252,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOperationModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOperationModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOperationModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7375,6 +9271,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeControlModeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeControlModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeControlModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7388,6 +9288,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAlarmMaskWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAlarmMaskWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7400,6 +9304,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7415,6 +9323,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7430,6 +9342,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7444,6 +9360,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7457,6 +9377,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7479,6 +9403,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7493,6 +9421,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7507,6 +9439,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7521,6 +9457,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeToleranceWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7533,6 +9473,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7548,6 +9492,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7563,6 +9511,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7577,6 +9529,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7619,6 +9575,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSceneCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSceneCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7632,6 +9592,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentSceneWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentSceneWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7646,6 +9610,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentGroupWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentGroupWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7660,6 +9628,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSceneValidWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSceneValidWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7673,6 +9645,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNameSupportWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNameSupportWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7686,6 +9662,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7701,6 +9681,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7716,6 +9700,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7730,6 +9718,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7754,6 +9746,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeThreadMetricsWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeThreadMetricsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7768,6 +9764,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentHeapFreeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentHeapFreeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7782,6 +9782,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentHeapUsedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentHeapUsedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7796,6 +9800,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentHeapHighWatermarkWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentHeapHighWatermarkWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7811,6 +9819,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7826,6 +9838,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7841,6 +9857,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7855,6 +9875,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7868,6 +9892,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7890,6 +9918,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfPositionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfPositionsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7904,6 +9936,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7918,6 +9954,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMultiPressMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMultiPressMaxWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7932,6 +9972,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7947,6 +9991,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7962,6 +10010,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7976,6 +10028,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -7989,6 +10045,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8015,6 +10075,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTargetListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTargetListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8027,6 +10091,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentTargetWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentTargetWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8041,6 +10109,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8056,6 +10128,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8071,6 +10147,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8085,6 +10165,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8107,6 +10191,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8121,6 +10209,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8135,6 +10227,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8149,6 +10245,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeToleranceWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8161,6 +10261,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8175,6 +10279,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8245,6 +10353,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBooleanWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBooleanWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8258,6 +10370,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBitmap8WithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBitmap8WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBitmap8WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8271,6 +10387,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBitmap16WithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBitmap16WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBitmap16WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8284,6 +10404,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBitmap32WithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBitmap32WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBitmap32WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8297,6 +10421,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBitmap64WithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeBitmap64WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBitmap64WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8309,6 +10437,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt8uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8321,6 +10453,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt16uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt16uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8333,6 +10469,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt24uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt24uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt24uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8345,6 +10485,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt32uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt32uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt32uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8357,6 +10501,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt40uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt40uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt40uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8369,6 +10517,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt48uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt48uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt48uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8381,6 +10533,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt56uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt56uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt56uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8393,6 +10549,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt64uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt64uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt64uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8405,6 +10565,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt8sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt8sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8417,6 +10581,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt16sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt16sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8429,6 +10597,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt24sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt24sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt24sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8441,6 +10613,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt32sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt32sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt32sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8453,6 +10629,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt40sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt40sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt40sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8465,6 +10645,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt48sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt48sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt48sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8477,6 +10661,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt56sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt56sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt56sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8489,6 +10677,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInt64sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeInt64sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInt64sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8501,6 +10693,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEnum8WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeEnum8WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnum8WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8513,6 +10709,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEnum16WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeEnum16WithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnum16WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8526,6 +10726,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFloatSingleWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeFloatSingleWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFloatSingleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8540,6 +10744,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFloatDoubleWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeFloatDoubleWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFloatDoubleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8554,6 +10762,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOctetStringWithCompletionHandler:(void (^)( NSData * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeOctetStringWithValue:(NSData * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOctetStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8567,6 +10779,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeListInt8uWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeListInt8uWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeListInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8580,6 +10796,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeListOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeListOctetStringWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeListOctetStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8596,6 +10816,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeListStructOctetStringWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeListStructOctetStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8612,6 +10836,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLongOctetStringWithCompletionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeLongOctetStringWithValue:(NSData * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLongOctetStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8627,6 +10855,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCharStringWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeCharStringWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCharStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8641,6 +10873,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLongCharStringWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeLongCharStringWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLongCharStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8656,6 +10892,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEpochUsWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeEpochUsWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEpochUsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8668,6 +10908,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEpochSWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeEpochSWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEpochSWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8681,6 +10925,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeVendorIdWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeVendorIdWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeVendorIdWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8695,6 +10943,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeListNullablesAndOptionalsStructWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8711,6 +10963,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEnumAttrWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeEnumAttrWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEnumAttrWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8725,6 +10981,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeStructAttrWithValue:(CHIPTestClusterClusterSimpleStruct * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStructAttrWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8741,6 +11001,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeRangeRestrictedInt8uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRangeRestrictedInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8758,6 +11022,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeRangeRestrictedInt8sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRangeRestrictedInt8sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8775,6 +11043,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeRangeRestrictedInt16uWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRangeRestrictedInt16uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8792,6 +11064,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeRangeRestrictedInt16sWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRangeRestrictedInt16sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8808,6 +11084,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeListLongOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeListLongOctetStringWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeListLongOctetStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8824,6 +11104,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeListFabricScopedWithParams:(CHIPReadParams * _Nullable)params completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeListFabricScopedWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeListFabricScopedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8839,6 +11123,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTimedWriteBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeTimedWriteBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTimedWriteBooleanWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8854,6 +11142,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeGeneralErrorBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeGeneralErrorBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeGeneralErrorBooleanWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8870,6 +11162,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterErrorBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeClusterErrorBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterErrorBooleanWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8886,6 +11182,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeUnsupportedWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeUnsupportedWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeUnsupportedWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8900,6 +11200,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableBooleanWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableBooleanWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8915,6 +11219,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableBitmap8WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableBitmap8WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableBitmap8WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8930,6 +11238,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableBitmap16WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableBitmap16WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableBitmap16WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8945,6 +11257,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableBitmap32WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableBitmap32WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableBitmap32WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8960,6 +11276,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableBitmap64WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableBitmap64WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableBitmap64WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8975,6 +11295,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt8uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -8990,6 +11314,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt16uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt16uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9005,6 +11333,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt24uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt24uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt24uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9020,6 +11352,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt32uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt32uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt32uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9035,6 +11371,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt40uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt40uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt40uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9050,6 +11390,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt48uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt48uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt48uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9065,6 +11409,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt56uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt56uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt56uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9080,6 +11428,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt64uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt64uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt64uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9095,6 +11447,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt8sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt8sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9110,6 +11466,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt16sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt16sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9125,6 +11485,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt24sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt24sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt24sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9140,6 +11504,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt32sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt32sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt32sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9155,6 +11523,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt40sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt40sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt40sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9170,6 +11542,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt48sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt48sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt48sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9185,6 +11561,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt56sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt56sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt56sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9200,6 +11580,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableInt64sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableInt64sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableInt64sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9215,6 +11599,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableEnum8WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableEnum8WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableEnum8WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9230,6 +11618,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableEnum16WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableEnum16WithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableEnum16WithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9246,6 +11638,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableFloatSingleWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableFloatSingleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9263,6 +11659,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableFloatDoubleWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableFloatDoubleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9279,6 +11679,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableOctetStringWithCompletionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableOctetStringWithValue:(NSData * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableOctetStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9295,6 +11699,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableCharStringWithCompletionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableCharStringWithValue:(NSString * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableCharStringWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9310,6 +11718,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNullableEnumAttrWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableEnumAttrWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableEnumAttrWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9326,6 +11738,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableStructWithValue:(CHIPTestClusterClusterSimpleStruct * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableStructWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9342,6 +11758,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableRangeRestrictedInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9359,6 +11779,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableRangeRestrictedInt8sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9376,6 +11800,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableRangeRestrictedInt16uWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9393,6 +11821,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNullableRangeRestrictedInt16sWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9408,6 +11840,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9423,6 +11859,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9438,6 +11878,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9452,6 +11896,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9485,6 +11933,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLocalTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLocalTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9499,6 +11951,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAbsMinHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAbsMinHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9514,6 +11970,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAbsMaxHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAbsMaxHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9529,6 +11989,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAbsMinCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAbsMinCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9544,6 +12008,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAbsMaxCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAbsMaxCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9561,6 +12029,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOccupiedCoolingSetpointWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9578,6 +12050,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOccupiedHeatingSetpointWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9595,6 +12071,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeMinHeatSetpointLimitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9612,6 +12092,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9629,6 +12113,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeMinCoolSetpointLimitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9646,6 +12134,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMaxCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9662,6 +12154,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMinSetpointDeadBandWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeMinSetpointDeadBandWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMinSetpointDeadBandWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9679,6 +12175,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeControlSequenceOfOperationWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeControlSequenceOfOperationWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9695,6 +12195,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSystemModeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeSystemModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSystemModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9708,6 +12212,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStartOfWeekWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStartOfWeekWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9721,6 +12229,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfWeeklyTransitionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfWeeklyTransitionsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9736,6 +12248,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNumberOfDailyTransitionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNumberOfDailyTransitionsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9751,6 +12267,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9765,6 +12285,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9778,6 +12302,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9802,6 +12330,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeTemperatureDisplayModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTemperatureDisplayModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9818,6 +12350,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeKeypadLockoutWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeKeypadLockoutWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeKeypadLockoutWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9834,6 +12370,10 @@ NS_ASSUME_NONNULL_BEGIN NSError * _Nullable error))completionHandler; - (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeScheduleProgrammingVisibilityWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9849,6 +12389,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9864,6 +12408,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9879,6 +12427,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9893,6 +12445,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9917,6 +12473,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeChannelWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeChannelWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9929,6 +12489,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRoutingRoleWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRoutingRoleWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9942,6 +12506,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNetworkNameWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNetworkNameWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9954,6 +12522,10 @@ NS_ASSUME_NONNULL_BEGIN (void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributePanIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePanIdWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9966,6 +12538,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeExtendedPanIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeExtendedPanIdWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9980,6 +12556,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMeshLocalPrefixWithCompletionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMeshLocalPrefixWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -9994,6 +12574,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10008,6 +12592,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeNeighborTableListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeNeighborTableListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10022,6 +12610,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRouteTableListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRouteTableListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10036,6 +12628,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePartitionIdWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePartitionIdWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10049,6 +12645,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeWeightingWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeWeightingWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10061,6 +12661,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDataVersionWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDataVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10074,6 +12678,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeStableDataVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeStableDataVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10088,6 +12696,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLeaderRouterIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLeaderRouterIdWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10102,6 +12714,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeDetachedRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDetachedRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10116,6 +12732,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeChildRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeChildRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10130,6 +12750,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRouterRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRouterRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10144,6 +12768,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLeaderRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLeaderRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10158,6 +12786,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttachAttemptCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttachAttemptCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10172,6 +12804,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePartitionIdChangeCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePartitionIdChangeCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10187,6 +12823,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBetterPartitionAttachAttemptCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBetterPartitionAttachAttemptCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10202,6 +12842,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeParentChangeCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeParentChangeCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10216,6 +12860,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxTotalCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxTotalCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10230,6 +12878,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxUnicastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxUnicastCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10244,6 +12896,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxBroadcastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxBroadcastCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10258,6 +12914,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxAckRequestedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxAckRequestedCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10273,6 +12933,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxAckedCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxAckedCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10287,6 +12951,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxNoAckRequestedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxNoAckRequestedCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10302,6 +12970,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxDataCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxDataCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10315,6 +12987,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxDataPollCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxDataPollCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10329,6 +13005,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxBeaconCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxBeaconCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10343,6 +13023,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxBeaconRequestCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxBeaconRequestCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10358,6 +13042,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxOtherCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxOtherCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10372,6 +13060,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxRetryCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxRetryCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10386,6 +13078,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxDirectMaxRetryExpiryCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxDirectMaxRetryExpiryCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10401,6 +13097,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxIndirectMaxRetryExpiryCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxIndirectMaxRetryExpiryCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10416,6 +13116,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxErrCcaCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxErrCcaCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10430,6 +13134,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxErrAbortCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxErrAbortCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10444,6 +13152,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTxErrBusyChannelCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTxErrBusyChannelCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10459,6 +13171,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxTotalCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxTotalCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10473,6 +13189,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxUnicastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxUnicastCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10487,6 +13207,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxBroadcastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxBroadcastCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10501,6 +13225,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxDataCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxDataCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10514,6 +13242,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxDataPollCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxDataPollCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10528,6 +13260,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxBeaconCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxBeaconCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10542,6 +13278,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxBeaconRequestCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxBeaconRequestCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10557,6 +13297,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxOtherCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxOtherCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10571,6 +13315,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxAddressFilteredCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxAddressFilteredCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10586,6 +13334,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxDestAddrFilteredCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxDestAddrFilteredCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10601,6 +13353,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxDuplicatedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxDuplicatedCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10615,6 +13371,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxErrNoFrameCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxErrNoFrameCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10629,6 +13389,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxErrUnknownNeighborCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxErrUnknownNeighborCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10644,6 +13408,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxErrInvalidSrcAddrCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxErrInvalidSrcAddrCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10659,6 +13427,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxErrSecCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxErrSecCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10673,6 +13445,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxErrFcsCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxErrFcsCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10687,6 +13463,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeRxErrOtherCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRxErrOtherCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10701,6 +13481,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveTimestampWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10715,6 +13499,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePendingTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePendingTimestampWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10728,6 +13516,10 @@ NS_ASSUME_NONNULL_BEGIN (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributeDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeDelayWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10740,6 +13532,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSecurityPolicyWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSecurityPolicyWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10754,6 +13550,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeChannelMaskWithCompletionHandler:(void (^)( NSData * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeChannelMaskWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10766,6 +13566,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOperationalDatasetComponentsWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOperationalDatasetComponentsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10781,6 +13585,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveNetworkFaultsListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveNetworkFaultsListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10796,6 +13604,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10811,6 +13623,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10826,6 +13642,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10840,6 +13660,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10853,6 +13677,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10876,6 +13704,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeHourFormatWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeHourFormatWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeHourFormatWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10890,6 +13722,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeActiveCalendarTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeActiveCalendarTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeActiveCalendarTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10904,6 +13740,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSupportedCalendarTypesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSupportedCalendarTypesWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10919,6 +13759,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10934,6 +13778,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10949,6 +13797,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10972,6 +13824,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTemperatureUnitWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeTemperatureUnitWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTemperatureUnitWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -10986,6 +13842,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11000,6 +13860,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11013,6 +13877,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11036,6 +13904,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeLabelListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeLabelListWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeLabelListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11048,6 +13920,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11063,6 +13939,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11078,6 +13958,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11100,6 +13984,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeMACAddressWithCompletionHandler:(void (^)( NSString * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeMACAddressWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11113,6 +14001,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11128,6 +14020,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11143,6 +14039,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11157,6 +14057,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11180,6 +14084,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)resetCountsWithCompletionHandler:(StatusCompletion)completionHandler; - (void)readAttributeBssidWithCompletionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBssidWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11192,6 +14100,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSecurityTypeWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSecurityTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11206,6 +14118,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeWiFiVersionWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeWiFiVersionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11219,6 +14135,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeChannelNumberWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeChannelNumberWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11232,6 +14152,10 @@ NS_ASSUME_NONNULL_BEGIN (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)readAttributeRssiWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeRssiWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11244,6 +14168,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBeaconLostCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBeaconLostCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11258,6 +14186,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeBeaconRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeBeaconRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11272,6 +14204,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePacketMulticastRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePacketMulticastRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11287,6 +14223,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePacketMulticastTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePacketMulticastTxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11302,6 +14242,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePacketUnicastRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePacketUnicastRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11317,6 +14261,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributePacketUnicastTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributePacketUnicastTxCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11332,6 +14280,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentMaxRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentMaxRateWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11346,6 +14298,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11360,6 +14316,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11375,6 +14335,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11390,6 +14354,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11404,6 +14372,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11417,6 +14389,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11450,6 +14426,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)upOrOpenWithCompletionHandler:(StatusCompletion)completionHandler; - (void)readAttributeTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11462,6 +14442,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionLiftWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11477,6 +14461,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionTiltWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11492,6 +14480,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeConfigStatusWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeConfigStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11506,6 +14498,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionLiftPercentageWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionLiftPercentageWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11521,6 +14517,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionTiltPercentageWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionTiltPercentageWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11536,6 +14536,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeOperationalStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeOperationalStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11550,6 +14554,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTargetPositionLiftPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTargetPositionLiftPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11565,6 +14573,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeTargetPositionTiltPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeTargetPositionTiltPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11580,6 +14592,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeEndProductTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeEndProductTypeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11594,6 +14610,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionLiftPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionLiftPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11609,6 +14629,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeCurrentPositionTiltPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeCurrentPositionTiltPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11624,6 +14648,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInstalledOpenLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInstalledOpenLimitLiftWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11639,6 +14667,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInstalledClosedLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInstalledClosedLimitLiftWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11654,6 +14686,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInstalledOpenLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInstalledOpenLimitTiltWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11669,6 +14705,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeInstalledClosedLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeInstalledClosedLimitTiltWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11684,6 +14724,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; - (void)writeAttributeModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeModeWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11696,6 +14740,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeSafetyStatusWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeSafetyStatusWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11710,6 +14758,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11725,6 +14777,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClientGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11740,6 +14796,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeAttributeListWithCompletionHandler:(void (^)( NSArray * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11754,6 +14814,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params @@ -11767,6 +14831,10 @@ NS_ASSUME_NONNULL_BEGIN - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler; +/** + * This API does not support setting autoResubscribe to NO in the + * CHIPSubscribeParams. + */ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval maxInterval:(NSNumber * _Nonnull)maxInterval params:(CHIPSubscribeParams * _Nullable)params diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm index 6b2f538e2d02ec..508267c609f8c8 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm @@ -180,6 +180,10 @@ - (void)subscribeAttributeAclWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPAccessControlAclListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccessControl::Attributes::Acl::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -278,6 +282,10 @@ - (void)subscribeAttributeExtensionWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPAccessControlExtensionListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccessControl::Attributes::Extension::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -338,6 +346,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAccessControlServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccessControl::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -399,6 +411,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAccessControlClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccessControl::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -458,6 +474,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPAccessControlAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccessControl::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -517,6 +537,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccessControl::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -638,6 +662,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAccountLoginServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccountLogin::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -699,6 +727,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAccountLoginClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccountLogin::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -758,6 +790,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPAccountLoginAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccountLogin::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -817,6 +853,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AccountLogin::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -942,6 +982,10 @@ - (void)subscribeAttributeWindowStatusWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::WindowStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1000,6 +1044,10 @@ - (void)subscribeAttributeAdminFabricIndexWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::AdminFabricIndex::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1058,6 +1106,10 @@ - (void)subscribeAttributeAdminVendorIdWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::AdminVendorId::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1119,6 +1171,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAdministratorCommissioningServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -1184,6 +1240,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAdministratorCommissioningClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -1246,6 +1306,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPAdministratorCommissioningAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1305,6 +1369,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AdministratorCommissioning::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1371,6 +1439,10 @@ - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::VendorName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1427,6 +1499,10 @@ - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::VendorID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1484,6 +1560,10 @@ - (void)subscribeAttributeApplicationNameWithMinInterval:(NSNumber * _Nonnull)mi new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::ApplicationName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1541,6 +1621,10 @@ - (void)subscribeAttributeProductIDWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::ProductID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1600,6 +1684,10 @@ - (void)subscribeAttributeApplicationWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPApplicationBasicApplicationStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::Application::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1659,6 +1747,10 @@ - (void)subscribeAttributeStatusWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPApplicationBasicClusterApplicationStatusEnumAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::Status::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1717,6 +1809,10 @@ - (void)subscribeAttributeApplicationVersionWithMinInterval:(NSNumber * _Nonnull new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::ApplicationVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1776,6 +1872,10 @@ - (void)subscribeAttributeAllowedVendorListWithMinInterval:(NSNumber * _Nonnull) new CHIPApplicationBasicAllowedVendorListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::AllowedVendorList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1837,6 +1937,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPApplicationBasicServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1898,6 +2002,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPApplicationBasicClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -1957,6 +2065,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPApplicationBasicAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2016,6 +2128,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationBasic::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2138,6 +2254,10 @@ - (void)subscribeAttributeCatalogListWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPApplicationLauncherCatalogListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationLauncher::Attributes::CatalogList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2226,6 +2346,10 @@ - (void)subscribeAttributeCurrentAppWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPApplicationLauncherCurrentAppStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationLauncher::Attributes::CurrentApp::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2287,6 +2411,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPApplicationLauncherServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationLauncher::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2349,6 +2477,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPApplicationLauncherClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationLauncher::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2409,6 +2541,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPApplicationLauncherAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationLauncher::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2468,6 +2604,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ApplicationLauncher::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2574,6 +2714,10 @@ - (void)subscribeAttributeOutputListWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPAudioOutputOutputListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AudioOutput::Attributes::OutputList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2632,6 +2776,10 @@ - (void)subscribeAttributeCurrentOutputWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AudioOutput::Attributes::CurrentOutput::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2692,6 +2840,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAudioOutputServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AudioOutput::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2753,6 +2905,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPAudioOutputClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AudioOutput::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2812,6 +2968,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPAudioOutputAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AudioOutput::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2871,6 +3031,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = AudioOutput::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -2974,6 +3138,10 @@ - (void)subscribeAttributeBarrierMovingStateWithMinInterval:(NSNumber * _Nonnull new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::BarrierMovingState::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3033,6 +3201,10 @@ - (void)subscribeAttributeBarrierSafetyStatusWithMinInterval:(NSNumber * _Nonnul new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::BarrierSafetyStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3092,6 +3264,10 @@ - (void)subscribeAttributeBarrierCapabilitiesWithMinInterval:(NSNumber * _Nonnul new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::BarrierCapabilities::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3150,6 +3326,10 @@ - (void)subscribeAttributeBarrierPositionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::BarrierPosition::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3210,6 +3390,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBarrierControlServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3271,6 +3455,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBarrierControlClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3330,6 +3518,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBarrierControlAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3389,6 +3581,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BarrierControl::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3456,6 +3652,10 @@ - (void)subscribeAttributeDataModelRevisionWithMinInterval:(NSNumber * _Nonnull) new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::DataModelRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3513,6 +3713,10 @@ - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::VendorName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3569,6 +3773,10 @@ - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPVendorIdAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::VendorID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3625,6 +3833,10 @@ - (void)subscribeAttributeProductNameWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ProductName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3682,6 +3894,10 @@ - (void)subscribeAttributeProductIDWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ProductID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3756,6 +3972,10 @@ - (void)subscribeAttributeNodeLabelWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::NodeLabel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3830,6 +4050,10 @@ - (void)subscribeAttributeLocationWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::Location::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3887,6 +4111,10 @@ - (void)subscribeAttributeHardwareVersionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::HardwareVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -3946,6 +4174,10 @@ - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(NSNumber * _Nonn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::HardwareVersionString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4004,6 +4236,10 @@ - (void)subscribeAttributeSoftwareVersionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::SoftwareVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4063,6 +4299,10 @@ - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(NSNumber * _Nonn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::SoftwareVersionString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4121,6 +4361,10 @@ - (void)subscribeAttributeManufacturingDateWithMinInterval:(NSNumber * _Nonnull) new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ManufacturingDate::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4178,6 +4422,10 @@ - (void)subscribeAttributePartNumberWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::PartNumber::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4234,6 +4482,10 @@ - (void)subscribeAttributeProductURLWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ProductURL::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4290,6 +4542,10 @@ - (void)subscribeAttributeProductLabelWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ProductLabel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4347,6 +4603,10 @@ - (void)subscribeAttributeSerialNumberWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::SerialNumber::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4424,6 +4684,10 @@ - (void)subscribeAttributeLocalConfigDisabledWithMinInterval:(NSNumber * _Nonnul new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::LocalConfigDisabled::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4481,6 +4745,10 @@ - (void)subscribeAttributeReachableWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::Reachable::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4537,6 +4805,10 @@ - (void)subscribeAttributeUniqueIDWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::UniqueID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4596,6 +4868,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBasicServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4657,6 +4933,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBasicClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4716,6 +4996,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBasicAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4774,6 +5058,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Basic::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4858,6 +5146,10 @@ - (void)subscribeAttributeOutOfServiceWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::OutOfService::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4933,6 +5225,10 @@ - (void)subscribeAttributePresentValueWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::PresentValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -4990,6 +5286,10 @@ - (void)subscribeAttributeStatusFlagsWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::StatusFlags::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5050,6 +5350,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBinaryInputBasicServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5111,6 +5415,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBinaryInputBasicClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5170,6 +5478,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBinaryInputBasicAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5229,6 +5541,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BinaryInputBasic::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5352,6 +5668,10 @@ - (void)subscribeAttributeBindingWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPBindingBindingListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Binding::Attributes::Binding::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5411,6 +5731,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBindingServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Binding::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5472,6 +5796,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBindingClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Binding::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5531,6 +5859,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBindingAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Binding::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5590,6 +5922,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Binding::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5656,6 +5992,10 @@ - (void)subscribeAttributeStateValueWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BooleanState::Attributes::StateValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5715,6 +6055,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBooleanStateServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BooleanState::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5776,6 +6120,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBooleanStateClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BooleanState::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5835,6 +6183,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBooleanStateAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BooleanState::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -5894,6 +6246,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BooleanState::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6242,6 +6598,10 @@ - (void)subscribeAttributeActionListWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPBridgedActionsActionListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::ActionList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6300,6 +6660,10 @@ - (void)subscribeAttributeEndpointListWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPBridgedActionsEndpointListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::EndpointList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6358,6 +6722,10 @@ - (void)subscribeAttributeSetupUrlWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::SetupUrl::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6417,6 +6785,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBridgedActionsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6478,6 +6850,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBridgedActionsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6537,6 +6913,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBridgedActionsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6596,6 +6976,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedActions::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6662,6 +7046,10 @@ - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::VendorName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6718,6 +7106,10 @@ - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPVendorIdAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::VendorID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6774,6 +7166,10 @@ - (void)subscribeAttributeProductNameWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ProductName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6849,6 +7245,10 @@ - (void)subscribeAttributeNodeLabelWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::NodeLabel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6906,6 +7306,10 @@ - (void)subscribeAttributeHardwareVersionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::HardwareVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -6965,6 +7369,10 @@ - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(NSNumber * _Nonn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::HardwareVersionString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7023,6 +7431,10 @@ - (void)subscribeAttributeSoftwareVersionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::SoftwareVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7082,6 +7494,10 @@ - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(NSNumber * _Nonn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::SoftwareVersionString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7140,6 +7556,10 @@ - (void)subscribeAttributeManufacturingDateWithMinInterval:(NSNumber * _Nonnull) new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ManufacturingDate::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7197,6 +7617,10 @@ - (void)subscribeAttributePartNumberWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::PartNumber::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7253,6 +7677,10 @@ - (void)subscribeAttributeProductURLWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ProductURL::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7309,6 +7737,10 @@ - (void)subscribeAttributeProductLabelWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ProductLabel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7366,6 +7798,10 @@ - (void)subscribeAttributeSerialNumberWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::SerialNumber::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7423,6 +7859,10 @@ - (void)subscribeAttributeReachableWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::Reachable::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7479,6 +7919,10 @@ - (void)subscribeAttributeUniqueIDWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::UniqueID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7538,6 +7982,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBridgedDeviceBasicServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7600,6 +8048,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPBridgedDeviceBasicClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7660,6 +8112,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPBridgedDeviceBasicAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7719,6 +8175,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = BridgedDeviceBasic::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7840,6 +8300,10 @@ - (void)subscribeAttributeChannelListWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPChannelChannelListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::ChannelList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7898,6 +8362,10 @@ - (void)subscribeAttributeLineupWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPChannelLineupStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::Lineup::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -7957,6 +8425,10 @@ - (void)subscribeAttributeCurrentChannelWithMinInterval:(NSNumber * _Nonnull)min new CHIPChannelCurrentChannelStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::CurrentChannel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8018,6 +8490,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPChannelServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8079,6 +8555,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPChannelClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8138,6 +8618,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPChannelAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8197,6 +8681,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Channel::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8691,6 +9179,10 @@ - (void)subscribeAttributeCurrentHueWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::CurrentHue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8748,6 +9240,10 @@ - (void)subscribeAttributeCurrentSaturationWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::CurrentSaturation::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8806,6 +9302,10 @@ - (void)subscribeAttributeRemainingTimeWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::RemainingTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8863,6 +9363,10 @@ - (void)subscribeAttributeCurrentXWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::CurrentX::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8919,6 +9423,10 @@ - (void)subscribeAttributeCurrentYWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::CurrentY::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -8976,6 +9484,10 @@ - (void)subscribeAttributeDriftCompensationWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::DriftCompensation::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9034,6 +9546,10 @@ - (void)subscribeAttributeCompensationTextWithMinInterval:(NSNumber * _Nonnull)m new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::CompensationText::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9092,6 +9608,10 @@ - (void)subscribeAttributeColorTemperatureWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorTemperature::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9149,6 +9669,10 @@ - (void)subscribeAttributeColorModeWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9225,6 +9749,10 @@ - (void)subscribeAttributeColorControlOptionsWithMinInterval:(NSNumber * _Nonnul new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorControlOptions::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9283,6 +9811,10 @@ - (void)subscribeAttributeNumberOfPrimariesWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::NumberOfPrimaries::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9340,6 +9872,10 @@ - (void)subscribeAttributePrimary1XWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary1X::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9396,6 +9932,10 @@ - (void)subscribeAttributePrimary1YWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary1Y::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9453,6 +9993,10 @@ - (void)subscribeAttributePrimary1IntensityWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary1Intensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9510,6 +10054,10 @@ - (void)subscribeAttributePrimary2XWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary2X::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9566,6 +10114,10 @@ - (void)subscribeAttributePrimary2YWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary2Y::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9623,6 +10175,10 @@ - (void)subscribeAttributePrimary2IntensityWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary2Intensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9680,6 +10236,10 @@ - (void)subscribeAttributePrimary3XWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary3X::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9736,6 +10296,10 @@ - (void)subscribeAttributePrimary3YWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary3Y::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9793,6 +10357,10 @@ - (void)subscribeAttributePrimary3IntensityWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary3Intensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9850,6 +10418,10 @@ - (void)subscribeAttributePrimary4XWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary4X::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9906,6 +10478,10 @@ - (void)subscribeAttributePrimary4YWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary4Y::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -9963,6 +10539,10 @@ - (void)subscribeAttributePrimary4IntensityWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary4Intensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10020,6 +10600,10 @@ - (void)subscribeAttributePrimary5XWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary5X::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10076,6 +10660,10 @@ - (void)subscribeAttributePrimary5YWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary5Y::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10133,6 +10721,10 @@ - (void)subscribeAttributePrimary5IntensityWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary5Intensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10190,6 +10782,10 @@ - (void)subscribeAttributePrimary6XWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary6X::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10246,6 +10842,10 @@ - (void)subscribeAttributePrimary6YWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary6Y::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10303,6 +10903,10 @@ - (void)subscribeAttributePrimary6IntensityWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::Primary6Intensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10378,6 +10982,10 @@ - (void)subscribeAttributeWhitePointXWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::WhitePointX::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10453,6 +11061,10 @@ - (void)subscribeAttributeWhitePointYWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::WhitePointY::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10528,6 +11140,10 @@ - (void)subscribeAttributeColorPointRXWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointRX::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10603,6 +11219,10 @@ - (void)subscribeAttributeColorPointRYWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointRY::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10680,6 +11300,10 @@ - (void)subscribeAttributeColorPointRIntensityWithMinInterval:(NSNumber * _Nonnu new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointRIntensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10755,6 +11379,10 @@ - (void)subscribeAttributeColorPointGXWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointGX::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10830,6 +11458,10 @@ - (void)subscribeAttributeColorPointGYWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointGY::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10907,6 +11539,10 @@ - (void)subscribeAttributeColorPointGIntensityWithMinInterval:(NSNumber * _Nonnu new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointGIntensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -10982,6 +11618,10 @@ - (void)subscribeAttributeColorPointBXWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointBX::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11057,6 +11697,10 @@ - (void)subscribeAttributeColorPointBYWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointBY::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11134,6 +11778,10 @@ - (void)subscribeAttributeColorPointBIntensityWithMinInterval:(NSNumber * _Nonnu new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorPointBIntensity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11192,6 +11840,10 @@ - (void)subscribeAttributeEnhancedCurrentHueWithMinInterval:(NSNumber * _Nonnull new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::EnhancedCurrentHue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11250,6 +11902,10 @@ - (void)subscribeAttributeEnhancedColorModeWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::EnhancedColorMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11308,6 +11964,10 @@ - (void)subscribeAttributeColorLoopActiveWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorLoopActive::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11366,6 +12026,10 @@ - (void)subscribeAttributeColorLoopDirectionWithMinInterval:(NSNumber * _Nonnull new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorLoopDirection::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11424,6 +12088,10 @@ - (void)subscribeAttributeColorLoopTimeWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorLoopTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11483,6 +12151,10 @@ - (void)subscribeAttributeColorLoopStartEnhancedHueWithMinInterval:(NSNumber * _ new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorLoopStartEnhancedHue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11542,6 +12214,10 @@ - (void)subscribeAttributeColorLoopStoredEnhancedHueWithMinInterval:(NSNumber * new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorLoopStoredEnhancedHue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11600,6 +12276,10 @@ - (void)subscribeAttributeColorCapabilitiesWithMinInterval:(NSNumber * _Nonnull) new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorCapabilities::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11659,6 +12339,10 @@ - (void)subscribeAttributeColorTempPhysicalMinWithMinInterval:(NSNumber * _Nonnu new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorTempPhysicalMin::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11718,6 +12402,10 @@ - (void)subscribeAttributeColorTempPhysicalMaxWithMinInterval:(NSNumber * _Nonnu new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ColorTempPhysicalMax::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11777,6 +12465,10 @@ - (void)subscribeAttributeCoupleColorTempToLevelMinMiredsWithMinInterval:(NSNumb new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::CoupleColorTempToLevelMinMireds::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11855,6 +12547,10 @@ - (void)subscribeAttributeStartUpColorTemperatureMiredsWithMinInterval:(NSNumber new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::StartUpColorTemperatureMireds::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11915,6 +12611,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPColorControlServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -11976,6 +12676,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPColorControlClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12035,6 +12739,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPColorControlAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12094,6 +12802,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ColorControl::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12346,6 +13058,10 @@ - (void)subscribeAttributeAcceptHeaderWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPContentLauncherAcceptHeaderListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ContentLauncher::Attributes::AcceptHeader::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12425,6 +13141,10 @@ - (void)subscribeAttributeSupportedStreamingProtocolsWithMinInterval:(NSNumber * new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ContentLauncher::Attributes::SupportedStreamingProtocols::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12485,6 +13205,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPContentLauncherServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ContentLauncher::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12546,6 +13270,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPContentLauncherClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ContentLauncher::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12605,6 +13333,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPContentLauncherAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ContentLauncher::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12664,6 +13396,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ContentLauncher::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12731,6 +13467,10 @@ - (void)subscribeAttributeDeviceListWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPDescriptorDeviceListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::DeviceList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12789,6 +13529,10 @@ - (void)subscribeAttributeServerListWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPDescriptorServerListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::ServerList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12847,6 +13591,10 @@ - (void)subscribeAttributeClientListWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPDescriptorClientListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::ClientList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12905,6 +13653,10 @@ - (void)subscribeAttributePartsListWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPDescriptorPartsListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::PartsList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -12964,6 +13716,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPDescriptorServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13025,6 +13781,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPDescriptorClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13084,6 +13844,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPDescriptorAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13143,6 +13907,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Descriptor::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13231,6 +13999,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPDiagnosticLogsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DiagnosticLogs::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13292,6 +14064,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPDiagnosticLogsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DiagnosticLogs::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13351,6 +14127,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPDiagnosticLogsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DiagnosticLogs::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13778,6 +14558,10 @@ - (void)subscribeAttributeLockStateWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPNullableDoorLockClusterDlLockStateAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::LockState::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13836,6 +14620,10 @@ - (void)subscribeAttributeLockTypeWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPDoorLockClusterDlLockTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::LockType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13894,6 +14682,10 @@ - (void)subscribeAttributeActuatorEnabledWithMinInterval:(NSNumber * _Nonnull)mi new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::ActuatorEnabled::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -13952,6 +14744,10 @@ - (void)subscribeAttributeDoorStateWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPNullableDoorLockClusterDlDoorStateAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::DoorState::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14011,6 +14807,10 @@ - (void)subscribeAttributeNumberOfTotalUsersSupportedWithMinInterval:(NSNumber * new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::NumberOfTotalUsersSupported::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14070,6 +14870,10 @@ - (void)subscribeAttributeNumberOfPINUsersSupportedWithMinInterval:(NSNumber * _ new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::NumberOfPINUsersSupported::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14129,6 +14933,10 @@ - (void)subscribeAttributeNumberOfRFIDUsersSupportedWithMinInterval:(NSNumber * new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::NumberOfRFIDUsersSupported::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14188,6 +14996,10 @@ - (void)subscribeAttributeNumberOfWeekDaySchedulesSupportedPerUserWithMinInterva new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::NumberOfWeekDaySchedulesSupportedPerUser::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14248,6 +15060,10 @@ - (void)subscribeAttributeNumberOfYearDaySchedulesSupportedPerUserWithMinInterva new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::NumberOfYearDaySchedulesSupportedPerUser::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14307,6 +15123,10 @@ - (void)subscribeAttributeMaxPINCodeLengthWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::MaxPINCodeLength::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14365,6 +15185,10 @@ - (void)subscribeAttributeMinPINCodeLengthWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::MinPINCodeLength::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14423,6 +15247,10 @@ - (void)subscribeAttributeMaxRFIDCodeLengthWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::MaxRFIDCodeLength::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14481,6 +15309,10 @@ - (void)subscribeAttributeMinRFIDCodeLengthWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::MinRFIDCodeLength::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14556,6 +15388,10 @@ - (void)subscribeAttributeLanguageWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::Language::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14631,6 +15467,10 @@ - (void)subscribeAttributeAutoRelockTimeWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::AutoRelockTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14706,6 +15546,10 @@ - (void)subscribeAttributeSoundVolumeWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::SoundVolume::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14783,6 +15627,10 @@ - (void)subscribeAttributeOperatingModeWithMinInterval:(NSNumber * _Nonnull)minI new CHIPDoorLockClusterDlOperatingModeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::OperatingMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14843,6 +15691,10 @@ - (void)subscribeAttributeSupportedOperatingModesWithMinInterval:(NSNumber * _No new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14921,6 +15773,10 @@ - (void)subscribeAttributeEnableOneTouchLockingWithMinInterval:(NSNumber * _Nonn new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::EnableOneTouchLocking::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -14999,6 +15855,10 @@ - (void)subscribeAttributeEnablePrivacyModeButtonWithMinInterval:(NSNumber * _No new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::EnablePrivacyModeButton::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15076,6 +15936,10 @@ - (void)subscribeAttributeWrongCodeEntryLimitWithMinInterval:(NSNumber * _Nonnul new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::WrongCodeEntryLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15136,6 +16000,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPDoorLockServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15197,6 +16065,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPDoorLockClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15256,6 +16128,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPDoorLockAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15315,6 +16191,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = DoorLock::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15382,6 +16262,10 @@ - (void)subscribeAttributeMeasurementTypeWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::MeasurementType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15440,6 +16324,10 @@ - (void)subscribeAttributeTotalActivePowerWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt32sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::TotalActivePower::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15497,6 +16385,10 @@ - (void)subscribeAttributeRmsVoltageWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::RmsVoltage::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15554,6 +16446,10 @@ - (void)subscribeAttributeRmsVoltageMinWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::RmsVoltageMin::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15612,6 +16508,10 @@ - (void)subscribeAttributeRmsVoltageMaxWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::RmsVoltageMax::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15669,6 +16569,10 @@ - (void)subscribeAttributeRmsCurrentWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::RmsCurrent::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15726,6 +16630,10 @@ - (void)subscribeAttributeRmsCurrentMinWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::RmsCurrentMin::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15784,6 +16692,10 @@ - (void)subscribeAttributeRmsCurrentMaxWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::RmsCurrentMax::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15841,6 +16753,10 @@ - (void)subscribeAttributeActivePowerWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::ActivePower::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15899,6 +16815,10 @@ - (void)subscribeAttributeActivePowerMinWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::ActivePowerMin::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -15957,6 +16877,10 @@ - (void)subscribeAttributeActivePowerMaxWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::ActivePowerMax::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16018,6 +16942,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPElectricalMeasurementServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -16083,6 +17011,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPElectricalMeasurementClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -16145,6 +17077,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPElectricalMeasurementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16204,6 +17140,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ElectricalMeasurement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16288,6 +17228,10 @@ - (void)subscribeAttributePHYRateWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPNullableEthernetNetworkDiagnosticsClusterPHYRateTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::PHYRate::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -16349,6 +17293,10 @@ - (void)subscribeAttributeFullDuplexWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPNullableBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::FullDuplex::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16406,6 +17354,10 @@ - (void)subscribeAttributePacketRxCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::PacketRxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16464,6 +17416,10 @@ - (void)subscribeAttributePacketTxCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::PacketTxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16521,6 +17477,10 @@ - (void)subscribeAttributeTxErrCountWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::TxErrCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16578,6 +17538,10 @@ - (void)subscribeAttributeCollisionCountWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::CollisionCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16635,6 +17599,10 @@ - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::OverrunCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16694,6 +17662,10 @@ - (void)subscribeAttributeCarrierDetectWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::CarrierDetect::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16752,6 +17724,10 @@ - (void)subscribeAttributeTimeSinceResetWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::TimeSinceReset::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16813,6 +17789,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPEthernetNetworkDiagnosticsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -16878,6 +17858,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPEthernetNetworkDiagnosticsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -16940,6 +17924,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPEthernetNetworkDiagnosticsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -16998,6 +17986,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17055,6 +18047,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = EthernetNetworkDiagnostics::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17138,6 +18134,10 @@ - (void)subscribeAttributeFanModeWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::FanMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17213,6 +18213,10 @@ - (void)subscribeAttributeFanModeSequenceWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::FanModeSequence::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17273,6 +18277,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPFanControlServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17334,6 +18342,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPFanControlClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17393,6 +18405,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPFanControlAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17451,6 +18467,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17508,6 +18528,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FanControl::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17575,6 +18599,10 @@ - (void)subscribeAttributeLabelListWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPFixedLabelLabelListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FixedLabel::Attributes::LabelList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17634,6 +18662,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPFixedLabelServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FixedLabel::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17695,6 +18727,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPFixedLabelClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FixedLabel::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17754,6 +18790,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPFixedLabelAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FixedLabel::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17813,6 +18853,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FixedLabel::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17881,6 +18925,10 @@ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::MeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17940,6 +18988,10 @@ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::MinMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -17999,6 +19051,10 @@ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::MaxMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18056,6 +19112,10 @@ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::Tolerance::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18115,6 +19175,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPFlowMeasurementServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18176,6 +19240,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPFlowMeasurementClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18235,6 +19303,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPFlowMeasurementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18294,6 +19366,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = FlowMeasurement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18432,6 +19508,10 @@ - (void)subscribeAttributeBreadcrumbWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::Breadcrumb::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18492,6 +19572,10 @@ new CHIPGeneralCommissioningBasicCommissioningInfoStructAttributeCallbackBridge( new CHIPGeneralCommissioningBasicCommissioningInfoStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::BasicCommissioningInfo::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18554,6 +19638,10 @@ - (void)subscribeAttributeRegulatoryConfigWithMinInterval:(NSNumber * _Nonnull)m new CHIPGeneralCommissioningClusterRegulatoryLocationTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::RegulatoryConfig::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18615,6 +19703,10 @@ - (void)subscribeAttributeLocationCapabilityWithMinInterval:(NSNumber * _Nonnull new CHIPGeneralCommissioningClusterRegulatoryLocationTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::LocationCapability::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18677,6 +19769,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGeneralCommissioningServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18740,6 +19836,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGeneralCommissioningClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18801,6 +19901,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPGeneralCommissioningAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18860,6 +19964,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralCommissioning::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18928,6 +20036,10 @@ - (void)subscribeAttributeNetworkInterfacesWithMinInterval:(NSNumber * _Nonnull) new CHIPGeneralDiagnosticsNetworkInterfacesListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::NetworkInterfaces::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -18986,6 +20098,10 @@ - (void)subscribeAttributeRebootCountWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::RebootCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19042,6 +20158,10 @@ - (void)subscribeAttributeUpTimeWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::UpTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19100,6 +20220,10 @@ - (void)subscribeAttributeTotalOperationalHoursWithMinInterval:(NSNumber * _Nonn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::TotalOperationalHours::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19157,6 +20281,10 @@ - (void)subscribeAttributeBootReasonsWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::BootReasons::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19217,6 +20345,10 @@ - (void)subscribeAttributeActiveHardwareFaultsWithMinInterval:(NSNumber * _Nonnu new CHIPGeneralDiagnosticsActiveHardwareFaultsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::ActiveHardwareFaults::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19277,6 +20409,10 @@ - (void)subscribeAttributeActiveRadioFaultsWithMinInterval:(NSNumber * _Nonnull) new CHIPGeneralDiagnosticsActiveRadioFaultsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::ActiveRadioFaults::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19338,6 +20474,10 @@ - (void)subscribeAttributeActiveNetworkFaultsWithMinInterval:(NSNumber * _Nonnul new CHIPGeneralDiagnosticsActiveNetworkFaultsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::ActiveNetworkFaults::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19399,6 +20539,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGeneralDiagnosticsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19461,6 +20605,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGeneralDiagnosticsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19521,6 +20669,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPGeneralDiagnosticsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19580,6 +20732,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GeneralDiagnostics::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19820,6 +20976,10 @@ - (void)subscribeAttributeGroupKeyMapWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPGroupKeyManagementGroupKeyMapListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::GroupKeyMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19879,6 +21039,10 @@ - (void)subscribeAttributeGroupTableWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPGroupKeyManagementGroupTableListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::GroupTable::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19937,6 +21101,10 @@ - (void)subscribeAttributeMaxGroupsPerFabricWithMinInterval:(NSNumber * _Nonnull new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::MaxGroupsPerFabric::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -19996,6 +21164,10 @@ - (void)subscribeAttributeMaxGroupKeysPerFabricWithMinInterval:(NSNumber * _Nonn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::MaxGroupKeysPerFabric::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20056,6 +21228,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGroupKeyManagementServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20118,6 +21294,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGroupKeyManagementClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20178,6 +21358,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPGroupKeyManagementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20237,6 +21421,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = GroupKeyManagement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20426,6 +21614,10 @@ - (void)subscribeAttributeNameSupportWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Groups::Attributes::NameSupport::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20486,6 +21678,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGroupsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Groups::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20547,6 +21743,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPGroupsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Groups::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20606,6 +21806,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPGroupsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Groups::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20664,6 +21868,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Groups::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20802,6 +22010,10 @@ - (void)subscribeAttributeIdentifyTimeWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Identify::Attributes::IdentifyTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20859,6 +22071,10 @@ - (void)subscribeAttributeIdentifyTypeWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Identify::Attributes::IdentifyType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20919,6 +22135,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPIdentifyServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Identify::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -20980,6 +22200,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPIdentifyClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Identify::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21039,6 +22263,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPIdentifyAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Identify::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21098,6 +22326,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Identify::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21166,6 +22398,10 @@ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::MeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21225,6 +22461,10 @@ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::MinMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21284,6 +22524,10 @@ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::MaxMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21341,6 +22585,10 @@ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::Tolerance::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21399,6 +22647,10 @@ - (void)subscribeAttributeLightSensorTypeWithMinInterval:(NSNumber * _Nonnull)mi new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::LightSensorType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21460,6 +22712,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPIlluminanceMeasurementServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -21525,6 +22781,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPIlluminanceMeasurementClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -21587,6 +22847,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPIlluminanceMeasurementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21646,6 +22910,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = IlluminanceMeasurement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21731,6 +22999,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPKeypadInputServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = KeypadInput::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21792,6 +23064,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPKeypadInputClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = KeypadInput::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21851,6 +23127,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPKeypadInputAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = KeypadInput::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -21910,6 +23190,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = KeypadInput::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22138,6 +23422,10 @@ - (void)subscribeAttributeCurrentLevelWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::CurrentLevel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22196,6 +23484,10 @@ - (void)subscribeAttributeRemainingTimeWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::RemainingTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22253,6 +23545,10 @@ - (void)subscribeAttributeMinLevelWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::MinLevel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22309,6 +23605,10 @@ - (void)subscribeAttributeMaxLevelWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::MaxLevel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22366,6 +23666,10 @@ - (void)subscribeAttributeCurrentFrequencyWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::CurrentFrequency::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22423,6 +23727,10 @@ - (void)subscribeAttributeMinFrequencyWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::MinFrequency::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22480,6 +23788,10 @@ - (void)subscribeAttributeMaxFrequencyWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::MaxFrequency::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22554,6 +23866,10 @@ - (void)subscribeAttributeOptionsWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::Options::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22630,6 +23946,10 @@ - (void)subscribeAttributeOnOffTransitionTimeWithMinInterval:(NSNumber * _Nonnul new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::OnOffTransitionTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22710,6 +24030,10 @@ - (void)subscribeAttributeOnLevelWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::OnLevel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22791,6 +24115,10 @@ - (void)subscribeAttributeOnTransitionTimeWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::OnTransitionTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22873,6 +24201,10 @@ - (void)subscribeAttributeOffTransitionTimeWithMinInterval:(NSNumber * _Nonnull) new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::OffTransitionTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -22955,6 +24287,10 @@ - (void)subscribeAttributeDefaultMoveRateWithMinInterval:(NSNumber * _Nonnull)mi new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::DefaultMoveRate::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23038,6 +24374,10 @@ - (void)subscribeAttributeStartUpCurrentLevelWithMinInterval:(NSNumber * _Nonnul new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::StartUpCurrentLevel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23098,6 +24438,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPLevelControlServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23159,6 +24503,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPLevelControlClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23218,6 +24566,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPLevelControlAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23276,6 +24628,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23333,6 +24689,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LevelControl::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23417,6 +24777,10 @@ - (void)subscribeAttributeActiveLocaleWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LocalizationConfiguration::Attributes::ActiveLocale::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23476,6 +24840,10 @@ - (void)subscribeAttributeSupportedLocalesWithMinInterval:(NSNumber * _Nonnull)m new CHIPLocalizationConfigurationSupportedLocalesListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LocalizationConfiguration::Attributes::SupportedLocales::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23538,6 +24906,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPLocalizationConfigurationServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LocalizationConfiguration::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -23603,6 +24975,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPLocalizationConfigurationClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LocalizationConfiguration::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -23665,6 +25041,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LocalizationConfiguration::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23751,6 +25131,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPLowPowerServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LowPower::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23812,6 +25196,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPLowPowerClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LowPower::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23871,6 +25259,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPLowPowerAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LowPower::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -23930,6 +25322,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = LowPower::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24068,6 +25464,10 @@ - (void)subscribeAttributeInputListWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPMediaInputInputListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaInput::Attributes::InputList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24124,6 +25524,10 @@ - (void)subscribeAttributeCurrentInputWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaInput::Attributes::CurrentInput::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24184,6 +25588,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPMediaInputServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaInput::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24245,6 +25653,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPMediaInputClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaInput::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24304,6 +25716,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPMediaInputAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaInput::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24363,6 +25779,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaInput::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24590,6 +26010,10 @@ - (void)subscribeAttributeCurrentStateWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPMediaPlaybackClusterPlaybackStateEnumAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::CurrentState::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24649,6 +26073,10 @@ - (void)subscribeAttributeStartTimeWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::StartTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24706,6 +26134,10 @@ - (void)subscribeAttributeDurationWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::Duration::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24764,6 +26196,10 @@ - (void)subscribeAttributeSampledPositionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPMediaPlaybackSampledPositionStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::SampledPosition::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24823,6 +26259,10 @@ - (void)subscribeAttributePlaybackSpeedWithMinInterval:(NSNumber * _Nonnull)minI new CHIPFloatAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::PlaybackSpeed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24881,6 +26321,10 @@ - (void)subscribeAttributeSeekRangeEndWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::SeekRangeEnd::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -24940,6 +26384,10 @@ - (void)subscribeAttributeSeekRangeStartWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::SeekRangeStart::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25000,6 +26448,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPMediaPlaybackServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25061,6 +26513,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPMediaPlaybackClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25120,6 +26576,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPMediaPlaybackAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25179,6 +26639,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = MediaPlayback::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25264,6 +26728,10 @@ - (void)subscribeAttributeCurrentModeWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::CurrentMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25323,6 +26791,10 @@ - (void)subscribeAttributeSupportedModesWithMinInterval:(NSNumber * _Nonnull)min new CHIPModeSelectSupportedModesListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::SupportedModes::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25398,6 +26870,10 @@ - (void)subscribeAttributeOnModeWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::OnMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25454,6 +26930,10 @@ - (void)subscribeAttributeStartUpModeWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::StartUpMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25511,6 +26991,10 @@ - (void)subscribeAttributeDescriptionWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::Description::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25571,6 +27055,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPModeSelectServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25632,6 +27120,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPModeSelectClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25691,6 +27183,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPModeSelectAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25750,6 +27246,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ModeSelect::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25920,6 +27420,10 @@ - (void)subscribeAttributeMaxNetworksWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::MaxNetworks::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -25977,6 +27481,10 @@ - (void)subscribeAttributeNetworksWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPNetworkCommissioningNetworksListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::Networks::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26035,6 +27543,10 @@ - (void)subscribeAttributeScanMaxTimeSecondsWithMinInterval:(NSNumber * _Nonnull new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::ScanMaxTimeSeconds::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26094,6 +27606,10 @@ - (void)subscribeAttributeConnectMaxTimeSecondsWithMinInterval:(NSNumber * _Nonn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::ConnectMaxTimeSeconds::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26170,6 +27686,10 @@ - (void)subscribeAttributeInterfaceEnabledWithMinInterval:(NSNumber * _Nonnull)m new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::InterfaceEnabled::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26231,6 +27751,10 @@ - (void)subscribeAttributeLastNetworkingStatusWithMinInterval:(NSNumber * _Nonnu new CHIPNullableNetworkCommissioningClusterNetworkCommissioningStatusAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::LastNetworkingStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -26294,6 +27818,10 @@ - (void)subscribeAttributeLastNetworkIDWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::LastNetworkID::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26354,6 +27882,10 @@ - (void)subscribeAttributeLastConnectErrorValueWithMinInterval:(NSNumber * _Nonn new CHIPNullableInt32sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::LastConnectErrorValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26414,6 +27946,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPNetworkCommissioningServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26477,6 +28013,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPNetworkCommissioningClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26537,6 +28077,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26594,6 +28138,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = NetworkCommissioning::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26755,6 +28303,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPOtaSoftwareUpdateProviderAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateProvider::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26814,6 +28366,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateProvider::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -26952,6 +28508,10 @@ - (void)subscribeAttributeDefaultOtaProvidersWithMinInterval:(NSNumber * _Nonnul new CHIPOtaSoftwareUpdateRequestorDefaultOtaProvidersListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateRequestor::Attributes::DefaultOtaProviders::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27012,6 +28572,10 @@ - (void)subscribeAttributeUpdatePossibleWithMinInterval:(NSNumber * _Nonnull)min new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateRequestor::Attributes::UpdatePossible::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27071,6 +28635,10 @@ - (void)subscribeAttributeUpdateStateWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPOtaSoftwareUpdateRequestorClusterOTAUpdateStateEnumAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateRequestor::Attributes::UpdateState::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -27135,6 +28703,10 @@ - (void)subscribeAttributeUpdateStateProgressWithMinInterval:(NSNumber * _Nonnul new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateRequestor::Attributes::UpdateStateProgress::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27193,6 +28765,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPOtaSoftwareUpdateRequestorAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateRequestor::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27252,6 +28828,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OtaSoftwareUpdateRequestor::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27318,6 +28898,10 @@ - (void)subscribeAttributeOccupancyWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::Occupancy::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27376,6 +28960,10 @@ - (void)subscribeAttributeOccupancySensorTypeWithMinInterval:(NSNumber * _Nonnul new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::OccupancySensorType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27435,6 +29023,10 @@ - (void)subscribeAttributeOccupancySensorTypeBitmapWithMinInterval:(NSNumber * _ new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::OccupancySensorTypeBitmap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27495,6 +29087,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOccupancySensingServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27556,6 +29152,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOccupancySensingClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27615,6 +29215,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPOccupancySensingAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27674,6 +29278,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OccupancySensing::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27849,6 +29457,10 @@ - (void)subscribeAttributeOnOffWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::OnOff::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27906,6 +29518,10 @@ - (void)subscribeAttributeGlobalSceneControlWithMinInterval:(NSNumber * _Nonnull new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::GlobalSceneControl::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -27980,6 +29596,10 @@ - (void)subscribeAttributeOnTimeWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::OnTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28054,6 +29674,10 @@ - (void)subscribeAttributeOffWaitTimeWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::OffWaitTime::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28129,6 +29753,10 @@ - (void)subscribeAttributeStartUpOnOffWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::StartUpOnOff::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28189,6 +29817,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOnOffServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28250,6 +29882,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOnOffClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28309,6 +29945,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPOnOffAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28366,6 +30006,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28423,6 +30067,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOff::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28489,6 +30137,10 @@ - (void)subscribeAttributeSwitchTypeWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOffSwitchConfiguration::Attributes::SwitchType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28564,6 +30216,10 @@ - (void)subscribeAttributeSwitchActionsWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOffSwitchConfiguration::Attributes::SwitchActions::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28625,6 +30281,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOnOffSwitchConfigurationServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOffSwitchConfiguration::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -28690,6 +30350,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOnOffSwitchConfigurationClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOffSwitchConfiguration::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -28752,6 +30416,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPOnOffSwitchConfigurationAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOffSwitchConfiguration::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -28811,6 +30479,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OnOffSwitchConfiguration::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29042,6 +30714,10 @@ - (void)subscribeAttributeNOCsWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPOperationalCredentialsNOCsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::NOCs::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29101,6 +30777,10 @@ - (void)subscribeAttributeFabricsWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPOperationalCredentialsFabricsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::Fabrics::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29159,6 +30839,10 @@ - (void)subscribeAttributeSupportedFabricsWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::SupportedFabrics::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29218,6 +30902,10 @@ - (void)subscribeAttributeCommissionedFabricsWithMinInterval:(NSNumber * _Nonnul new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::CommissionedFabrics::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29278,6 +30966,10 @@ - (void)subscribeAttributeTrustedRootCertificatesWithMinInterval:(NSNumber * _No new CHIPOperationalCredentialsTrustedRootCertificatesListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::TrustedRootCertificates::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29338,6 +31030,10 @@ - (void)subscribeAttributeCurrentFabricIndexWithMinInterval:(NSNumber * _Nonnull new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::CurrentFabricIndex::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29399,6 +31095,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOperationalCredentialsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -29464,6 +31164,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPOperationalCredentialsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -29526,6 +31230,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPOperationalCredentialsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29585,6 +31293,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = OperationalCredentials::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29650,6 +31362,10 @@ - (void)subscribeAttributeStatusWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::Status::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29705,6 +31421,10 @@ - (void)subscribeAttributeOrderWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::Order::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29761,6 +31481,10 @@ - (void)subscribeAttributeDescriptionWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::Description::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29819,6 +31543,10 @@ - (void)subscribeAttributeBatteryVoltageWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::BatteryVoltage::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29878,6 +31606,10 @@ - (void)subscribeAttributeBatteryPercentRemainingWithMinInterval:(NSNumber * _No new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::BatteryPercentRemaining::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29937,6 +31669,10 @@ - (void)subscribeAttributeBatteryTimeRemainingWithMinInterval:(NSNumber * _Nonnu new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::BatteryTimeRemaining::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -29995,6 +31731,10 @@ - (void)subscribeAttributeBatteryChargeLevelWithMinInterval:(NSNumber * _Nonnull new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::BatteryChargeLevel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30055,6 +31795,10 @@ - (void)subscribeAttributeActiveBatteryFaultsWithMinInterval:(NSNumber * _Nonnul new CHIPPowerSourceActiveBatteryFaultsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::ActiveBatteryFaults::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30114,6 +31858,10 @@ - (void)subscribeAttributeBatteryChargeStateWithMinInterval:(NSNumber * _Nonnull new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::BatteryChargeState::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30174,6 +31922,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPPowerSourceServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30235,6 +31987,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPPowerSourceClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30294,6 +32050,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPPowerSourceAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30352,6 +32112,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30409,6 +32173,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSource::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30475,6 +32243,10 @@ - (void)subscribeAttributeSourcesWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPPowerSourceConfigurationSourcesListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSourceConfiguration::Attributes::Sources::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30536,6 +32308,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPPowerSourceConfigurationServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSourceConfiguration::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -30601,6 +32377,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPPowerSourceConfigurationClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSourceConfiguration::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -30663,6 +32443,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPPowerSourceConfigurationAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSourceConfiguration::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30722,6 +32506,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PowerSourceConfiguration::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30790,6 +32578,10 @@ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PressureMeasurement::Attributes::MeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30849,6 +32641,10 @@ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PressureMeasurement::Attributes::MinMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30908,6 +32704,10 @@ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PressureMeasurement::Attributes::MaxMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -30966,6 +32766,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPPressureMeasurementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PressureMeasurement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31025,6 +32829,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PressureMeasurement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31091,6 +32899,10 @@ - (void)subscribeAttributeMaxPressureWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxPressure::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31148,6 +32960,10 @@ - (void)subscribeAttributeMaxSpeedWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxSpeed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31203,6 +33019,10 @@ - (void)subscribeAttributeMaxFlowWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxFlow::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31260,6 +33080,10 @@ - (void)subscribeAttributeMinConstPressureWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MinConstPressure::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31318,6 +33142,10 @@ - (void)subscribeAttributeMaxConstPressureWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxConstPressure::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31376,6 +33204,10 @@ - (void)subscribeAttributeMinCompPressureWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MinCompPressure::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31434,6 +33266,10 @@ - (void)subscribeAttributeMaxCompPressureWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxCompPressure::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31492,6 +33328,10 @@ - (void)subscribeAttributeMinConstSpeedWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MinConstSpeed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31550,6 +33390,10 @@ - (void)subscribeAttributeMaxConstSpeedWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxConstSpeed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31607,6 +33451,10 @@ - (void)subscribeAttributeMinConstFlowWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MinConstFlow::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31664,6 +33512,10 @@ - (void)subscribeAttributeMaxConstFlowWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxConstFlow::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31721,6 +33573,10 @@ - (void)subscribeAttributeMinConstTempWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MinConstTemp::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31778,6 +33634,10 @@ - (void)subscribeAttributeMaxConstTempWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::MaxConstTemp::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31835,6 +33695,10 @@ - (void)subscribeAttributePumpStatusWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::PumpStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31893,6 +33757,10 @@ - (void)subscribeAttributeEffectiveOperationModeWithMinInterval:(NSNumber * _Non new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::EffectiveOperationMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -31952,6 +33820,10 @@ - (void)subscribeAttributeEffectiveControlModeWithMinInterval:(NSNumber * _Nonnu new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::EffectiveControlMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32009,6 +33881,10 @@ - (void)subscribeAttributeCapacityWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::Capacity::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32064,6 +33940,10 @@ - (void)subscribeAttributeSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::Speed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32147,6 +34027,10 @@ - (void)subscribeAttributeLifetimeRunningHoursWithMinInterval:(NSNumber * _Nonnu new CHIPNullableInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::LifetimeRunningHours::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32203,6 +34087,10 @@ - (void)subscribeAttributePowerWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::Power::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32286,6 +34174,10 @@ - (void)subscribeAttributeLifetimeEnergyConsumedWithMinInterval:(NSNumber * _Non new CHIPNullableInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::LifetimeEnergyConsumed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32362,6 +34254,10 @@ - (void)subscribeAttributeOperationModeWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::OperationMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32437,6 +34333,10 @@ - (void)subscribeAttributeControlModeWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::ControlMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32494,6 +34394,10 @@ - (void)subscribeAttributeAlarmMaskWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::AlarmMask::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32554,6 +34458,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPPumpConfigurationAndControlServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -32619,6 +34527,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPPumpConfigurationAndControlClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -32681,6 +34593,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPPumpConfigurationAndControlAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32739,6 +34655,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32796,6 +34716,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = PumpConfigurationAndControl::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32863,6 +34787,10 @@ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::MeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32921,6 +34849,10 @@ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::MinMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -32979,6 +34911,10 @@ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::MaxMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33036,6 +34972,10 @@ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::Tolerance::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33096,6 +35036,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPRelativeHumidityMeasurementServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -33161,6 +35105,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPRelativeHumidityMeasurementClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -33223,6 +35171,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPRelativeHumidityMeasurementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33282,6 +35234,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = RelativeHumidityMeasurement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33494,6 +35450,10 @@ - (void)subscribeAttributeSceneCountWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::SceneCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33550,6 +35510,10 @@ - (void)subscribeAttributeCurrentSceneWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::CurrentScene::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33607,6 +35571,10 @@ - (void)subscribeAttributeCurrentGroupWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::CurrentGroup::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33664,6 +35632,10 @@ - (void)subscribeAttributeSceneValidWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::SceneValid::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33720,6 +35692,10 @@ - (void)subscribeAttributeNameSupportWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::NameSupport::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33780,6 +35756,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPScenesServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33841,6 +35821,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPScenesClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33900,6 +35884,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPScenesAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -33958,6 +35946,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Scenes::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34042,6 +36034,10 @@ - (void)subscribeAttributeThreadMetricsWithMinInterval:(NSNumber * _Nonnull)minI new CHIPSoftwareDiagnosticsThreadMetricsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::ThreadMetrics::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34101,6 +36097,10 @@ - (void)subscribeAttributeCurrentHeapFreeWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::CurrentHeapFree::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34159,6 +36159,10 @@ - (void)subscribeAttributeCurrentHeapUsedWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::CurrentHeapUsed::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34218,6 +36222,10 @@ - (void)subscribeAttributeCurrentHeapHighWatermarkWithMinInterval:(NSNumber * _N new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::CurrentHeapHighWatermark::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34278,6 +36286,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPSoftwareDiagnosticsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34340,6 +36352,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPSoftwareDiagnosticsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34400,6 +36416,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPSoftwareDiagnosticsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34458,6 +36478,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34515,6 +36539,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = SoftwareDiagnostics::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34582,6 +36610,10 @@ - (void)subscribeAttributeNumberOfPositionsWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::NumberOfPositions::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34640,6 +36672,10 @@ - (void)subscribeAttributeCurrentPositionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::CurrentPosition::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34698,6 +36734,10 @@ - (void)subscribeAttributeMultiPressMaxWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::MultiPressMax::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34758,6 +36798,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPSwitchServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34819,6 +36863,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPSwitchClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34878,6 +36926,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPSwitchAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34935,6 +36987,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -34992,6 +37048,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Switch::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35079,6 +37139,10 @@ - (void)subscribeAttributeTargetListWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPTargetNavigatorTargetListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TargetNavigator::Attributes::TargetList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35137,6 +37201,10 @@ - (void)subscribeAttributeCurrentTargetWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TargetNavigator::Attributes::CurrentTarget::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35197,6 +37265,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPTargetNavigatorServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TargetNavigator::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35258,6 +37330,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPTargetNavigatorClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TargetNavigator::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35317,6 +37393,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPTargetNavigatorAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TargetNavigator::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35376,6 +37456,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TargetNavigator::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35444,6 +37528,10 @@ - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TemperatureMeasurement::Attributes::MeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35503,6 +37591,10 @@ - (void)subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TemperatureMeasurement::Attributes::MinMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35562,6 +37654,10 @@ - (void)subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TemperatureMeasurement::Attributes::MaxMeasuredValue::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35619,6 +37715,10 @@ - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TemperatureMeasurement::Attributes::Tolerance::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35676,6 +37776,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPTemperatureMeasurementAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TemperatureMeasurement::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -35735,6 +37839,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TemperatureMeasurement::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36462,6 +38570,10 @@ - (void)subscribeAttributeBooleanWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Boolean::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36536,6 +38648,10 @@ - (void)subscribeAttributeBitmap8WithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPTestClusterBitmap8AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Bitmap8::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36611,6 +38727,10 @@ - (void)subscribeAttributeBitmap16WithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPTestClusterBitmap16AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Bitmap16::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36686,6 +38806,10 @@ - (void)subscribeAttributeBitmap32WithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPTestClusterBitmap32AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Bitmap32::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36761,6 +38885,10 @@ - (void)subscribeAttributeBitmap64WithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPTestClusterBitmap64AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Bitmap64::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36834,6 +38962,10 @@ - (void)subscribeAttributeInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int8u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36907,6 +39039,10 @@ - (void)subscribeAttributeInt16uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int16u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -36980,6 +39116,10 @@ - (void)subscribeAttributeInt24uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int24u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37053,6 +39193,10 @@ - (void)subscribeAttributeInt32uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int32u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37126,6 +39270,10 @@ - (void)subscribeAttributeInt40uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int40u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37199,6 +39347,10 @@ - (void)subscribeAttributeInt48uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int48u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37272,6 +39424,10 @@ - (void)subscribeAttributeInt56uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int56u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37345,6 +39501,10 @@ - (void)subscribeAttributeInt64uWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int64u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37418,6 +39578,10 @@ - (void)subscribeAttributeInt8sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int8s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37491,6 +39655,10 @@ - (void)subscribeAttributeInt16sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int16s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37564,6 +39732,10 @@ - (void)subscribeAttributeInt24sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int24s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37637,6 +39809,10 @@ - (void)subscribeAttributeInt32sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int32s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37710,6 +39886,10 @@ - (void)subscribeAttributeInt40sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int40s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37783,6 +39963,10 @@ - (void)subscribeAttributeInt48sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int48s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37856,6 +40040,10 @@ - (void)subscribeAttributeInt56sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int56s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -37929,6 +40117,10 @@ - (void)subscribeAttributeInt64sWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Int64s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38002,6 +40194,10 @@ - (void)subscribeAttributeEnum8WithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Enum8::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38075,6 +40271,10 @@ - (void)subscribeAttributeEnum16WithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Enum16::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38149,6 +40349,10 @@ - (void)subscribeAttributeFloatSingleWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPFloatAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::FloatSingle::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38224,6 +40428,10 @@ - (void)subscribeAttributeFloatDoubleWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPDoubleAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::FloatDouble::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38300,6 +40508,10 @@ - (void)subscribeAttributeOctetStringWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::OctetString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38396,6 +40608,10 @@ - (void)subscribeAttributeListInt8uWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPTestClusterListInt8uListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ListInt8u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38494,6 +40710,10 @@ - (void)subscribeAttributeListOctetStringWithMinInterval:(NSNumber * _Nonnull)mi new CHIPTestClusterListOctetStringListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ListOctetString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38595,6 +40815,10 @@ - (void)subscribeAttributeListStructOctetStringWithMinInterval:(NSNumber * _Nonn new CHIPTestClusterListStructOctetStringListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ListStructOctetString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38673,6 +40897,10 @@ - (void)subscribeAttributeLongOctetStringWithMinInterval:(NSNumber * _Nonnull)mi new CHIPOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::LongOctetString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38748,6 +40976,10 @@ - (void)subscribeAttributeCharStringWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::CharString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38823,6 +41055,10 @@ - (void)subscribeAttributeLongCharStringWithMinInterval:(NSNumber * _Nonnull)min new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::LongCharString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38897,6 +41133,10 @@ - (void)subscribeAttributeEpochUsWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::EpochUs::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -38970,6 +41210,10 @@ - (void)subscribeAttributeEpochSWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::EpochS::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39044,6 +41288,10 @@ - (void)subscribeAttributeVendorIdWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPVendorIdAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::VendorId::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39315,6 +41563,10 @@ - (void)subscribeAttributeListNullablesAndOptionalsStructWithMinInterval:(NSNumb new CHIPTestClusterListNullablesAndOptionalsStructListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ListNullablesAndOptionalsStruct::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39392,6 +41644,10 @@ - (void)subscribeAttributeEnumAttrWithMinInterval:(NSNumber * _Nonnull)minInterv new CHIPTestClusterClusterSimpleEnumAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::EnumAttr::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39477,6 +41733,10 @@ - (void)subscribeAttributeStructAttrWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPTestClusterStructAttrStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::StructAttr::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39555,6 +41815,10 @@ - (void)subscribeAttributeRangeRestrictedInt8uWithMinInterval:(NSNumber * _Nonnu new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::RangeRestrictedInt8u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39632,6 +41896,10 @@ - (void)subscribeAttributeRangeRestrictedInt8sWithMinInterval:(NSNumber * _Nonnu new CHIPInt8sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::RangeRestrictedInt8s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39710,6 +41978,10 @@ - (void)subscribeAttributeRangeRestrictedInt16uWithMinInterval:(NSNumber * _Nonn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::RangeRestrictedInt16u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39788,6 +42060,10 @@ - (void)subscribeAttributeRangeRestrictedInt16sWithMinInterval:(NSNumber * _Nonn new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::RangeRestrictedInt16s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -39887,6 +42163,10 @@ - (void)subscribeAttributeListLongOctetStringWithMinInterval:(NSNumber * _Nonnul new CHIPTestClusterListLongOctetStringListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ListLongOctetString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40043,6 +42323,10 @@ - (void)subscribeAttributeListFabricScopedWithMinInterval:(NSNumber * _Nonnull)m new CHIPTestClusterListFabricScopedListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ListFabricScoped::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40121,6 +42405,10 @@ - (void)subscribeAttributeTimedWriteBooleanWithMinInterval:(NSNumber * _Nonnull) new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::TimedWriteBoolean::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40198,6 +42486,10 @@ - (void)subscribeAttributeGeneralErrorBooleanWithMinInterval:(NSNumber * _Nonnul new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::GeneralErrorBoolean::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40275,6 +42567,10 @@ - (void)subscribeAttributeClusterErrorBooleanWithMinInterval:(NSNumber * _Nonnul new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ClusterErrorBoolean::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40350,6 +42646,10 @@ - (void)subscribeAttributeUnsupportedWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::Unsupported::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40432,6 +42732,10 @@ - (void)subscribeAttributeNullableBooleanWithMinInterval:(NSNumber * _Nonnull)mi new CHIPNullableBooleanAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableBoolean::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40514,6 +42818,10 @@ - (void)subscribeAttributeNullableBitmap8WithMinInterval:(NSNumber * _Nonnull)mi new CHIPTestClusterNullableBitmap8AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableBitmap8::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40597,6 +42905,10 @@ - (void)subscribeAttributeNullableBitmap16WithMinInterval:(NSNumber * _Nonnull)m new CHIPTestClusterNullableBitmap16AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableBitmap16::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40680,6 +42992,10 @@ - (void)subscribeAttributeNullableBitmap32WithMinInterval:(NSNumber * _Nonnull)m new CHIPTestClusterNullableBitmap32AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableBitmap32::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40763,6 +43079,10 @@ - (void)subscribeAttributeNullableBitmap64WithMinInterval:(NSNumber * _Nonnull)m new CHIPTestClusterNullableBitmap64AttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableBitmap64::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40846,6 +43166,10 @@ - (void)subscribeAttributeNullableInt8uWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt8u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -40928,6 +43252,10 @@ - (void)subscribeAttributeNullableInt16uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt16u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41010,6 +43338,10 @@ - (void)subscribeAttributeNullableInt24uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt24u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41092,6 +43424,10 @@ - (void)subscribeAttributeNullableInt32uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt32u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41174,6 +43510,10 @@ - (void)subscribeAttributeNullableInt40uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt40u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41256,6 +43596,10 @@ - (void)subscribeAttributeNullableInt48uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt48u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41338,6 +43682,10 @@ - (void)subscribeAttributeNullableInt56uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt56u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41420,6 +43768,10 @@ - (void)subscribeAttributeNullableInt64uWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt64u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41502,6 +43854,10 @@ - (void)subscribeAttributeNullableInt8sWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt8sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt8s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41584,6 +43940,10 @@ - (void)subscribeAttributeNullableInt16sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt16s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41666,6 +44026,10 @@ - (void)subscribeAttributeNullableInt24sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt32sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt24s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41748,6 +44112,10 @@ - (void)subscribeAttributeNullableInt32sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt32sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt32s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41830,6 +44198,10 @@ - (void)subscribeAttributeNullableInt40sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt40s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41912,6 +44284,10 @@ - (void)subscribeAttributeNullableInt48sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt48s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -41994,6 +44370,10 @@ - (void)subscribeAttributeNullableInt56sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt56s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42076,6 +44456,10 @@ - (void)subscribeAttributeNullableInt64sWithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt64sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableInt64s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42158,6 +44542,10 @@ - (void)subscribeAttributeNullableEnum8WithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableEnum8::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42240,6 +44628,10 @@ - (void)subscribeAttributeNullableEnum16WithMinInterval:(NSNumber * _Nonnull)min new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableEnum16::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42323,6 +44715,10 @@ - (void)subscribeAttributeNullableFloatSingleWithMinInterval:(NSNumber * _Nonnul new CHIPNullableFloatAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableFloatSingle::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42406,6 +44802,10 @@ - (void)subscribeAttributeNullableFloatDoubleWithMinInterval:(NSNumber * _Nonnul new CHIPNullableDoubleAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableFloatDouble::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42489,6 +44889,10 @@ - (void)subscribeAttributeNullableOctetStringWithMinInterval:(NSNumber * _Nonnul new CHIPNullableOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableOctetString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42571,6 +44975,10 @@ - (void)subscribeAttributeNullableCharStringWithMinInterval:(NSNumber * _Nonnull new CHIPNullableCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableCharString::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42653,6 +45061,10 @@ - (void)subscribeAttributeNullableEnumAttrWithMinInterval:(NSNumber * _Nonnull)m new CHIPNullableTestClusterClusterSimpleEnumAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableEnumAttr::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42744,6 +45156,10 @@ - (void)subscribeAttributeNullableStructWithMinInterval:(NSNumber * _Nonnull)min new CHIPTestClusterNullableStructStructAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableStruct::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42829,6 +45245,10 @@ - (void)subscribeAttributeNullableRangeRestrictedInt8uWithMinInterval:(NSNumber new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableRangeRestrictedInt8u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42913,6 +45333,10 @@ - (void)subscribeAttributeNullableRangeRestrictedInt8sWithMinInterval:(NSNumber new CHIPNullableInt8sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableRangeRestrictedInt8s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -42997,6 +45421,10 @@ - (void)subscribeAttributeNullableRangeRestrictedInt16uWithMinInterval:(NSNumber new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableRangeRestrictedInt16u::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43081,6 +45509,10 @@ - (void)subscribeAttributeNullableRangeRestrictedInt16sWithMinInterval:(NSNumber new CHIPNullableInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::NullableRangeRestrictedInt16s::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43141,6 +45573,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPTestClusterServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43202,6 +45638,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPTestClusterClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43261,6 +45701,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPTestClusterAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43320,6 +45764,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TestCluster::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43502,6 +45950,10 @@ - (void)subscribeAttributeLocalTemperatureWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::LocalTemperature::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43561,6 +46013,10 @@ - (void)subscribeAttributeAbsMinHeatSetpointLimitWithMinInterval:(NSNumber * _No new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::AbsMinHeatSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43620,6 +46076,10 @@ - (void)subscribeAttributeAbsMaxHeatSetpointLimitWithMinInterval:(NSNumber * _No new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::AbsMaxHeatSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43679,6 +46139,10 @@ - (void)subscribeAttributeAbsMinCoolSetpointLimitWithMinInterval:(NSNumber * _No new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::AbsMinCoolSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43738,6 +46202,10 @@ - (void)subscribeAttributeAbsMaxCoolSetpointLimitWithMinInterval:(NSNumber * _No new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::AbsMaxCoolSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43816,6 +46284,10 @@ - (void)subscribeAttributeOccupiedCoolingSetpointWithMinInterval:(NSNumber * _No new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::OccupiedCoolingSetpoint::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43894,6 +46366,10 @@ - (void)subscribeAttributeOccupiedHeatingSetpointWithMinInterval:(NSNumber * _No new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::OccupiedHeatingSetpoint::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -43971,6 +46447,10 @@ - (void)subscribeAttributeMinHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnu new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::MinHeatSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44048,6 +46528,10 @@ - (void)subscribeAttributeMaxHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnu new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::MaxHeatSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44125,6 +46609,10 @@ - (void)subscribeAttributeMinCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnu new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::MinCoolSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44202,6 +46690,10 @@ - (void)subscribeAttributeMaxCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnu new CHIPInt16sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::MaxCoolSetpointLimit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44279,6 +46771,10 @@ - (void)subscribeAttributeMinSetpointDeadBandWithMinInterval:(NSNumber * _Nonnul new CHIPInt8sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::MinSetpointDeadBand::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44358,6 +46854,10 @@ - (void)subscribeAttributeControlSequenceOfOperationWithMinInterval:(NSNumber * new CHIPThermostatClusterThermostatControlSequenceAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::ControlSequenceOfOperation::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44434,6 +46934,10 @@ - (void)subscribeAttributeSystemModeWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::SystemMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44490,6 +46994,10 @@ - (void)subscribeAttributeStartOfWeekWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::StartOfWeek::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44549,6 +47057,10 @@ - (void)subscribeAttributeNumberOfWeeklyTransitionsWithMinInterval:(NSNumber * _ new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::NumberOfWeeklyTransitions::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44608,6 +47120,10 @@ - (void)subscribeAttributeNumberOfDailyTransitionsWithMinInterval:(NSNumber * _N new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::NumberOfDailyTransitions::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44666,6 +47182,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPThermostatAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44724,6 +47244,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44781,6 +47305,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = Thermostat::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44868,6 +47396,10 @@ - (void)subscribeAttributeTemperatureDisplayModeWithMinInterval:(NSNumber * _Non new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -44944,6 +47476,10 @@ - (void)subscribeAttributeKeypadLockoutWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::KeypadLockout::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45022,6 +47558,10 @@ - (void)subscribeAttributeScheduleProgrammingVisibilityWithMinInterval:(NSNumber new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::ScheduleProgrammingVisibility::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45084,6 +47624,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPThermostatUserInterfaceConfigurationServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable( @@ -45152,6 +47696,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPThermostatUserInterfaceConfigurationClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable( @@ -45217,6 +47765,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPThermostatUserInterfaceConfigurationAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -45279,6 +47831,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45361,6 +47917,10 @@ - (void)subscribeAttributeChannelWithMinInterval:(NSNumber * _Nonnull)minInterva new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::Channel::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45417,6 +47977,10 @@ - (void)subscribeAttributeRoutingRoleWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RoutingRole::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45474,6 +48038,10 @@ - (void)subscribeAttributeNetworkNameWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::NetworkName::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45530,6 +48098,10 @@ - (void)subscribeAttributePanIdWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::PanId::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45587,6 +48159,10 @@ - (void)subscribeAttributeExtendedPanIdWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ExtendedPanId::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45646,6 +48222,10 @@ - (void)subscribeAttributeMeshLocalPrefixWithMinInterval:(NSNumber * _Nonnull)mi new CHIPOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::MeshLocalPrefix::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45703,6 +48283,10 @@ - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::OverrunCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45762,6 +48346,10 @@ - (void)subscribeAttributeNeighborTableListWithMinInterval:(NSNumber * _Nonnull) new CHIPThreadNetworkDiagnosticsNeighborTableListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::NeighborTableList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45822,6 +48410,10 @@ - (void)subscribeAttributeRouteTableListWithMinInterval:(NSNumber * _Nonnull)min new CHIPThreadNetworkDiagnosticsRouteTableListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RouteTableList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45880,6 +48472,10 @@ - (void)subscribeAttributePartitionIdWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::PartitionId::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45937,6 +48533,10 @@ - (void)subscribeAttributeWeightingWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::Weighting::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -45993,6 +48593,10 @@ - (void)subscribeAttributeDataVersionWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::DataVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46051,6 +48655,10 @@ - (void)subscribeAttributeStableDataVersionWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::StableDataVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46109,6 +48717,10 @@ - (void)subscribeAttributeLeaderRouterIdWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::LeaderRouterId::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46167,6 +48779,10 @@ - (void)subscribeAttributeDetachedRoleCountWithMinInterval:(NSNumber * _Nonnull) new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::DetachedRoleCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46225,6 +48841,10 @@ - (void)subscribeAttributeChildRoleCountWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ChildRoleCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46283,6 +48903,10 @@ - (void)subscribeAttributeRouterRoleCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RouterRoleCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46341,6 +48965,10 @@ - (void)subscribeAttributeLeaderRoleCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::LeaderRoleCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46399,6 +49027,10 @@ - (void)subscribeAttributeAttachAttemptCountWithMinInterval:(NSNumber * _Nonnull new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::AttachAttemptCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46458,6 +49090,10 @@ - (void)subscribeAttributePartitionIdChangeCountWithMinInterval:(NSNumber * _Non new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::PartitionIdChangeCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46517,6 +49153,10 @@ - (void)subscribeAttributeBetterPartitionAttachAttemptCountWithMinInterval:(NSNu new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::BetterPartitionAttachAttemptCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46575,6 +49215,10 @@ - (void)subscribeAttributeParentChangeCountWithMinInterval:(NSNumber * _Nonnull) new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ParentChangeCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46632,6 +49276,10 @@ - (void)subscribeAttributeTxTotalCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxTotalCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46690,6 +49338,10 @@ - (void)subscribeAttributeTxUnicastCountWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxUnicastCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46748,6 +49400,10 @@ - (void)subscribeAttributeTxBroadcastCountWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxBroadcastCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46807,6 +49463,10 @@ - (void)subscribeAttributeTxAckRequestedCountWithMinInterval:(NSNumber * _Nonnul new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxAckRequestedCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46864,6 +49524,10 @@ - (void)subscribeAttributeTxAckedCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxAckedCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46923,6 +49587,10 @@ - (void)subscribeAttributeTxNoAckRequestedCountWithMinInterval:(NSNumber * _Nonn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxNoAckRequestedCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -46980,6 +49648,10 @@ - (void)subscribeAttributeTxDataCountWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxDataCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47038,6 +49710,10 @@ - (void)subscribeAttributeTxDataPollCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxDataPollCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47096,6 +49772,10 @@ - (void)subscribeAttributeTxBeaconCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxBeaconCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47155,6 +49835,10 @@ - (void)subscribeAttributeTxBeaconRequestCountWithMinInterval:(NSNumber * _Nonnu new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxBeaconRequestCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47212,6 +49896,10 @@ - (void)subscribeAttributeTxOtherCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxOtherCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47269,6 +49957,10 @@ - (void)subscribeAttributeTxRetryCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxRetryCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47328,6 +50020,10 @@ - (void)subscribeAttributeTxDirectMaxRetryExpiryCountWithMinInterval:(NSNumber * new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxDirectMaxRetryExpiryCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47387,6 +50083,10 @@ - (void)subscribeAttributeTxIndirectMaxRetryExpiryCountWithMinInterval:(NSNumber new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxIndirectMaxRetryExpiryCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47445,6 +50145,10 @@ - (void)subscribeAttributeTxErrCcaCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxErrCcaCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47503,6 +50207,10 @@ - (void)subscribeAttributeTxErrAbortCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxErrAbortCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47562,6 +50270,10 @@ - (void)subscribeAttributeTxErrBusyChannelCountWithMinInterval:(NSNumber * _Nonn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::TxErrBusyChannelCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47619,6 +50331,10 @@ - (void)subscribeAttributeRxTotalCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxTotalCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47677,6 +50393,10 @@ - (void)subscribeAttributeRxUnicastCountWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxUnicastCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47735,6 +50455,10 @@ - (void)subscribeAttributeRxBroadcastCountWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxBroadcastCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47792,6 +50516,10 @@ - (void)subscribeAttributeRxDataCountWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxDataCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47850,6 +50578,10 @@ - (void)subscribeAttributeRxDataPollCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxDataPollCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47908,6 +50640,10 @@ - (void)subscribeAttributeRxBeaconCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxBeaconCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -47967,6 +50703,10 @@ - (void)subscribeAttributeRxBeaconRequestCountWithMinInterval:(NSNumber * _Nonnu new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxBeaconRequestCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48024,6 +50764,10 @@ - (void)subscribeAttributeRxOtherCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxOtherCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48083,6 +50827,10 @@ - (void)subscribeAttributeRxAddressFilteredCountWithMinInterval:(NSNumber * _Non new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxAddressFilteredCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48142,6 +50890,10 @@ - (void)subscribeAttributeRxDestAddrFilteredCountWithMinInterval:(NSNumber * _No new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxDestAddrFilteredCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48200,6 +50952,10 @@ - (void)subscribeAttributeRxDuplicatedCountWithMinInterval:(NSNumber * _Nonnull) new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxDuplicatedCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48258,6 +51014,10 @@ - (void)subscribeAttributeRxErrNoFrameCountWithMinInterval:(NSNumber * _Nonnull) new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxErrNoFrameCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48317,6 +51077,10 @@ - (void)subscribeAttributeRxErrUnknownNeighborCountWithMinInterval:(NSNumber * _ new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxErrUnknownNeighborCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48376,6 +51140,10 @@ - (void)subscribeAttributeRxErrInvalidSrcAddrCountWithMinInterval:(NSNumber * _N new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxErrInvalidSrcAddrCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48434,6 +51202,10 @@ - (void)subscribeAttributeRxErrSecCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxErrSecCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48492,6 +51264,10 @@ - (void)subscribeAttributeRxErrFcsCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxErrFcsCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48550,6 +51326,10 @@ - (void)subscribeAttributeRxErrOtherCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::RxErrOtherCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48608,6 +51388,10 @@ - (void)subscribeAttributeActiveTimestampWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ActiveTimestamp::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48666,6 +51450,10 @@ - (void)subscribeAttributePendingTimestampWithMinInterval:(NSNumber * _Nonnull)m new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::PendingTimestamp::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48722,6 +51510,10 @@ - (void)subscribeAttributeDelayWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::Delay::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48780,6 +51572,10 @@ - (void)subscribeAttributeSecurityPolicyWithMinInterval:(NSNumber * _Nonnull)min new CHIPThreadNetworkDiagnosticsSecurityPolicyListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::SecurityPolicy::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48839,6 +51635,10 @@ - (void)subscribeAttributeChannelMaskWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ChannelMask::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -48899,6 +51699,10 @@ - (void)subscribeAttributeOperationalDatasetComponentsWithMinInterval:(NSNumber new CHIPThreadNetworkDiagnosticsOperationalDatasetComponentsListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::OperationalDatasetComponents::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -48964,6 +51768,10 @@ - (void)subscribeAttributeActiveNetworkFaultsListWithMinInterval:(NSNumber * _No new CHIPThreadNetworkDiagnosticsActiveNetworkFaultsListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ActiveNetworkFaultsList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -49029,6 +51837,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPThreadNetworkDiagnosticsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -49094,6 +51906,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPThreadNetworkDiagnosticsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -49156,6 +51972,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPThreadNetworkDiagnosticsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49214,6 +52034,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49271,6 +52095,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = ThreadNetworkDiagnostics::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49356,6 +52184,10 @@ - (void)subscribeAttributeHourFormatWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPTimeFormatLocalizationClusterHourFormatAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TimeFormatLocalization::Attributes::HourFormat::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49433,6 +52265,10 @@ - (void)subscribeAttributeActiveCalendarTypeWithMinInterval:(NSNumber * _Nonnull new CHIPTimeFormatLocalizationClusterCalendarTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TimeFormatLocalization::Attributes::ActiveCalendarType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49494,6 +52330,10 @@ - (void)subscribeAttributeSupportedCalendarTypesWithMinInterval:(NSNumber * _Non new CHIPTimeFormatLocalizationSupportedCalendarTypesListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TimeFormatLocalization::Attributes::SupportedCalendarTypes::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49557,6 +52397,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPTimeFormatLocalizationServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TimeFormatLocalization::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -49622,6 +52466,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPTimeFormatLocalizationClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TimeFormatLocalization::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -49684,6 +52532,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = TimeFormatLocalization::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49770,6 +52622,10 @@ - (void)subscribeAttributeTemperatureUnitWithMinInterval:(NSNumber * _Nonnull)mi new CHIPUnitLocalizationClusterTempUnitAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UnitLocalization::Attributes::TemperatureUnit::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49829,6 +52685,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPUnitLocalizationAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UnitLocalization::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49887,6 +52747,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UnitLocalization::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -49944,6 +52808,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UnitLocalization::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50051,6 +52919,10 @@ - (void)subscribeAttributeLabelListWithMinInterval:(NSNumber * _Nonnull)minInter new CHIPUserLabelLabelListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UserLabel::Attributes::LabelList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50110,6 +52982,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPUserLabelServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UserLabel::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50171,6 +53047,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPUserLabelClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UserLabel::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50230,6 +53110,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = UserLabel::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50296,6 +53180,10 @@ - (void)subscribeAttributeMACAddressWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPCharStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WakeOnLan::Attributes::MACAddress::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50355,6 +53243,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPWakeOnLanServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WakeOnLan::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50416,6 +53308,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPWakeOnLanClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WakeOnLan::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50475,6 +53371,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPWakeOnLanAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WakeOnLan::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50534,6 +53434,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WakeOnLan::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50617,6 +53521,10 @@ - (void)subscribeAttributeBssidWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPNullableOctetStringAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::Bssid::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50674,6 +53582,10 @@ - (void)subscribeAttributeSecurityTypeWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPNullableWiFiNetworkDiagnosticsClusterSecurityTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::SecurityType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50735,6 +53647,10 @@ - (void)subscribeAttributeWiFiVersionWithMinInterval:(NSNumber * _Nonnull)minInt new CHIPNullableWiFiNetworkDiagnosticsClusterWiFiVersionTypeAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::WiFiVersion::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -50798,6 +53714,10 @@ - (void)subscribeAttributeChannelNumberWithMinInterval:(NSNumber * _Nonnull)minI new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::ChannelNumber::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50855,6 +53775,10 @@ - (void)subscribeAttributeRssiWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPNullableInt8sAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::Rssi::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50912,6 +53836,10 @@ - (void)subscribeAttributeBeaconLostCountWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::BeaconLostCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -50970,6 +53898,10 @@ - (void)subscribeAttributeBeaconRxCountWithMinInterval:(NSNumber * _Nonnull)minI new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::BeaconRxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51029,6 +53961,10 @@ - (void)subscribeAttributePacketMulticastRxCountWithMinInterval:(NSNumber * _Non new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::PacketMulticastRxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51088,6 +54024,10 @@ - (void)subscribeAttributePacketMulticastTxCountWithMinInterval:(NSNumber * _Non new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::PacketMulticastTxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51147,6 +54087,10 @@ - (void)subscribeAttributePacketUnicastRxCountWithMinInterval:(NSNumber * _Nonnu new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::PacketUnicastRxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51206,6 +54150,10 @@ - (void)subscribeAttributePacketUnicastTxCountWithMinInterval:(NSNumber * _Nonnu new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::PacketUnicastTxCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51264,6 +54212,10 @@ - (void)subscribeAttributeCurrentMaxRateWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::CurrentMaxRate::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51321,6 +54273,10 @@ - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt64uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::OverrunCount::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51382,6 +54338,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPWiFiNetworkDiagnosticsServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -51447,6 +54407,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPWiFiNetworkDiagnosticsClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); @@ -51509,6 +54473,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPWiFiNetworkDiagnosticsAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51567,6 +54535,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51624,6 +54596,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WiFiNetworkDiagnostics::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51818,6 +54794,10 @@ - (void)subscribeAttributeTypeWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::Type::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51877,6 +54857,10 @@ - (void)subscribeAttributeCurrentPositionLiftWithMinInterval:(NSNumber * _Nonnul new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::CurrentPositionLift::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51937,6 +54921,10 @@ - (void)subscribeAttributeCurrentPositionTiltWithMinInterval:(NSNumber * _Nonnul new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::CurrentPositionTilt::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -51994,6 +54982,10 @@ - (void)subscribeAttributeConfigStatusWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::ConfigStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52054,6 +55046,10 @@ - (void)subscribeAttributeCurrentPositionLiftPercentageWithMinInterval:(NSNumber new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::CurrentPositionLiftPercentage::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52114,6 +55110,10 @@ - (void)subscribeAttributeCurrentPositionTiltPercentageWithMinInterval:(NSNumber new CHIPNullableInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::CurrentPositionTiltPercentage::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52172,6 +55172,10 @@ - (void)subscribeAttributeOperationalStatusWithMinInterval:(NSNumber * _Nonnull) new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::OperationalStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52232,6 +55236,10 @@ - (void)subscribeAttributeTargetPositionLiftPercent100thsWithMinInterval:(NSNumb new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::TargetPositionLiftPercent100ths::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52292,6 +55300,10 @@ - (void)subscribeAttributeTargetPositionTiltPercent100thsWithMinInterval:(NSNumb new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::TargetPositionTiltPercent100ths::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52350,6 +55362,10 @@ - (void)subscribeAttributeEndProductTypeWithMinInterval:(NSNumber * _Nonnull)min new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::EndProductType::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52410,6 +55426,10 @@ - (void)subscribeAttributeCurrentPositionLiftPercent100thsWithMinInterval:(NSNum new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::CurrentPositionLiftPercent100ths::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52470,6 +55490,10 @@ - (void)subscribeAttributeCurrentPositionTiltPercent100thsWithMinInterval:(NSNum new CHIPNullableInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::CurrentPositionTiltPercent100ths::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52529,6 +55553,10 @@ - (void)subscribeAttributeInstalledOpenLimitLiftWithMinInterval:(NSNumber * _Non new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::InstalledOpenLimitLift::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52588,6 +55616,10 @@ - (void)subscribeAttributeInstalledClosedLimitLiftWithMinInterval:(NSNumber * _N new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::InstalledClosedLimitLift::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52647,6 +55679,10 @@ - (void)subscribeAttributeInstalledOpenLimitTiltWithMinInterval:(NSNumber * _Non new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::InstalledOpenLimitTilt::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52706,6 +55742,10 @@ - (void)subscribeAttributeInstalledClosedLimitTiltWithMinInterval:(NSNumber * _N new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::InstalledClosedLimitTilt::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52780,6 +55820,10 @@ - (void)subscribeAttributeModeWithMinInterval:(NSNumber * _Nonnull)minInterval new CHIPInt8uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::Mode::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52836,6 +55880,10 @@ - (void)subscribeAttributeSafetyStatusWithMinInterval:(NSNumber * _Nonnull)minIn new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::SafetyStatus::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52896,6 +55944,10 @@ - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(NSNumber * new CHIPWindowCoveringServerGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::ServerGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -52957,6 +56009,10 @@ - (void)subscribeAttributeClientGeneratedCommandListWithMinInterval:(NSNumber * new CHIPWindowCoveringClientGeneratedCommandListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::ClientGeneratedCommandList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -53016,6 +56072,10 @@ - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minI new CHIPWindowCoveringAttributeListListAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::AttributeList::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -53074,6 +56134,10 @@ - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInte new CHIPInt32uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::FeatureMap::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); @@ -53131,6 +56195,10 @@ - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)mi new CHIPInt16uAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { + if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { + // We don't support disabling auto-resubscribe. + return CHIP_ERROR_INVALID_ARGUMENT; + } using TypeInfo = WindowCovering::Attributes::ClusterRevision::TypeInfo; auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); From 0b64326c19324adf5de0d3b8e81832a4b540c6bb Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Tue, 15 Mar 2022 12:58:31 -0400 Subject: [PATCH 04/37] Make the IM command timeouts in chip-tool configurable. (#16122) Adds a --timeout optional command-line argument (to match the one that test commands have). Also changes the default timeout for read/subscribe from 10s to 30s, because wildcard read/subscribe can take a while. https://github.com/project-chip/connectedhomeip/issues/16118 --- examples/chip-tool/commands/clusters/ModelCommand.h | 6 +++++- examples/chip-tool/commands/clusters/ReportCommand.h | 11 +++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/examples/chip-tool/commands/clusters/ModelCommand.h b/examples/chip-tool/commands/clusters/ModelCommand.h index 25ff96ab870e91..1a29d48fab6a9f 100644 --- a/examples/chip-tool/commands/clusters/ModelCommand.h +++ b/examples/chip-tool/commands/clusters/ModelCommand.h @@ -36,11 +36,12 @@ class ModelCommand : public CHIPCommand { AddArgument("node-id/group-id", 0, UINT64_MAX, &mNodeId); AddArgument("endpoint-id-ignored-for-group-commands", 0, UINT16_MAX, &mEndPointId); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } /////////// CHIPCommand Interface ///////// CHIP_ERROR RunCommand() override; - chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(10); } + chip::System::Clock::Timeout GetWaitDuration() const override { return chip::System::Clock::Seconds16(mTimeout.ValueOr(10)); } virtual CHIP_ERROR SendCommand(ChipDevice * device, std::vector endPointIds) = 0; @@ -55,6 +56,9 @@ class ModelCommand : public CHIPCommand mOnDeviceConnectionFailureCallback.Cancel(); } +protected: + chip::Optional mTimeout; + private: chip::NodeId mNodeId; std::vector mEndPointId; diff --git a/examples/chip-tool/commands/clusters/ReportCommand.h b/examples/chip-tool/commands/clusters/ReportCommand.h index 160370f3634874..124034c07b426a 100644 --- a/examples/chip-tool/commands/clusters/ReportCommand.h +++ b/examples/chip-tool/commands/clusters/ReportCommand.h @@ -303,6 +303,13 @@ class ReportCommand : public ModelCommand, public chip::app::ReadClient::Callbac return mReadClient->SendRequest(params); } + // Use a 3x-longer-than-default timeout because wildcard reads can take a + // while. + chip::System::Clock::Timeout GetWaitDuration() const override + { + return mTimeout.HasValue() ? chip::System::Clock::Seconds16(mTimeout.Value()) : (ModelCommand::GetWaitDuration() * 3); + } + std::unique_ptr mReadClient; chip::app::BufferedReadCallback mBufferedReadAdapter; @@ -411,7 +418,7 @@ class SubscribeAttribute : public ReportCommand chip::System::Clock::Timeout GetWaitDuration() const override { - return chip::System::Clock::Seconds16(mWait ? UINT16_MAX : 10); + return mWait ? chip::System::Clock::Seconds16(UINT16_MAX) : ReportCommand::GetWaitDuration(); } void OnAttributeSubscription() override @@ -525,7 +532,7 @@ class SubscribeEvent : public ReportCommand chip::System::Clock::Timeout GetWaitDuration() const override { - return chip::System::Clock::Seconds16(mWait ? UINT16_MAX : 10); + return mWait ? chip::System::Clock::Seconds16(UINT16_MAX) : ReportCommand::GetWaitDuration(); } void OnEventSubscription() override From a337765695d443a49fda7fd6df38b9b43ea64e3a Mon Sep 17 00:00:00 2001 From: Rohit Jadhav <69809379+jadhavrohit924@users.noreply.github.com> Date: Tue, 15 Mar 2022 22:35:40 +0530 Subject: [PATCH 05/37] [ESP32] Update wifi network if already connected to AP (#16166) * [ESP32] Update wifi network if already connected to AP * Address review comments --- .../ESP32/NetworkCommissioningWiFiDriver.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp b/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp index 8f09ee5f595865..362de42ab58e10 100644 --- a/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp @@ -92,6 +92,24 @@ bool ESPWiFiDriver::NetworkMatch(const WiFiNetwork & network, ByteSpan networkId Status ESPWiFiDriver::AddOrUpdateNetwork(ByteSpan ssid, ByteSpan credentials) { + // If device is already connected to WiFi, then disconnect the WiFi, + // clear the WiFi configurations and add the newly provided WiFi configurations. + if (chip::DeviceLayer::Internal::ESP32Utils::IsStationProvisioned()) + { + ChipLogProgress(DeviceLayer, "Disconnecting WiFi station interface"); + esp_err_t err = esp_wifi_disconnect(); + if (err != ESP_OK) + { + ChipLogError(DeviceLayer, "esp_wifi_disconnect() failed: %s", esp_err_to_name(err)); + return Status::kOtherConnectionFailure; + } + CHIP_ERROR error = chip::DeviceLayer::Internal::ESP32Utils::ClearWiFiStationProvision(); + if (error != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "ClearWiFiStationProvision failed: %s", chip::ErrorStr(error)); + return Status::kUnknownError; + } + } VerifyOrReturnError(mStagingNetwork.ssidLen == 0 || NetworkMatch(mStagingNetwork, ssid), Status::kBoundsExceeded); VerifyOrReturnError(credentials.size() <= sizeof(mStagingNetwork.credentials), Status::kOutOfRange); VerifyOrReturnError(ssid.size() <= sizeof(mStagingNetwork.ssid), Status::kOutOfRange); From eac433a6b7a7c99a778be15e8e39c2ef60a3eb49 Mon Sep 17 00:00:00 2001 From: Kundok Park <97262718+kpark-apple@users.noreply.github.com> Date: Tue, 15 Mar 2022 10:05:54 -0700 Subject: [PATCH 06/37] Update Darwin CHIPDevice data object format (#16049) * CHIPAttributePath object and CHIPCommandPath object are used for paths instead of individual dictionary keys for path elements. * NSError object replaces implementation specific status value. * List TLV conversion code was removed. * Implementation specific tag is replaced with context tag number just for Structure TLV. * 64 bit int conversion was fixed. * new operator was replaced with Platform::New. * Float and double TLV decoding was fixed to distinguish them. * Potential buffer overrun during UTF8String TLV conversion was fixed. * String constant names were corrected. * Method header comments were corrected. --- .../CHIP/CHIPAttributeCacheContainer.mm | 21 +- src/darwin/Framework/CHIP/CHIPDevice.h | 135 ++- src/darwin/Framework/CHIP/CHIPDevice.mm | 405 ++++---- .../Framework/CHIP/CHIPDeviceController+XPC.h | 15 +- .../Framework/CHIP/CHIPDeviceController+XPC.m | 82 ++ ...IPDeviceControllerOverXPC+AttributeCache.m | 36 +- .../CHIP/CHIPDeviceControllerXPCConnection.h | 2 +- .../CHIP/CHIPDeviceControllerXPCConnection.m | 8 +- src/darwin/Framework/CHIP/CHIPDeviceOverXPC.m | 48 +- .../Framework/CHIP/CHIPDevice_Internal.h | 10 + .../Framework/CHIPTests/CHIPDeviceTests.m | 470 +++++---- .../CHIPTests/CHIPXPCListenerSampleTests.m | 271 ++--- .../CHIPTests/CHIPXPCProtocolTests.m | 946 ++++++++++-------- 13 files changed, 1433 insertions(+), 1016 deletions(-) diff --git a/src/darwin/Framework/CHIP/CHIPAttributeCacheContainer.mm b/src/darwin/Framework/CHIP/CHIPAttributeCacheContainer.mm index 080f648b61772d..32d9c97be8b776 100644 --- a/src/darwin/Framework/CHIP/CHIPAttributeCacheContainer.mm +++ b/src/darwin/Framework/CHIP/CHIPAttributeCacheContainer.mm @@ -21,6 +21,7 @@ #import "CHIPDeviceControllerOverXPC+AttributeCache.h" #import "CHIPDevice_Internal.h" #import "CHIPError.h" +#import "CHIPError_Internal.h" #import "CHIPLogging.h" #include @@ -152,30 +153,20 @@ static CHIP_ERROR AppendAttibuteValueToArray( if (err == CHIP_NO_ERROR) { id obj = NSObjectFromCHIPTLV(&reader); if (obj) { - [array addObject:@{ - @"endpointId" : [NSNumber numberWithUnsignedShort:path.mEndpointId], - @"clusterId" : [NSNumber numberWithUnsignedLong:path.mClusterId], - @"attributeId" : [NSNumber numberWithUnsignedLong:path.mAttributeId], - @"status" : @0, - @"data" : obj - }]; + [array addObject:@ { kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:path], kCHIPDataKey : obj }]; return CHIP_NO_ERROR; } CHIP_LOG_ERROR("Error: Cached value could not be converted to generic NSObject"); [array addObject:@ { - @"endpointId" : [NSNumber numberWithUnsignedShort:path.mEndpointId], - @"clusterId" : [NSNumber numberWithUnsignedLong:path.mClusterId], - @"attributeId" : [NSNumber numberWithUnsignedLong:path.mAttributeId], - @"status" : [NSNumber numberWithInteger:CHIP_ERROR_DECODE_FAILED.AsInteger()] + kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:path], + kCHIPErrorKey : [CHIPError errorForCHIPErrorCode:CHIP_ERROR_DECODE_FAILED] }]; return CHIP_ERROR_DECODE_FAILED; } CHIP_LOG_ERROR("Error: Failed to read from attribute cache: %s", err.AsString()); [array addObject:@ { - @"endpointId" : [NSNumber numberWithUnsignedShort:path.mEndpointId], - @"clusterId" : [NSNumber numberWithUnsignedLong:path.mClusterId], - @"attributeId" : [NSNumber numberWithUnsignedLong:path.mAttributeId], - @"status" : [NSNumber numberWithInteger:err.AsInteger()] + kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:path], + kCHIPErrorKey : [CHIPError errorForCHIPErrorCode:err] }]; return err; } diff --git a/src/darwin/Framework/CHIP/CHIPDevice.h b/src/darwin/Framework/CHIP/CHIPDevice.h index 2e28c868752799..74ba8bbf67bded 100644 --- a/src/darwin/Framework/CHIP/CHIPDevice.h +++ b/src/darwin/Framework/CHIP/CHIPDevice.h @@ -24,28 +24,72 @@ NS_ASSUME_NONNULL_BEGIN +/** + * Handler for read attribute response, write attribute response, invoke command response and reports. + * + * Handler will receive either values or error. Either one of the parameters will be nil. + * + * @param values Received values are an NSArray object with response-value element as described below. + * + * A response-value is an NSDictionary object with the following key values: + * + * kCHIPAttributePathKey : CHIPAttributePath object. Included for attribute value. + * kCHIPCommandPathKey : CHIPCommandPath object. Included for command response. + * kCHIPErrorKey : NSError object. Included to indicate an error. + * kCHIPDataKey: Data-value NSDictionary object. + * Included when there is data and when there is no error. + * The data-value is described below. + * + * A data-value is an NSDictionary object with the following key values: + * + * kCHIPTypeKey : data type. kCHIPSignedIntegerValueType, kCHIPUnsignedIntegerValueType, kCHIPBooleanValueType, + * kCHIPUTF8StringValueType, kCHIPOctetStringValueType, kCHIPFloatValueType, kCHIPDoubleValueType, + * kCHIPNullValueType, kCHIPStructureValueType or kCHIPArrayValueType. + * + * kCHIPValueKey : data value. Per each data type, data value shall be the following object: + * + * kCHIPSignedIntegerValueType: NSNumber object. + * kCHIPUnsignedIntegerValueType: NSNumber object. + * kCHIPBooleanValueType: NSNumber object. + * kCHIPUTF8StringValueType: NSString object. + * kCHIPOctetStringValueType: NSData object. + * kCHIPFloatValueType: NSNumber object. + * kCHIPDoubleValueType: NSNumber object. + * kCHIPNullValueType: "value" key will not be included. + * kCHIPStructureValueType: structure-value NSArray object. + * See below for the definition of structure-value. + * kCHIPArrayValueType: Array-value NSArray object. See below for the definition of array-value. + * + * A structure-value is an NSArray object with NSDictionary objects as its elements. Each dictionary element will + * contain the following key values. + * + * kCHIPContextTagKey : NSNumber object as context tag. + * kCHIPDataKey : Data-value NSDictionary object. + * + * An array-value is an NSArray object with NSDictionary objects as its elements. Each dictionary element will + * contain the following key values. + * + * kCHIPDataKey : Data-value NSDictionary object. + */ typedef void (^CHIPDeviceResponseHandler)(NSArray *> * _Nullable values, NSError * _Nullable error); +extern NSString * const kCHIPAttributePathKey; +extern NSString * const kCHIPCommandPathKey; +extern NSString * const kCHIPDataKey; +extern NSString * const kCHIPErrorKey; extern NSString * const kCHIPTypeKey; extern NSString * const kCHIPValueKey; -extern NSString * const kCHIPTagKey; -extern NSString * const kCHIPSignedIntegerValueTypeKey; -extern NSString * const kCHIPUnsignedIntegerValueTypeKey; -extern NSString * const kCHIPBooleanValueTypeKey; -extern NSString * const kCHIPUTF8StringValueTypeKey; -extern NSString * const kCHIPOctetStringValueTypeKey; -extern NSString * const kCHIPFloatValueTypeKey; -extern NSString * const kCHIPDoubleValueTypeKey; -extern NSString * const kCHIPNullValueTypeKey; -extern NSString * const kCHIPStructureValueTypeKey; -extern NSString * const kCHIPArrayValueTypeKey; -extern NSString * const kCHIPListValueTypeKey; -extern NSString * const kCHIPEndpointIdKey; -extern NSString * const kCHIPClusterIdKey; -extern NSString * const kCHIPAttributeIdKey; -extern NSString * const kCHIPCommandIdKey; -extern NSString * const kCHIPDataKey; -extern NSString * const kCHIPStatusKey; +extern NSString * const kCHIPContextTagKey; +extern NSString * const kCHIPSignedIntegerValueType; +extern NSString * const kCHIPUnsignedIntegerValueType; +extern NSString * const kCHIPBooleanValueType; +extern NSString * const kCHIPUTF8StringValueType; +extern NSString * const kCHIPOctetStringValueType; +extern NSString * const kCHIPFloatValueType; +extern NSString * const kCHIPDoubleValueType; +extern NSString * const kCHIPNullValueType; +extern NSString * const kCHIPStructureValueType; +extern NSString * const kCHIPArrayValueType; @interface CHIPDevice : NSObject @@ -81,17 +125,6 @@ extern NSString * const kCHIPStatusKey; /** * Read attribute in a designated attribute path - * - * @param completion response handler will receive either value or error. value will be an NSArray object with NSDictionary - * elements. Each NSDictionary will have "endpointId", "clusterId", "attributeId", "status" and "data" keys. "endpointId", - * "clusterId", "attributeId" and "status" will be mapped to NSNumber objects. "status" with 0 value indicates success and non-zero - * value indicates failure. "data" key is present only when "status" value is 0. "data" key will be mapped to an NSDictionary - * object, representing attribute value of the path. NSDictionary representing attribute value will contain "type" and "value" keys. - * "type" will be mapped to "SignedInteger", "UnsignedInteger", "UTF8String", "OctetString", "Float", - * "Double", "Boolean", "Null", "Structure", "Array" or "List. "value" will be mapped to an NSNumber, NSString, nil or NSArray - * instance. When "type" is "OctetStriing", "value" will be an NSData object. When "type" is "Structure", "Array" or "List", "value" - * will be NSArray with NSDictionary elements. Each NSDictionary element will have "tag" and "value" keys. "tag" will be mapped to - * an NSNumber value. "value" will be mapped to an NSDictionary instance representing any attribute value recursively. */ - (void)readAttributeWithEndpointId:(NSUInteger)endpointId clusterId:(NSUInteger)clusterId @@ -102,10 +135,8 @@ extern NSString * const kCHIPStatusKey; /** * Write to attribute in a designated attribute path * - * @param completion response handler will receive either value or error. value will be an NSArray object with NSDictionary - * elements. Each NSDictionary will have "endpointId", "clusterId", "attributeId" and "status" keys. "endpointId", "clusterId", - * "attributeId" and "status" will be mapped to NSNumber objects. "status" with 0 value indicates success and non-zero value - * indicates failure. + * @param value A data-value NSDictionary object as described in + * CHIPDeviceResponseHandler. */ - (void)writeAttributeWithEndpointId:(NSUInteger)endpointId clusterId:(NSUInteger)clusterId @@ -117,16 +148,10 @@ extern NSString * const kCHIPStatusKey; /** * Invoke a command with a designated command path * - * @param commandFields command fields object. The object must be an NSDictionary object representing attribute value - * as described in the readAttributeWithEndpointId:clusterId:attributeId:clientQueue:responseHandler: method. - * The attribute must be a Structure, i.e., the NSDictionary "type" key must have the value "Structure". - * - * @param completion response handler will receive either value or error. value will be an NSArray object with NSDictionary - * elements. Each NSDictionary will have "endpointId", "clusterId", "commandId", "status" and "responseData" keys. "endpointId", - * "clusterId", "attributeId" and "status" will be mapped to NSNumber objects. "status" with 0 value indicates success and non-zero - * value indicates failure. "responseData" key will be included only when "status" key has 0 value and there is response data for - * the command. "responseData" key value will be an NSDictionary object representing attribute value as described in the - * readAttributeWithEndpointId:clusterId:attributeId:clientQueue:responseHandler: method. + * @param commandFields command fields object. The object must be a data-value NSDictionary object + * as described in the CHIPDeviceResponseHandler. + * The attribute must be a Structure, i.e., + * the NSDictionary kCHIPTypeKey key must have the value kCHIPStructureValueType. */ - (void)invokeCommandWithEndpointId:(NSUInteger)endpointId clusterId:(NSUInteger)clusterId @@ -137,12 +162,6 @@ extern NSString * const kCHIPStatusKey; /** * Subscribe an attribute in a designated attribute path - * - * @param reportHandler handler for the reports. Note that only the report handler by the last call to this method per the same - * attribute path will receive reports. Report handler will receive either value or error. value will be an NSDictionary object. The - * NSDictionary object will have "endpointId", "clusterId", "attributeId" and "value" keys. "endpointId", "clusterId" and - * "attributeId" will be mapped to NSNumber objects. "value" key value will be an NSDictionary object representing attribute value - * as described in the readAttributeWithEndpointId:clusterId:attributeId:clientQueue:responseHandler: method. */ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId clusterId:(NSUInteger)clusterId @@ -150,8 +169,7 @@ extern NSString * const kCHIPStatusKey; minInterval:(NSUInteger)minInterval maxInterval:(NSUInteger)maxInterval clientQueue:(dispatch_queue_t)clientQueue - reportHandler:(void (^)(NSDictionary * _Nullable value, - NSError * _Nullable error))reportHandler + reportHandler:(CHIPDeviceResponseHandler)reportHandler subscriptionEstablished:(nullable void (^)(void))subscriptionEstablishedHandler; /** @@ -170,6 +188,21 @@ extern NSString * const kCHIPStatusKey; @property (nonatomic, readonly, strong, nonnull) NSNumber * cluster; @property (nonatomic, readonly, strong, nonnull) NSNumber * attribute; ++ (instancetype)attributePathWithEndpointId:(NSNumber *)endpoint + clusterId:(NSNumber *)clusterId + attributeId:(NSNumber *)attributeId; + +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; +@end + +@interface CHIPCommandPath : NSObject +@property (nonatomic, readonly, strong, nonnull) NSNumber * endpoint; +@property (nonatomic, readonly, strong, nonnull) NSNumber * cluster; +@property (nonatomic, readonly, strong, nonnull) NSNumber * command; + ++ (instancetype)commandPathWithEndpointId:(NSNumber *)endpoint clusterId:(NSNumber *)clusterId commandId:(NSNumber *)commandId; + - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; @end diff --git a/src/darwin/Framework/CHIP/CHIPDevice.mm b/src/darwin/Framework/CHIP/CHIPDevice.mm index b123dc62a9f952..614a0f3235e20f 100644 --- a/src/darwin/Framework/CHIP/CHIPDevice.mm +++ b/src/darwin/Framework/CHIP/CHIPDevice.mm @@ -20,7 +20,10 @@ #import "CHIPDevice_Internal.h" #import "CHIPError_Internal.h" #import "CHIPLogging.h" +#include "app/ConcreteAttributePath.h" +#include "app/ConcreteCommandPath.h" #include "lib/core/CHIPError.h" +#include "lib/core/DataModelTypes.h" #include #include @@ -38,28 +41,25 @@ using namespace chip::app; using namespace chip::Protocols::InteractionModel; +NSString * const kCHIPAttributePathKey = @"attributePath"; +NSString * const kCHIPCommandPathKey = @"commandPath"; +NSString * const kCHIPDataKey = @"data"; +NSString * const kCHIPErrorKey = @"error"; NSString * const kCHIPTypeKey = @"type"; NSString * const kCHIPValueKey = @"value"; -NSString * const kCHIPTagKey = @"tag"; -NSString * const kCHIPSignedIntegerValueTypeKey = @"SignedInteger"; -NSString * const kCHIPUnsignedIntegerValueTypeKey = @"UnsignedInteger"; -NSString * const kCHIPBooleanValueTypeKey = @"Boolean"; -NSString * const kCHIPUTF8StringValueTypeKey = @"UTF8String"; -NSString * const kCHIPOctetStringValueTypeKey = @"OctetString"; -NSString * const kCHIPFloatValueTypeKey = @"Float"; -NSString * const kCHIPDoubleValueTypeKey = @"Double"; -NSString * const kCHIPNullValueTypeKey = @"Null"; -NSString * const kCHIPStructureValueTypeKey = @"Structure"; -NSString * const kCHIPArrayValueTypeKey = @"Array"; -NSString * const kCHIPListValueTypeKey = @"List"; -NSString * const kCHIPEndpointIdKey = @"endpointId"; -NSString * const kCHIPClusterIdKey = @"clusterId"; -NSString * const kCHIPAttributeIdKey = @"attributeId"; -NSString * const kCHIPCommandIdKey = @"commandId"; -NSString * const kCHIPDataKey = @"data"; -NSString * const kCHIPStatusKey = @"status"; - -class NSObjectAttributeCallbackBridge; +NSString * const kCHIPContextTagKey = @"contextTag"; +NSString * const kCHIPSignedIntegerValueType = @"SignedInteger"; +NSString * const kCHIPUnsignedIntegerValueType = @"UnsignedInteger"; +NSString * const kCHIPBooleanValueType = @"Boolean"; +NSString * const kCHIPUTF8StringValueType = @"UTF8String"; +NSString * const kCHIPOctetStringValueType = @"OctetString"; +NSString * const kCHIPFloatValueType = @"Float"; +NSString * const kCHIPDoubleValueType = @"Double"; +NSString * const kCHIPNullValueType = @"Null"; +NSString * const kCHIPStructureValueType = @"Structure"; +NSString * const kCHIPArrayValueType = @"Array"; + +class NSObjectDataValueCallbackBridge; @interface CHIPDevice () @@ -69,10 +69,6 @@ @interface CHIPDevice () @end -@interface CHIPAttributePath () -- (instancetype)initWithPath:(const ConcreteDataAttributePath &)path; -@end - @interface CHIPAttributeReport () - (instancetype)initWithPath:(const ConcreteDataAttributePath &)path value:(nullable id)value error:(nullable NSError *)error; @end @@ -124,11 +120,11 @@ static void PurgeReadClientContainers(uint64_t deviceId, dispatch_queue_t queue, dispatch_async(DeviceLayer::PlatformMgrImpl().GetWorkQueue(), ^{ for (CHIPReadClientContainer * container in listToDelete) { if (container.readClientPtr) { - delete container.readClientPtr; + Platform::Delete(container.readClientPtr); container.readClientPtr = nullptr; } if (container.pathParams) { - delete container.pathParams; + Platform::Delete(container.pathParams); container.pathParams = nullptr; } } @@ -157,15 +153,43 @@ static void PurgeCompletedReadClientContainers(uint64_t deviceId) [readClientContainersLock unlock]; } +#ifdef DEBUG +// This function is for unit testing only. This function closes all read clients. +static void CauseReadClientFailure(uint64_t deviceId, dispatch_queue_t queue, void (^_Nullable completion)(void)) +{ + InitializeReadClientContainers(); + + NSMutableArray * listToFail; + NSNumber * key = [NSNumber numberWithUnsignedLongLong:deviceId]; + [readClientContainersLock lock]; + listToFail = readClientContainers[key]; + [readClientContainers removeObjectForKey:key]; + [readClientContainersLock unlock]; + + dispatch_async(DeviceLayer::PlatformMgrImpl().GetWorkQueue(), ^{ + for (CHIPReadClientContainer * container in listToFail) { + // Send auto resubscribe request again by read clients, which must fail. + chip::app::ReadPrepareParams readParams; + if (container.readClientPtr) { + container.readClientPtr->SendAutoResubscribeRequest(std::move(readParams)); + } + } + if (completion) { + dispatch_async(queue, completion); + } + }); +} +#endif + @implementation CHIPReadClientContainer - (void)onDone { if (_readClientPtr) { - delete _readClientPtr; + Platform::Delete(_readClientPtr); _readClientPtr = nullptr; } if (_pathParams) { - delete _pathParams; + Platform::Delete(_pathParams); _pathParams = nullptr; } PurgeCompletedReadClientContainers(_deviceId); @@ -174,11 +198,11 @@ - (void)onDone - (void)dealloc { if (_readClientPtr) { - delete _readClientPtr; + Platform::Delete(_readClientPtr); _readClientPtr = nullptr; } if (_pathParams) { - delete _pathParams; + Platform::Delete(_pathParams); _pathParams = nullptr; } } @@ -337,7 +361,7 @@ id _Nullable NSObjectFromCHIPTLV(chip::TLV::TLVReader * data) CHIP_LOG_ERROR("Error(%s): TLV signed integer decoding failed", chip::ErrorStr(err)); return nil; } - return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPSignedIntegerValueTypeKey, kCHIPTypeKey, + return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPSignedIntegerValueType, kCHIPTypeKey, [NSNumber numberWithLongLong:val], kCHIPValueKey, nil]; } case chip::TLV::kTLVType_UnsignedInteger: { @@ -347,7 +371,7 @@ id _Nullable NSObjectFromCHIPTLV(chip::TLV::TLVReader * data) CHIP_LOG_ERROR("Error(%s): TLV unsigned integer decoding failed", chip::ErrorStr(err)); return nil; } - return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPUnsignedIntegerValueTypeKey, kCHIPTypeKey, + return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPUnsignedIntegerValueType, kCHIPTypeKey, [NSNumber numberWithUnsignedLongLong:val], kCHIPValueKey, nil]; } case chip::TLV::kTLVType_Boolean: { @@ -358,27 +382,34 @@ id _Nullable NSObjectFromCHIPTLV(chip::TLV::TLVReader * data) return nil; } return [NSDictionary - dictionaryWithObjectsAndKeys:kCHIPBooleanValueTypeKey, kCHIPTypeKey, [NSNumber numberWithBool:val], kCHIPValueKey, nil]; + dictionaryWithObjectsAndKeys:kCHIPBooleanValueType, kCHIPTypeKey, [NSNumber numberWithBool:val], kCHIPValueKey, nil]; } case chip::TLV::kTLVType_FloatingPointNumber: { + // Try float first + float floatValue; + CHIP_ERROR err = data->Get(floatValue); + if (err == CHIP_NO_ERROR) { + return @ { kCHIPTypeKey : kCHIPFloatValueType, kCHIPValueKey : [NSNumber numberWithFloat:floatValue] }; + } double val; - CHIP_ERROR err = data->Get(val); + err = data->Get(val); if (err != CHIP_NO_ERROR) { CHIP_LOG_ERROR("Error(%s): TLV floating point decoding failed", chip::ErrorStr(err)); return nil; } - return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPDoubleValueTypeKey, kCHIPTypeKey, [NSNumber numberWithDouble:val], - kCHIPValueKey, nil]; + return [NSDictionary + dictionaryWithObjectsAndKeys:kCHIPDoubleValueType, kCHIPTypeKey, [NSNumber numberWithDouble:val], kCHIPValueKey, nil]; } case chip::TLV::kTLVType_UTF8String: { + uint32_t len = data->GetLength(); const uint8_t * ptr; CHIP_ERROR err = data->GetDataPtr(ptr); if (err != CHIP_NO_ERROR) { CHIP_LOG_ERROR("Error(%s): TLV UTF8String decoding failed", chip::ErrorStr(err)); return nil; } - return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPUTF8StringValueTypeKey, kCHIPTypeKey, - [NSString stringWithUTF8String:(const char *) ptr], kCHIPValueKey, nil]; + return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPUTF8StringValueType, kCHIPTypeKey, + [[NSString alloc] initWithBytes:ptr length:len encoding:NSUTF8StringEncoding], kCHIPValueKey, nil]; } case chip::TLV::kTLVType_ByteString: { uint32_t len = data->GetLength(); @@ -388,25 +419,21 @@ id _Nullable NSObjectFromCHIPTLV(chip::TLV::TLVReader * data) CHIP_LOG_ERROR("Error(%s): TLV ByteString decoding failed", chip::ErrorStr(err)); return nil; } - return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPOctetStringValueTypeKey, kCHIPTypeKey, + return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPOctetStringValueType, kCHIPTypeKey, [NSData dataWithBytes:ptr length:len], kCHIPValueKey, nil]; } case chip::TLV::kTLVType_Null: { - return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPNullValueTypeKey, kCHIPTypeKey, nil]; + return [NSDictionary dictionaryWithObjectsAndKeys:kCHIPNullValueType, kCHIPTypeKey, nil]; } case chip::TLV::kTLVType_Structure: - case chip::TLV::kTLVType_Array: - case chip::TLV::kTLVType_List: { + case chip::TLV::kTLVType_Array: { NSString * typeName; switch (dataTLVType) { case chip::TLV::kTLVType_Structure: - typeName = kCHIPStructureValueTypeKey; + typeName = kCHIPStructureValueType; break; case chip::TLV::kTLVType_Array: - typeName = kCHIPArrayValueTypeKey; - break; - case chip::TLV::kTLVType_List: - typeName = kCHIPListValueTypeKey; + typeName = kCHIPArrayValueType; break; default: typeName = @"Unsupported"; @@ -426,8 +453,12 @@ id _Nullable NSObjectFromCHIPTLV(chip::TLV::TLVReader * data) CHIP_LOG_ERROR("Error when decoding TLV container"); return nil; } - [array addObject:[NSDictionary dictionaryWithObjectsAndKeys:value, kCHIPValueKey, - [NSNumber numberWithUnsignedLongLong:(unsigned long long) tag.mVal], kCHIPTagKey, nil]]; + NSMutableDictionary * arrayElement = [NSMutableDictionary dictionary]; + [arrayElement setObject:value forKey:kCHIPDataKey]; + if (dataTLVType == chip::TLV::kTLVType_Structure) { + [arrayElement setObject:[NSNumber numberWithUnsignedLong:TagNumFromTag(tag)] forKey:kCHIPContextTagKey]; + } + [array addObject:arrayElement]; } if (err != CHIP_END_OF_TLV) { CHIP_LOG_ERROR("Error(%s): TLV container decoding failed", chip::ErrorStr(err)); @@ -458,59 +489,59 @@ static CHIP_ERROR EncodeTLVFromObject(id object, chip::TLV::TLVWriter & writer, CHIP_LOG_ERROR("Error: Object to encode is corrupt"); return CHIP_ERROR_INVALID_ARGUMENT; } - if ([typeName isEqualToString:kCHIPSignedIntegerValueTypeKey]) { + if ([typeName isEqualToString:kCHIPSignedIntegerValueType]) { if (![value isKindOfClass:[NSNumber class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt signed integer type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } - return writer.Put(tag, [value intValue]); + return writer.Put(tag, [value longLongValue]); } - if ([typeName isEqualToString:kCHIPUnsignedIntegerValueTypeKey]) { + if ([typeName isEqualToString:kCHIPUnsignedIntegerValueType]) { if (![value isKindOfClass:[NSNumber class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt unsigned integer type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } - return writer.Put(tag, [value unsignedIntValue]); + return writer.Put(tag, [value unsignedLongLongValue]); } - if ([typeName isEqualToString:kCHIPBooleanValueTypeKey]) { + if ([typeName isEqualToString:kCHIPBooleanValueType]) { if (![value isKindOfClass:[NSNumber class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt boolean type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } - return writer.Put(tag, [value unsignedIntValue] ? true : false); + return writer.Put(tag, static_cast([value boolValue])); } - if ([typeName isEqualToString:kCHIPFloatValueTypeKey]) { + if ([typeName isEqualToString:kCHIPFloatValueType]) { if (![value isKindOfClass:[NSNumber class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt float type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } return writer.Put(tag, [value floatValue]); } - if ([typeName isEqualToString:kCHIPDoubleValueTypeKey]) { + if ([typeName isEqualToString:kCHIPDoubleValueType]) { if (![value isKindOfClass:[NSNumber class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt double type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } return writer.Put(tag, [value doubleValue]); } - if ([typeName isEqualToString:kCHIPNullValueTypeKey]) { + if ([typeName isEqualToString:kCHIPNullValueType]) { return writer.PutNull(tag); } - if ([typeName isEqualToString:kCHIPUTF8StringValueTypeKey]) { + if ([typeName isEqualToString:kCHIPUTF8StringValueType]) { if (![value isKindOfClass:[NSString class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt UTF8 string type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } return writer.PutString(tag, [value cStringUsingEncoding:NSUTF8StringEncoding]); } - if ([typeName isEqualToString:kCHIPOctetStringValueTypeKey]) { + if ([typeName isEqualToString:kCHIPOctetStringValueType]) { if (![value isKindOfClass:[NSData class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt octet string type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; } return writer.Put(tag, chip::ByteSpan(static_cast([value bytes]), [value length])); } - if ([typeName isEqualToString:kCHIPStructureValueTypeKey]) { + if ([typeName isEqualToString:kCHIPStructureValueType]) { if (![value isKindOfClass:[NSArray class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt structure type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; @@ -522,8 +553,8 @@ static CHIP_ERROR EncodeTLVFromObject(id object, chip::TLV::TLVWriter & writer, CHIP_LOG_ERROR("Error: Structure element to encode has corrupt type: %@", [element class]); return CHIP_ERROR_INVALID_ARGUMENT; } - NSNumber * elementTag = element[kCHIPTagKey]; - id elementValue = element[kCHIPValueKey]; + NSNumber * elementTag = element[kCHIPContextTagKey]; + id elementValue = element[kCHIPDataKey]; if (!elementTag || !elementValue) { CHIP_LOG_ERROR("Error: Structure element to encode has corrupt value: %@", element); return CHIP_ERROR_INVALID_ARGUMENT; @@ -533,7 +564,7 @@ static CHIP_ERROR EncodeTLVFromObject(id object, chip::TLV::TLVWriter & writer, ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } - if ([typeName isEqualToString:kCHIPArrayValueTypeKey]) { + if ([typeName isEqualToString:kCHIPArrayValueType]) { if (![value isKindOfClass:[NSArray class]]) { CHIP_LOG_ERROR("Error: Object to encode has corrupt array type: %@", [value class]); return CHIP_ERROR_INVALID_ARGUMENT; @@ -545,7 +576,7 @@ static CHIP_ERROR EncodeTLVFromObject(id object, chip::TLV::TLVWriter & writer, CHIP_LOG_ERROR("Error: Array element to encode has corrupt type: %@", [element class]); return CHIP_ERROR_INVALID_ARGUMENT; } - id elementValue = element[kCHIPValueKey]; + id elementValue = element[kCHIPDataKey]; if (!elementValue) { CHIP_LOG_ERROR("Error: Array element to encode has corrupt value: %@", element); return CHIP_ERROR_INVALID_ARGUMENT; @@ -555,36 +586,12 @@ static CHIP_ERROR EncodeTLVFromObject(id object, chip::TLV::TLVWriter & writer, ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; } - if ([typeName isEqualToString:kCHIPListValueTypeKey]) { - if (![value isKindOfClass:[NSArray class]]) { - CHIP_LOG_ERROR("Error: Object to encode has corrupt list type: %@", [value class]); - return CHIP_ERROR_INVALID_ARGUMENT; - } - TLV::TLVType outer; - ReturnErrorOnFailure(writer.StartContainer(tag, chip::TLV::kTLVType_List, outer)); - for (id element in value) { - if (![element isKindOfClass:[NSDictionary class]]) { - CHIP_LOG_ERROR("Error: List element to encode has corrupt type: %@", [element class]); - return CHIP_ERROR_INVALID_ARGUMENT; - } - NSNumber * elementTag = element[kCHIPTagKey]; - id elementValue = element[kCHIPValueKey]; - if (!elementValue) { - CHIP_LOG_ERROR("Error: Array element to encode has corrupt value: %@", element); - return CHIP_ERROR_INVALID_ARGUMENT; - } - ReturnErrorOnFailure(EncodeTLVFromObject(elementValue, writer, - elementTag ? chip::TLV::ContextTag((uint8_t)[elementTag unsignedCharValue]) : chip::TLV::AnonymousTag())); - } - ReturnErrorOnFailure(writer.EndContainer(outer)); - return CHIP_NO_ERROR; - } CHIP_LOG_ERROR("Error: Unsupported type to encode: %@", typeName); return CHIP_ERROR_INVALID_ARGUMENT; } -// Callback type to pass attribute value as an NSObject -typedef void (*NSObjectAttributeCallback)(void * context, id value); +// Callback type to pass data value as an NSObject +typedef void (*NSObjectDataValueCallback)(void * context, id value); typedef void (*CHIPErrorCallback)(void * context, CHIP_ERROR error); // Rename to be generic for decode and encode @@ -623,12 +630,12 @@ CHIP_ERROR Encode(chip::TLV::TLVWriter & writer, chip::TLV::Tag tag) const id _Nullable decodedObj; }; -// Callback bridge for NSObjectAttributeCallback -class NSObjectAttributeCallbackBridge : public CHIPCallbackBridge { +// Callback bridge for NSObjectDataValueCallback +class NSObjectDataValueCallbackBridge : public CHIPCallbackBridge { public: - NSObjectAttributeCallbackBridge( + NSObjectDataValueCallbackBridge( dispatch_queue_t queue, CHIPDeviceResponseHandler handler, CHIPActionBlock action, bool keepAlive = false) - : CHIPCallbackBridge(queue, handler, action, OnSuccessFn, keepAlive) {}; + : CHIPCallbackBridge(queue, handler, action, OnSuccessFn, keepAlive) {}; static void OnSuccessFn(void * context, id value) { DispatchSuccess(context, value); } }; @@ -698,15 +705,7 @@ void OnSubscriptionEstablished(uint64_t aSubscriptionId) override } } - void OnDeallocatePaths(chip::app::ReadPrepareParams && aReadPrepareParams) override - { - VerifyOrDie( - aReadPrepareParams.mAttributePathParamsListSize == 1 && aReadPrepareParams.mpAttributePathParamsList != nullptr); - chip::Platform::Delete(aReadPrepareParams.mpAttributePathParamsList); - - VerifyOrDie(aReadPrepareParams.mDataVersionFilterListSize == 1 && aReadPrepareParams.mpDataVersionFilterList != nullptr); - chip::Platform::Delete(aReadPrepareParams.mpDataVersionFilterList); - } + void OnDeallocatePaths(chip::app::ReadPrepareParams && aReadPrepareParams) override {} ClusterId mClusterId; AttributeId mAttributeId; @@ -724,9 +723,9 @@ - (void)readAttributeWithEndpointId:(NSUInteger)endpointId clientQueue:(dispatch_queue_t)clientQueue completion:(CHIPDeviceResponseHandler)completion { - new NSObjectAttributeCallbackBridge( + new NSObjectDataValueCallbackBridge( clientQueue, completion, ^(chip::Callback::Cancelable * success, chip::Callback::Cancelable * failure) { - auto successFn = chip::Callback::Callback::FromCancelable(success); + auto successFn = chip::Callback::Callback::FromCancelable(success); auto failureFn = chip::Callback::Callback::FromCancelable(failure); auto context = successFn->mContext; auto successCb = successFn->mCall; @@ -734,29 +733,25 @@ new NSObjectAttributeCallbackBridge( auto resultArray = [[NSMutableArray alloc] init]; auto resultSuccess = [[NSMutableArray alloc] init]; auto resultFailure = [[NSMutableArray alloc] init]; - auto onSuccessCb = [resultArray, resultSuccess]( - const app::ConcreteAttributePath & attribPath, const NSObjectData & aData) { - [resultArray - addObject:[[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:attribPath.mEndpointId], - kCHIPEndpointIdKey, [NSNumber numberWithUnsignedInt:attribPath.mClusterId], - kCHIPClusterIdKey, [NSNumber numberWithUnsignedInt:attribPath.mAttributeId], - kCHIPAttributeIdKey, aData.GetDecodedObject(), kCHIPDataKey, - [NSNumber numberWithUnsignedInt:0], kCHIPStatusKey, nil]]; - if ([resultSuccess count] == 0) { - [resultSuccess addObject:[NSNumber numberWithBool:YES]]; - } - }; + auto onSuccessCb + = [resultArray, resultSuccess](const app::ConcreteAttributePath & attribPath, const NSObjectData & aData) { + [resultArray addObject:@ { + kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:attribPath], + kCHIPDataKey : aData.GetDecodedObject() + }]; + if ([resultSuccess count] == 0) { + [resultSuccess addObject:[NSNumber numberWithBool:YES]]; + } + }; auto onFailureCb = [resultArray, resultFailure](const app::ConcreteAttributePath * attribPath, CHIP_ERROR aError) { if (attribPath) { - [resultArray addObject:[[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:attribPath->mEndpointId], - kCHIPEndpointIdKey, [NSNumber numberWithUnsignedInt:attribPath->mClusterId], - kCHIPClusterIdKey, [NSNumber numberWithUnsignedInt:attribPath->mAttributeId], - kCHIPAttributeIdKey, [NSNumber numberWithUnsignedInteger:aError.AsInteger()], - kCHIPStatusKey, nil]]; + [resultArray addObject:@ { + kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:*attribPath], + kCHIPErrorKey : [CHIPError errorForCHIPErrorCode:aError] + }]; } else if ([resultFailure count] == 0) { - [resultFailure addObject:[NSNumber numberWithUnsignedInteger:aError.AsInteger()]]; + [resultFailure addObject:[CHIPError errorForCHIPErrorCode:aError]]; } }; @@ -778,12 +773,9 @@ new NSObjectAttributeCallbackBridge( // Failure if (failureCb) { if ([resultFailure count] > 0) { - failureCb( - context, CHIP_ERROR(static_cast([resultFailure[0] unsignedIntegerValue]))); + failureCb(context, [CHIPError errorToCHIPErrorCode:resultFailure[0]]); } else if ([resultArray count] > 0) { - failureCb(context, - CHIP_ERROR( - static_cast([resultArray[0][kCHIPStatusKey] unsignedIntegerValue]))); + failureCb(context, [CHIPError errorToCHIPErrorCode:resultArray[0][kCHIPErrorKey]]); } else { failureCb(context, CHIP_ERROR_READ_FAILED); } @@ -829,9 +821,9 @@ - (void)writeAttributeWithEndpointId:(NSUInteger)endpointId clientQueue:(dispatch_queue_t)clientQueue completion:(CHIPDeviceResponseHandler)completion { - new NSObjectAttributeCallbackBridge( + new NSObjectDataValueCallbackBridge( clientQueue, completion, ^(chip::Callback::Cancelable * success, chip::Callback::Cancelable * failure) { - auto successFn = chip::Callback::Callback::FromCancelable(success); + auto successFn = chip::Callback::Callback::FromCancelable(success); auto failureFn = chip::Callback::Callback::FromCancelable(failure); auto context = successFn->mContext; auto successCb = successFn->mCall; @@ -839,55 +831,46 @@ new NSObjectAttributeCallbackBridge( auto resultArray = [[NSMutableArray alloc] init]; auto resultSuccess = [[NSMutableArray alloc] init]; auto resultFailure = [[NSMutableArray alloc] init]; - auto onSuccessCb = [resultArray, resultSuccess](const app::ConcreteAttributePath & commandPath) { - [resultArray - addObject:[[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:commandPath.mEndpointId], - kCHIPEndpointIdKey, [NSNumber numberWithUnsignedInt:commandPath.mClusterId], - kCHIPClusterIdKey, [NSNumber numberWithUnsignedInt:commandPath.mAttributeId], - kCHIPAttributeIdKey, [NSNumber numberWithUnsignedInt:0], kCHIPStatusKey, nil]]; + auto onSuccessCb = [resultArray, resultSuccess](const app::ConcreteAttributePath & attribPath) { + [resultArray addObject:@ { kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:attribPath] }]; if ([resultSuccess count] == 0) { [resultSuccess addObject:[NSNumber numberWithBool:YES]]; } }; - auto onFailureCb = [resultArray, resultFailure](const app::ConcreteAttributePath * commandPath, CHIP_ERROR aError) { - if (commandPath) { - [resultArray addObject:[[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:commandPath->mEndpointId], - kCHIPEndpointIdKey, [NSNumber numberWithUnsignedInt:commandPath->mClusterId], - kCHIPClusterIdKey, [NSNumber numberWithUnsignedInt:commandPath->mAttributeId], - kCHIPAttributeIdKey, [NSNumber numberWithUnsignedInteger:aError.AsInteger()], - kCHIPStatusKey, nil]]; + auto onFailureCb = [resultArray, resultFailure](const app::ConcreteAttributePath * attribPath, CHIP_ERROR aError) { + if (attribPath) { + [resultArray addObject:@ { + kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:*attribPath], + kCHIPErrorKey : [CHIPError errorForCHIPErrorCode:aError], + }]; } else { if ([resultFailure count] == 0) { - [resultFailure addObject:[NSNumber numberWithUnsignedInteger:aError.AsInteger()]]; + [resultFailure addObject:[CHIPError errorForCHIPErrorCode:aError]]; } } }; - auto onDoneCb = [context, successCb, failureCb, resultArray, resultSuccess, resultFailure]( - app::WriteClient * pWriteClient) { - if ([resultFailure count] > 0 || [resultSuccess count] == 0) { - // Failure - if (failureCb) { - if ([resultFailure count] > 0) { - failureCb( - context, CHIP_ERROR(static_cast([resultFailure[0] unsignedIntegerValue]))); - } else if ([resultArray count] > 0) { - failureCb(context, - CHIP_ERROR( - static_cast([resultArray[0][kCHIPStatusKey] unsignedIntegerValue]))); - } else { - failureCb(context, CHIP_ERROR_WRITE_FAILED); - } - } - } else { - // Success - if (successCb) { - successCb(context, resultArray); - } - } - }; + auto onDoneCb + = [context, successCb, failureCb, resultArray, resultSuccess, resultFailure](app::WriteClient * pWriteClient) { + if ([resultFailure count] > 0 || [resultSuccess count] == 0) { + // Failure + if (failureCb) { + if ([resultFailure count] > 0) { + failureCb(context, [CHIPError errorToCHIPErrorCode:resultFailure[0]]); + } else if ([resultArray count] > 0) { + failureCb(context, [CHIPError errorToCHIPErrorCode:resultArray[0][kCHIPErrorKey]]); + } else { + failureCb(context, CHIP_ERROR_WRITE_FAILED); + } + } + } else { + // Success + if (successCb) { + successCb(context, resultArray); + } + } + }; return chip::Controller::WriteAttribute([self internalDevice]->GetSecureSession().Value(), static_cast(endpointId), static_cast(clusterId), @@ -968,9 +951,9 @@ - (void)invokeCommandWithEndpointId:(NSUInteger)endpointId clientQueue:(dispatch_queue_t)clientQueue completion:(CHIPDeviceResponseHandler)completion { - new NSObjectAttributeCallbackBridge( + new NSObjectDataValueCallbackBridge( clientQueue, completion, ^(chip::Callback::Cancelable * success, chip::Callback::Cancelable * failure) { - auto successFn = chip::Callback::Callback::FromCancelable(success); + auto successFn = chip::Callback::Callback::FromCancelable(success); auto failureFn = chip::Callback::Callback::FromCancelable(failure); auto context = successFn->mContext; auto successCb = successFn->mCall; @@ -981,18 +964,12 @@ new NSObjectAttributeCallbackBridge( auto onSuccessCb = [resultArray, resultSuccess](const app::ConcreteCommandPath & commandPath, const app::StatusIB & status, const NSObjectData & responseData) { if (responseData.GetDecodedObject()) { - [resultArray addObject:[[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:commandPath.mEndpointId], - kCHIPEndpointIdKey, [NSNumber numberWithUnsignedInt:commandPath.mClusterId], - kCHIPClusterIdKey, [NSNumber numberWithUnsignedInt:commandPath.mCommandId], - kCHIPCommandIdKey, [NSNumber numberWithUnsignedInt:0], kCHIPStatusKey, - responseData.GetDecodedObject(), kCHIPDataKey, nil]]; + [resultArray addObject:@ { + kCHIPCommandPathKey : [[CHIPCommandPath alloc] initWithPath:commandPath], + kCHIPDataKey : responseData.GetDecodedObject() + }]; } else { - [resultArray addObject:[[NSDictionary alloc] - initWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:commandPath.mEndpointId], - kCHIPEndpointIdKey, [NSNumber numberWithUnsignedInt:commandPath.mClusterId], - kCHIPClusterIdKey, [NSNumber numberWithUnsignedInt:commandPath.mCommandId], - kCHIPCommandIdKey, [NSNumber numberWithUnsignedInt:0], kCHIPStatusKey, nil]]; + [resultArray addObject:@ { kCHIPCommandPathKey : [[CHIPCommandPath alloc] initWithPath:commandPath] }]; } if ([resultSuccess count] == 0) { [resultSuccess addObject:[NSNumber numberWithBool:YES]]; @@ -1001,7 +978,7 @@ new NSObjectAttributeCallbackBridge( auto onFailureCb = [resultFailure](CHIP_ERROR aError) { if ([resultFailure count] == 0) { - [resultFailure addObject:[NSNumber numberWithUnsignedInteger:aError.AsInteger()]]; + [resultFailure addObject:[CHIPError errorForCHIPErrorCode:aError]]; } }; @@ -1019,8 +996,7 @@ new NSObjectAttributeCallbackBridge( // Failure if (failureCb) { if ([resultFailure count] > 0) { - failureCb( - context, CHIP_ERROR(static_cast([resultFailure[0] unsignedIntegerValue]))); + failureCb(context, [CHIPError errorToCHIPErrorCode:resultFailure[0]]); } else { failureCb(context, CHIP_ERROR_WRITE_FAILED); } @@ -1056,8 +1032,7 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId minInterval:(NSUInteger)minInterval maxInterval:(NSUInteger)maxInterval clientQueue:(dispatch_queue_t)clientQueue - reportHandler:(void (^)(NSDictionary * _Nullable value, - NSError * _Nullable error))reportHandler + reportHandler:(CHIPDeviceResponseHandler)reportHandler subscriptionEstablished:(SubscriptionEstablishedHandler)subscriptionEstablishedHandler { dispatch_async(DeviceLayer::PlatformMgrImpl().GetWorkQueue(), ^{ @@ -1065,12 +1040,10 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId id valueObject = data.GetDecodedObject(); app::ConcreteAttributePath pathCopy = attribPath; dispatch_async(clientQueue, ^{ - reportHandler(@ { - kCHIPEndpointIdKey : [NSNumber numberWithUnsignedShort:pathCopy.mEndpointId], - kCHIPClusterIdKey : [NSNumber numberWithUnsignedInt:pathCopy.mClusterId], - kCHIPAttributeIdKey : [NSNumber numberWithUnsignedInt:pathCopy.mAttributeId], - kCHIPValueKey : valueObject - }, + reportHandler( + @[ + @ { kCHIPAttributePathKey : [[CHIPAttributePath alloc] initWithPath:pathCopy], kCHIPDataKey : valueObject } + ], nil); }); }; @@ -1107,7 +1080,7 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId CHIPReadClientContainer * container = [[CHIPReadClientContainer alloc] init]; container.deviceId = self.cppDevice->GetDeviceId(); - container.pathParams = new app::AttributePathParams(chipEndpointId, chipClusterId, chipAttributeId); + container.pathParams = Platform::New(chipEndpointId, chipClusterId, chipAttributeId); app::InteractionModelEngine * engine = app::InteractionModelEngine::GetInstance(); CHIP_ERROR err = CHIP_NO_ERROR; @@ -1124,7 +1097,7 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId auto callback = chip::Platform::MakeUnique>( chipClusterId, chipAttributeId, onReportCb, onFailureCb, onDone, onEstablishedCb); - auto readClient = new app::ReadClient(engine, [self internalDevice]->GetExchangeManager(), + auto readClient = Platform::New(engine, [self internalDevice]->GetExchangeManager(), callback -> GetBufferedCallback(), chip::app::ReadClient::InteractionType::Subscribe); err = readClient->SendAutoResubscribeRequest(std::move(readParams)); @@ -1135,7 +1108,7 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId reportHandler(nil, [CHIPError errorForCHIPErrorCode:err]); }); } - delete readClient; + Platform::Delete(readClient); return; } @@ -1153,6 +1126,15 @@ - (void)deregisterReportHandlersWithClientQueue:(dispatch_queue_t)clientQueue co PurgeReadClientContainers(self.cppDevice->GetDeviceId(), clientQueue, completion); } +#ifdef DEBUG +// This method is for unit testing only +- (void)failSubscribers:(dispatch_queue_t)clientQueue completion:(void (^)(void))completion +{ + CHIP_LOG_DEBUG("Causing failure in subscribers on purpose"); + CauseReadClientFailure(self.cppDevice->GetDeviceId(), clientQueue, completion); +} +#endif + // The following method is for unit testing purpose only + (id)CHIPEncodeAndDecodeNSObject:(id)object { @@ -1205,6 +1187,35 @@ - (instancetype)initWithPath:(const ConcreteDataAttributePath &)path } return self; } + ++ (instancetype)attributePathWithEndpointId:(NSNumber *)endpoint clusterId:(NSNumber *)clusterId attributeId:(NSNumber *)attributeId +{ + ConcreteDataAttributePath path(static_cast([endpoint unsignedShortValue]), + static_cast([clusterId unsignedLongValue]), + static_cast([attributeId unsignedLongValue])); + + return [[CHIPAttributePath alloc] initWithPath:path]; +} +@end + +@implementation CHIPCommandPath +- (instancetype)initWithPath:(const ConcreteCommandPath &)path +{ + if (self = [super init]) { + _endpoint = @(path.mEndpointId); + _cluster = @(path.mClusterId); + _command = @(path.mCommandId); + } + return self; +} + ++ (instancetype)commandPathWithEndpointId:(NSNumber *)endpoint clusterId:(NSNumber *)clusterId commandId:(NSNumber *)commandId +{ + ConcreteCommandPath path(static_cast([endpoint unsignedShortValue]), + static_cast([clusterId unsignedLongValue]), static_cast([commandId unsignedLongValue])); + + return [[CHIPCommandPath alloc] initWithPath:path]; +} @end @implementation CHIPAttributeReport diff --git a/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.h b/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.h index 77405ebfc04feb..58b2ff738da1e7 100644 --- a/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.h +++ b/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.h @@ -35,8 +35,19 @@ NS_ASSUME_NONNULL_BEGIN + (CHIPDeviceController *)sharedControllerWithId:(id _Nullable)controllerId xpcConnectBlock:(NSXPCConnection * (^)(void) )connectBlock; -@end +/** + * Returns an encoded values object to send over XPC for read, write and command interactions + */ ++ (NSArray *> * _Nullable)encodeXPCResponseValues: + (NSArray *> * _Nullable)values; +/** + * Returns a decoded values object from a values object received from XPC for read, write and command interactions + */ ++ (NSArray *> * _Nullable)decodeXPCResponseValues: + (NSArray *> * _Nullable)values; + +@end /** * Protocol that remote object must support over XPC */ @@ -126,7 +137,7 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)handleReportWithController:(id _Nullable)controller nodeId:(uint64_t)nodeId - value:(id _Nullable)value + values:(id _Nullable)values error:(NSError * _Nullable)error; @end diff --git a/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.m b/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.m index 21ae2bd469e7c0..4c07d98846ded8 100644 --- a/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.m +++ b/src/darwin/Framework/CHIP/CHIPDeviceController+XPC.m @@ -17,10 +17,43 @@ #import "CHIPDeviceController+XPC.h" +#import "CHIPDevice.h" #import "CHIPDeviceControllerOverXPC.h" NS_ASSUME_NONNULL_BEGIN +static NSArray * _Nullable serializeAttributePath(CHIPAttributePath * _Nullable path) +{ + if (!path) { + return nil; + } + return @[ path.endpoint, path.cluster, path.attribute ]; +} + +static NSArray * _Nullable serializeCommandPath(CHIPCommandPath * _Nullable path) +{ + if (!path) { + return nil; + } + return @[ path.endpoint, path.cluster, path.command ]; +} + +static CHIPAttributePath * _Nullable deserializeAttributePath(NSArray * _Nullable pathArray) +{ + if (pathArray == nil || [pathArray count] != 3) { + return nil; + } + return [CHIPAttributePath attributePathWithEndpointId:pathArray[0] clusterId:pathArray[1] attributeId:pathArray[2]]; +} + +static CHIPCommandPath * _Nullable deserializeCommandPath(NSArray * _Nullable pathArray) +{ + if (pathArray == nil || [pathArray count] != 3) { + return nil; + } + return [CHIPCommandPath commandPathWithEndpointId:pathArray[0] clusterId:pathArray[1] commandId:pathArray[2]]; +} + @implementation CHIPDeviceController (XPC) + (CHIPDeviceController *)sharedControllerWithId:(id _Nullable)controllerId @@ -29,6 +62,55 @@ + (CHIPDeviceController *)sharedControllerWithId:(id _Nullable)contro return [CHIPDeviceControllerOverXPC sharedControllerWithId:controllerId xpcConnectBlock:connectBlock]; } ++ (NSArray *> * _Nullable)encodeXPCResponseValues: + (NSArray *> * _Nullable)values +{ + if (!values) { + return values; + } + NSMutableArray * result = [NSMutableArray array]; + for (NSDictionary * value in values) { + if (!value || (value[kCHIPAttributePathKey] == nil && value[kCHIPCommandPathKey] == nil)) { + [result addObject:value]; + continue; + } + NSMutableDictionary * resultValue = [NSMutableDictionary dictionaryWithCapacity:[value count]]; + [resultValue addEntriesFromDictionary:value]; + if (value[kCHIPAttributePathKey]) { + resultValue[kCHIPAttributePathKey] = serializeAttributePath(value[kCHIPAttributePathKey]); + } + if (value[kCHIPCommandPathKey]) { + resultValue[kCHIPCommandPathKey] = serializeCommandPath(value[kCHIPCommandPathKey]); + } + [result addObject:resultValue]; + } + return result; +} + ++ (NSArray *> * _Nullable)decodeXPCResponseValues: + (NSArray *> * _Nullable)values +{ + if (!values) { + return values; + } + NSMutableArray * result = [NSMutableArray array]; + for (NSDictionary * value in values) { + if (!value || (value[kCHIPAttributePathKey] == nil && value[kCHIPCommandPathKey] == nil)) { + [result addObject:value]; + } + NSMutableDictionary * resultValue = [NSMutableDictionary dictionaryWithCapacity:[value count]]; + [resultValue addEntriesFromDictionary:value]; + if (value[kCHIPAttributePathKey]) { + resultValue[kCHIPAttributePathKey] = deserializeAttributePath(value[kCHIPAttributePathKey]); + } + if (value[kCHIPCommandPathKey]) { + resultValue[kCHIPCommandPathKey] = deserializeCommandPath(value[kCHIPCommandPathKey]); + } + [result addObject:resultValue]; + } + return result; +} + @end NS_ASSUME_NONNULL_END diff --git a/src/darwin/Framework/CHIP/CHIPDeviceControllerOverXPC+AttributeCache.m b/src/darwin/Framework/CHIP/CHIPDeviceControllerOverXPC+AttributeCache.m index 744a6c8aa12b1a..34cab94731bb4f 100644 --- a/src/darwin/Framework/CHIP/CHIPDeviceControllerOverXPC+AttributeCache.m +++ b/src/darwin/Framework/CHIP/CHIPDeviceControllerOverXPC+AttributeCache.m @@ -95,24 +95,24 @@ - (void)readAttributeCacheWithNodeId:(uint64_t)nodeId completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); return; } - [self.xpcConnection - getProxyHandleWithCompletion:^(dispatch_queue_t _Nonnull queue, CHIPDeviceControllerXPCProxyHandle * _Nullable handle) { - if (handle) { - [handle.proxy readAttributeCacheWithController:self.controllerId - nodeId:nodeId - endpointId:endpointId - clusterId:clusterId - attributeId:attributeId - completion:^(id _Nullable values, NSError * _Nullable error) { - completion(values, error); - __auto_type handleRetainer = handle; - (void) handleRetainer; - }]; - } else { - CHIP_LOG_ERROR("Attribute cache read failed due to XPC connection failure"); - completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); - } - }]; + [self.xpcConnection getProxyHandleWithCompletion:^( + dispatch_queue_t _Nonnull queue, CHIPDeviceControllerXPCProxyHandle * _Nullable handle) { + if (handle) { + [handle.proxy readAttributeCacheWithController:self.controllerId + nodeId:nodeId + endpointId:endpointId + clusterId:clusterId + attributeId:attributeId + completion:^(id _Nullable values, NSError * _Nullable error) { + completion([CHIPDeviceController decodeXPCResponseValues:values], error); + __auto_type handleRetainer = handle; + (void) handleRetainer; + }]; + } else { + CHIP_LOG_ERROR("Attribute cache read failed due to XPC connection failure"); + completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); + } + }]; }); } diff --git a/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.h b/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.h index 9c7ff17b0806df..f1596a59e26070 100644 --- a/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.h +++ b/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.h @@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN CHIPDeviceControllerXPCProxyHandle * _Nullable container))completion; - (void)registerReportHandlerWithController:(id)controller nodeId:(NSUInteger)nodeId - handler:(void (^)(id _Nullable value, NSError * _Nullable error))handler; + handler:(void (^)(id _Nullable values, NSError * _Nullable error))handler; - (void)deregisterReportHandlersWithController:(id)controller nodeId:(NSUInteger)nodeId completion:(void (^)(void))completion; diff --git a/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.m b/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.m index ea34191e7081aa..0082cd82d614d3 100644 --- a/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.m +++ b/src/darwin/Framework/CHIP/CHIPDeviceControllerXPCConnection.m @@ -121,7 +121,7 @@ - (void)getProxyHandleWithCompletion:(void (^)(dispatch_queue_t queue, - (void)registerReportHandlerWithController:(id)controller nodeId:(NSUInteger)nodeId - handler:(void (^)(id _Nullable value, NSError * _Nullable error))handler + handler:(void (^)(id _Nullable values, NSError * _Nullable error))handler { dispatch_async(_workQueue, ^{ BOOL shouldRetainProxyForReport = ([self.reportRegistry count] == 0); @@ -170,7 +170,7 @@ - (void)deregisterReportHandlersWithController:(id)controller - (void)handleReportWithController:(id)controller nodeId:(NSUInteger)nodeId - value:(id _Nullable)value + values:(id _Nullable)values error:(NSError * _Nullable)error { dispatch_async(_workQueue, ^{ @@ -183,8 +183,8 @@ - (void)handleReportWithController:(id)controller if (!nodeArray) { return; } - for (void (^handler)(id _Nullable value, NSError * _Nullable error) in nodeArray) { - handler(value, error); + for (void (^handler)(id _Nullable values, NSError * _Nullable error) in nodeArray) { + handler(values, error); } }); } diff --git a/src/darwin/Framework/CHIP/CHIPDeviceOverXPC.m b/src/darwin/Framework/CHIP/CHIPDeviceOverXPC.m index bfae60253098a0..909d943cbced68 100644 --- a/src/darwin/Framework/CHIP/CHIPDeviceOverXPC.m +++ b/src/darwin/Framework/CHIP/CHIPDeviceOverXPC.m @@ -22,6 +22,8 @@ #import "CHIPError.h" #import "CHIPLogging.h" +NS_ASSUME_NONNULL_BEGIN + @interface CHIPDeviceOverXPC () @property (nonatomic, strong, readonly) id controller; @@ -73,7 +75,7 @@ - (void)readAttributeWithEndpointId:(NSUInteger)endpointId completion:^(id _Nullable values, NSError * _Nullable error) { dispatch_async(clientQueue, ^{ CHIP_LOG_DEBUG("Attribute read"); - completion(values, error); + completion([CHIPDeviceController decodeXPCResponseValues:values], error); // The following captures the proxy handle in the closure so that the // handle won't be released prior to block call. __auto_type handleRetainer = handle; @@ -109,7 +111,7 @@ - (void)writeAttributeWithEndpointId:(NSUInteger)endpointId completion:^(id _Nullable values, NSError * _Nullable error) { dispatch_async(clientQueue, ^{ CHIP_LOG_DEBUG("Attribute written"); - completion(values, error); + completion([CHIPDeviceController decodeXPCResponseValues:values], error); // The following captures the proxy handle in the closure so that the // handle won't be released prior to block call. __auto_type handleRetainer = handle; @@ -145,7 +147,7 @@ - (void)invokeCommandWithEndpointId:(NSUInteger)endpointId completion:^(id _Nullable values, NSError * _Nullable error) { dispatch_async(clientQueue, ^{ CHIP_LOG_DEBUG("Command invoked"); - completion(values, error); + completion([CHIPDeviceController decodeXPCResponseValues:values], error); // The following captures the proxy handle in the closure so that the // handle won't be released prior to block call. __auto_type handleRetainer = handle; @@ -167,8 +169,7 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId minInterval:(NSUInteger)minInterval maxInterval:(NSUInteger)maxInterval clientQueue:(dispatch_queue_t)clientQueue - reportHandler:(void (^)(NSDictionary * _Nullable value, - NSError * _Nullable error))reportHandler + reportHandler:(CHIPDeviceResponseHandler)reportHandler subscriptionEstablished:(void (^_Nullable)(void))subscriptionEstablishedHandler { CHIP_LOG_DEBUG("Subscribing attribute ..."); @@ -179,21 +180,36 @@ - (void)subscribeAttributeWithEndpointId:(NSUInteger)endpointId [self.xpcConnection registerReportHandlerWithController:self.controller nodeId:self.nodeId - handler:^(id _Nullable value, NSError * _Nullable error) { - if (value && ![value isKindOfClass:[NSDictionary class]]) { + handler:^(id _Nullable values, NSError * _Nullable error) { + if (values && ![values isKindOfClass:[NSArray class]]) { CHIP_LOG_ERROR("Unsupported report format"); return; } - NSUInteger receivedEndpointId = [value[kCHIPEndpointIdKey] unsignedIntegerValue]; - NSUInteger receivedClusterId = [value[kCHIPClusterIdKey] unsignedIntegerValue]; - NSUInteger receivedAttributeId = [value[kCHIPAttributeIdKey] unsignedIntegerValue]; - if (error - || ((receivedEndpointId == endpointId || endpointId == 0xffff) - && (receivedClusterId == clusterId || clusterId == 0xffffffff) - && (receivedAttributeId == attributeId || attributeId == 0xffffffff))) { + if (!values) { + CHIP_LOG_DEBUG("Error report received"); + dispatch_async(clientQueue, ^{ + reportHandler(values, error); + }); + return; + } + __auto_type decodedValues = [CHIPDeviceController decodeXPCResponseValues:values]; + NSMutableArray *> * filteredValues = + [NSMutableArray arrayWithCapacity:[decodedValues count]]; + for (NSDictionary * decodedValue in decodedValues) { + CHIPAttributePath * attributePath = decodedValue[kCHIPAttributePathKey]; + if (([attributePath.endpoint unsignedIntegerValue] == endpointId + || endpointId == 0xffff) + && ([attributePath.cluster unsignedIntegerValue] == clusterId + || clusterId == 0xffffffff) + && ([attributePath.attribute unsignedIntegerValue] == attributeId + || attributeId == 0xffffffff)) { + [filteredValues addObject:decodedValue]; + } + } + if ([filteredValues count] > 0) { CHIP_LOG_DEBUG("Report received"); dispatch_async(clientQueue, ^{ - reportHandler(value, error); + reportHandler(filteredValues, error); }); } }]; @@ -235,3 +251,5 @@ - (void)deregisterReportHandlersWithClientQueue:(dispatch_queue_t)clientQueue co } @end + +NS_ASSUME_NONNULL_END diff --git a/src/darwin/Framework/CHIP/CHIPDevice_Internal.h b/src/darwin/Framework/CHIP/CHIPDevice_Internal.h index 2f6a9ed8bbd3ec..ffbd98b7a591f1 100644 --- a/src/darwin/Framework/CHIP/CHIPDevice_Internal.h +++ b/src/darwin/Framework/CHIP/CHIPDevice_Internal.h @@ -21,6 +21,8 @@ #import "CHIPDevice.h" #import +#include +#include #include NS_ASSUME_NONNULL_BEGIN @@ -32,6 +34,14 @@ NS_ASSUME_NONNULL_BEGIN @end +@interface CHIPAttributePath () +- (instancetype)initWithPath:(const chip::app::ConcreteDataAttributePath &)path; +@end + +@interface CHIPCommandPath () +- (instancetype)initWithPath:(const chip::app::ConcreteCommandPath &)path; +@end + // Exported utility function id _Nullable NSObjectFromCHIPTLV(chip::TLV::TLVReader * data); diff --git a/src/darwin/Framework/CHIPTests/CHIPDeviceTests.m b/src/darwin/Framework/CHIPTests/CHIPDeviceTests.m index 4f47df6da4913c..0ddb2c8b99989d 100644 --- a/src/darwin/Framework/CHIPTests/CHIPDeviceTests.m +++ b/src/darwin/Framework/CHIPTests/CHIPDeviceTests.m @@ -70,6 +70,12 @@ static void WaitForCommissionee(XCTestExpectation * expectation, dispatch_queue_ return mConnectedDevice; } +#ifdef DEBUG +@interface CHIPDevice (Test) +- (void)failSubscribers:(dispatch_queue_t)clientQueue completion:(void (^)(void))completion; +@end +#endif + @interface CHIPDeviceTestPairingDelegate : NSObject @property (nonatomic, strong) XCTestExpectation * expectation; @end @@ -214,9 +220,9 @@ - (void)test001_ReadAttribute XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 29); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 0); - XCTAssertTrue([result[@"endpointId"] isKindOfClass:[NSNumber class]]); + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.cluster unsignedIntegerValue], 29); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Array"]); } @@ -256,10 +262,11 @@ - (void)test002_WriteAttribute XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 8); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 17); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 8); + XCTAssertEqual([path.attribute unsignedIntegerValue], 17); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -281,18 +288,13 @@ - (void)test003_InvokeCommand CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); - NSDictionary * fields = [NSDictionary - dictionaryWithObjectsAndKeys:@"Structure", @"type", - [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:0], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"UnsignedInteger", @"type", - [NSNumber numberWithUnsignedInteger:0], @"value", nil], - @"value", nil], - [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:1], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"UnsignedInteger", @"type", - [NSNumber numberWithUnsignedInteger:10], @"value", nil], - @"value", nil], - nil], - @"value", nil]; + NSDictionary * fields = @{ + @"type" : @"Structure", + @"value" : @[ + @{ @"contextTag" : @0, @"data" : @ { @"type" : @"UnsignedInteger", @"value" : @0 } }, + @{ @"contextTag" : @1, @"data" : @ { @"type" : @"UnsignedInteger", @"value" : @10 } } + ] + }; [device invokeCommandWithEndpointId:1 clusterId:8 commandId:4 @@ -307,10 +309,11 @@ - (void)test003_InvokeCommand XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 8); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 4); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 8); + XCTAssertEqual([path.command unsignedIntegerValue], 4); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -397,14 +400,15 @@ - (void)test005_Subscribe XCTestExpectation * reportExpectation = [self expectationWithDescription:@"report received"]; globalReportHandler = ^(id _Nullable value, NSError * _Nullable error) { XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); - XCTAssertTrue([value isKindOfClass:[NSDictionary class]]); - NSDictionary * result = value; - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 0); - XCTAssertTrue([result[@"value"] isKindOfClass:[NSDictionary class]]); - XCTAssertTrue([result[@"value"][@"type"] isEqualToString:@"Boolean"]); - if ([result[@"value"][@"value"] boolValue] == YES) { + XCTAssertTrue([value isKindOfClass:[NSArray class]]); + NSDictionary * result = value[0]; + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); + XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); + XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Boolean"]); + if ([result[@"data"][@"value"] boolValue] == YES) { [reportExpectation fulfill]; globalReportHandler = nil; } @@ -412,7 +416,7 @@ - (void)test005_Subscribe // Send commands to trigger attribute change XCTestExpectation * commandExpectation = [self expectationWithDescription:@"command responded"]; - NSDictionary * fields = [NSDictionary dictionaryWithObjectsAndKeys:@"Structure", @"type", [NSArray array], @"value", nil]; + NSDictionary * fields = @{ @"type" : @"Structure", @"value" : [NSArray array] }; [device invokeCommandWithEndpointId:1 clusterId:6 commandId:1 @@ -427,10 +431,11 @@ - (void)test005_Subscribe XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 1); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -445,14 +450,15 @@ - (void)test005_Subscribe reportExpectation = [self expectationWithDescription:@"receive OnOff attribute report"]; globalReportHandler = ^(id _Nullable value, NSError * _Nullable error) { XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); - XCTAssertTrue([value isKindOfClass:[NSDictionary class]]); - NSDictionary * result = value; - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 0); - XCTAssertTrue([result[@"value"] isKindOfClass:[NSDictionary class]]); - XCTAssertTrue([result[@"value"][@"type"] isEqualToString:@"Boolean"]); - if ([result[@"value"][@"value"] boolValue] == NO) { + XCTAssertTrue([value isKindOfClass:[NSArray class]]); + NSDictionary * result = value[0]; + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); + XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); + XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Boolean"]); + if ([result[@"data"][@"value"] boolValue] == NO) { [reportExpectation fulfill]; globalReportHandler = nil; } @@ -474,10 +480,11 @@ - (void)test005_Subscribe XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 0); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 0); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -485,6 +492,13 @@ - (void)test005_Subscribe // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; + + expectation = [self expectationWithDescription:@"Report handler deregistered"]; + [device deregisterReportHandlersWithClientQueue:queue + completion:^{ + [expectation fulfill]; + }]; + [self waitForExpectations:@[ expectation ] timeout:kTimeoutInSeconds]; } #endif @@ -664,8 +678,9 @@ - (void)test010_ReadAllAttribute XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 29); - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.cluster unsignedIntegerValue], 29); + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); } XCTAssertTrue([resultArray count] > 0); @@ -807,10 +822,11 @@ - (void)test011_ReadCachedAttribute NSLog(@"Read attribute cache value: %@, error %@", values, error); XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); XCTAssertEqual([values count], 1); - XCTAssertEqual([values[0][@"endpointId"] unsignedShortValue], 1); - XCTAssertEqual([values[0][@"clusterId"] unsignedLongValue], 6); - XCTAssertEqual([values[0][@"attributeId"] unsignedLongValue], 0); - XCTAssertEqual([values[0][@"status"] intValue], 0); + CHIPAttributePath * path = values[0][@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedShortValue], 1); + XCTAssertEqual([path.cluster unsignedLongValue], 6); + XCTAssertEqual([path.attribute unsignedLongValue], 0); + XCTAssertNil(values[0][@"error"]); XCTAssertTrue([values[0][@"data"][@"type"] isEqualToString:@"Boolean"]); XCTAssertEqual([values[0][@"data"][@"value"] boolValue], NO); [cacheExpectation fulfill]; @@ -830,9 +846,10 @@ - (void)test011_ReadCachedAttribute XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); XCTAssertTrue([values count] > 0); for (NSDictionary * value in values) { - XCTAssertEqual([value[@"clusterId"] unsignedLongValue], 6); - XCTAssertEqual([value[@"attributeId"] unsignedLongValue], 0); - XCTAssertEqual([value[@"status"] intValue], 0); + CHIPAttributePath * path = value[@"attributePath"]; + XCTAssertEqual([path.cluster unsignedLongValue], 6); + XCTAssertEqual([path.attribute unsignedLongValue], 0); + XCTAssertNil(value[@"error"]); } [cacheExpectation fulfill]; }]; @@ -851,8 +868,9 @@ - (void)test011_ReadCachedAttribute XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); XCTAssertTrue([values count] > 0); for (NSDictionary * value in values) { - XCTAssertEqual([value[@"endpointId"] unsignedShortValue], 1); - XCTAssertEqual([value[@"attributeId"] unsignedLongValue], 0); + CHIPAttributePath * path = value[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedShortValue], 1); + XCTAssertEqual([path.attribute unsignedLongValue], 0); } [cacheExpectation fulfill]; }]; @@ -871,9 +889,10 @@ - (void)test011_ReadCachedAttribute XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); XCTAssertTrue([values count] > 0); for (NSDictionary * value in values) { - XCTAssertEqual([value[@"endpointId"] unsignedShortValue], 1); - XCTAssertEqual([value[@"clusterId"] unsignedLongValue], 6); - XCTAssertEqual([value[@"status"] intValue], 0); + CHIPAttributePath * path = value[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedShortValue], 1); + XCTAssertEqual([path.cluster unsignedLongValue], 6); + XCTAssertNil(value[@"error"]); } [cacheExpectation fulfill]; }]; @@ -895,9 +914,114 @@ - (void)test011_ReadCachedAttribute [self waitForExpectations:@[ cacheExpectation ] timeout:kTimeoutInSeconds]; } -// Report behavior is erratic on the accessory side at the moment. -// Hence this test is enabled only for individual manual test. +#ifdef DEBUG +// Test an error to subscription +- (void)test012_SubscriptionError +{ #if MANUAL_INDIVIDUAL_TEST + [self initStack]; + [self waitForCommissionee]; +#endif + CHIPDevice * device = GetConnectedDevice(); + dispatch_queue_t queue = dispatch_get_main_queue(); + XCTestExpectation * deregisterExpectation = [self expectationWithDescription:@"Report handler deregistered"]; + [device deregisterReportHandlersWithClientQueue:queue + completion:^{ + [deregisterExpectation fulfill]; + }]; + [self waitForExpectations:@[ deregisterExpectation ] timeout:kTimeoutInSeconds]; + + // Subscribe + XCTestExpectation * expectation = [self expectationWithDescription:@"subscribe OnOff attribute"]; + [device subscribeAttributeWithEndpointId:1 + clusterId:6 + attributeId:0 + minInterval:1 + maxInterval:10 + clientQueue:queue + reportHandler:^(id _Nullable values, NSError * _Nullable error) { + NSLog(@"report attribute: OnOff values: %@, error: %@", values, error); + + if (globalReportHandler) { + __auto_type callback = globalReportHandler; + callback(values, error); + } + } + subscriptionEstablished:^{ + NSLog(@"subscribe attribute: OnOff established"); + [expectation fulfill]; + }]; + + // Wait till establishment + [self waitForExpectations:[NSArray arrayWithObject:expectation] timeout:kTimeoutInSeconds]; + + // Set up expectation for report + XCTestExpectation * reportExpectation = [self expectationWithDescription:@"report received"]; + globalReportHandler = ^(id _Nullable value, NSError * _Nullable error) { + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); + XCTAssertTrue([value isKindOfClass:[NSArray class]]); + NSDictionary * result = value[0]; + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); + XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); + XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Boolean"]); + if ([result[@"data"][@"value"] boolValue] == YES) { + [reportExpectation fulfill]; + globalReportHandler = nil; + } + }; + + // Send commands to trigger attribute change + XCTestExpectation * commandExpectation = [self expectationWithDescription:@"command responded"]; + NSDictionary * fields = @{ @"type" : @"Structure", @"value" : [NSArray array] }; + [device invokeCommandWithEndpointId:1 + clusterId:6 + commandId:1 + commandFields:fields + clientQueue:queue + completion:^(id _Nullable values, NSError * _Nullable error) { + NSLog(@"invoke command: On values: %@, error: %@", values, error); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); + + { + XCTAssertTrue([values isKindOfClass:[NSArray class]]); + NSArray * resultArray = values; + for (NSDictionary * result in resultArray) { + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 1); + XCTAssertNil(result[@"error"]); + } + XCTAssertEqual([resultArray count], 1); + } + [commandExpectation fulfill]; + }]; + [self waitForExpectations:[NSArray arrayWithObject:commandExpectation] timeout:kTimeoutInSeconds]; + + // Wait for report + [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; + + // Trigger reader failure + XCTestExpectation * failureExpectation = [self expectationWithDescription:@"failed on purpose"]; + [device failSubscribers:queue + completion:^{ + [failureExpectation fulfill]; + }]; + [self waitForExpectations:@[ failureExpectation ] timeout:kTimeoutInSeconds]; + + deregisterExpectation = [self expectationWithDescription:@"Report handler deregistered"]; + [device deregisterReportHandlersWithClientQueue:queue + completion:^{ + [deregisterExpectation fulfill]; + }]; + [self waitForExpectations:@[ deregisterExpectation ] timeout:kTimeoutInSeconds]; +} +#endif + - (void)test900_SubscribeAllAttributes { #if MANUAL_INDIVIDUAL_TEST @@ -906,6 +1030,14 @@ - (void)test900_SubscribeAllAttributes #endif CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); + XCTestExpectation * cleanSubscriptionExpectation = [self expectationWithDescription:@"Previous subscriptions cleaned"]; + NSLog(@"Deregistering report handlers..."); + [device deregisterReportHandlersWithClientQueue:queue + completion:^{ + NSLog(@"Report handlers deregistered"); + [cleanSubscriptionExpectation fulfill]; + }]; + [self waitForExpectations:@[ cleanSubscriptionExpectation ] timeout:kTimeoutInSeconds]; XCTestExpectation * expectation = [self expectationWithDescription:@"subscribe OnOff attribute"]; __block void (^reportHandler)(id _Nullable values, NSError * _Nullable error) = nil; @@ -935,23 +1067,53 @@ - (void)test900_SubscribeAllAttributes // Set up expectation for report __auto_type reportExpectation = [self expectationWithDescription:@"receive OnOff attribute report"]; - reportHandler = ^(id _Nullable value, NSError * _Nullable error) { + reportHandler = ^(id _Nullable values, NSError * _Nullable error) { XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); - XCTAssertTrue([value isKindOfClass:[NSDictionary class]]); - NSDictionary * result = value; - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertTrue([result[@"value"] isKindOfClass:[NSDictionary class]]); - - if ([result[@"attributeId"] unsignedIntegerValue] == 0 && [result[@"value"][@"value"] boolValue] == YES) { + XCTAssertTrue([values isKindOfClass:[NSArray class]]); + NSDictionary * result = values[0]; + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); + + if ([path.attribute unsignedIntegerValue] == 0 && [result[@"data"][@"value"] boolValue] == YES) { [reportExpectation fulfill]; reportHandler = nil; } }; - // Send commands to trigger attribute change + // Send commands to set attribute state to a known state XCTestExpectation * commandExpectation = [self expectationWithDescription:@"command responded"]; - NSDictionary * fields = [NSDictionary dictionaryWithObjectsAndKeys:@"Structure", @"type", [NSArray array], @"value", nil]; + NSDictionary * fields = @{ @"type" : @"Structure", @"value" : @[] }; + [device invokeCommandWithEndpointId:1 + clusterId:6 + commandId:0 + commandFields:fields + clientQueue:queue + completion:^(id _Nullable values, NSError * _Nullable error) { + NSLog(@"invoke command: On values: %@, error: %@", values, error); + + XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); + + { + XCTAssertTrue([values isKindOfClass:[NSArray class]]); + NSArray * resultArray = values; + for (NSDictionary * result in resultArray) { + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 0); + XCTAssertNil(result[@"error"]); + } + XCTAssertEqual([resultArray count], 1); + } + [commandExpectation fulfill]; + }]; + [self waitForExpectations:[NSArray arrayWithObject:commandExpectation] timeout:kTimeoutInSeconds]; + + // Send commands to trigger attribute change + commandExpectation = [self expectationWithDescription:@"command responded"]; + fields = @{ @"type" : @"Structure", @"value" : @[] }; [device invokeCommandWithEndpointId:1 clusterId:6 commandId:1 @@ -966,10 +1128,11 @@ - (void)test900_SubscribeAllAttributes XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 1); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -982,14 +1145,15 @@ - (void)test900_SubscribeAllAttributes // Set up expectation for 2nd report reportExpectation = [self expectationWithDescription:@"receive OnOff attribute report"]; - reportHandler = ^(id _Nullable value, NSError * _Nullable error) { + reportHandler = ^(id _Nullable values, NSError * _Nullable error) { XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); - XCTAssertTrue([value isKindOfClass:[NSDictionary class]]); - NSDictionary * result = value; - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertTrue([result[@"value"] isKindOfClass:[NSDictionary class]]); - if ([result[@"attributeId"] unsignedIntegerValue] == 0 && [result[@"value"][@"value"] boolValue] == NO) { + XCTAssertTrue([values isKindOfClass:[NSArray class]]); + NSDictionary * result = values[0]; + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); + if ([path.attribute unsignedIntegerValue] == 0 && [result[@"data"][@"value"] boolValue] == NO) { [reportExpectation fulfill]; reportHandler = nil; } @@ -997,7 +1161,7 @@ - (void)test900_SubscribeAllAttributes // Send command to trigger attribute change commandExpectation = [self expectationWithDescription:@"command responded"]; - fields = [NSDictionary dictionaryWithObjectsAndKeys:@"Structure", @"type", [NSArray array], @"value", nil]; + fields = @{ @"type" : @"Structure", @"value" : @[] }; [device invokeCommandWithEndpointId:1 clusterId:6 commandId:0 @@ -1012,10 +1176,11 @@ - (void)test900_SubscribeAllAttributes XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 0); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 0); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -1026,7 +1191,6 @@ - (void)test900_SubscribeAllAttributes // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; } -#endif #if !MANUAL_INDIVIDUAL_TEST - (void)test999_TearDown @@ -1058,6 +1222,17 @@ - (void)testSignedInteger XCTAssertTrue([output isEqualTo:input]); } +- (void)testSignedInteger64Bits +{ + NSDictionary * input = [NSDictionary + dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:-0x7000111122223333ll], @"value", nil]; + id output = [CHIPDevice CHIPEncodeAndDecodeNSObject:input]; + NSLog(@"Conversion input: %@\nOutput: %@", input, output); + XCTAssertNotNil(output); + XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); + XCTAssertTrue([output isEqualTo:input]); +} + - (void)testUnsignedInteger { NSDictionary * input = @@ -1069,6 +1244,17 @@ - (void)testUnsignedInteger XCTAssertTrue([output isEqualTo:input]); } +- (void)testUnsignedInteger64Bits +{ + NSDictionary * input = [NSDictionary dictionaryWithObjectsAndKeys:@"UnsignedInteger", @"type", + [NSNumber numberWithUnsignedLongLong:0xCCCCDDDDEEEEFFFFull], @"value", nil]; + id output = [CHIPDevice CHIPEncodeAndDecodeNSObject:input]; + NSLog(@"Conversion input: %@\nOutput: %@", input, output); + XCTAssertNotNil(output); + XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); + XCTAssertTrue([output isEqualTo:input]); +} + - (void)testBoolean { NSDictionary * input = @@ -1110,9 +1296,8 @@ - (void)testFloat NSLog(@"Conversion input: %@\nOutput: %@", input, output); XCTAssertNotNil(output); XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); - // Note that conversion doesn't guarantee back to Float. - XCTAssertTrue([output[@"type"] isEqualToString:@"Float"] || [output[@"type"] isEqualToString:@"Double"]); - XCTAssertTrue(([output[@"value"] doubleValue] - [input[@"value"] doubleValue]) < 0.0001); + XCTAssertTrue([output[@"type"] isEqualToString:@"Float"]); + XCTAssertTrue(([output[@"value"] floatValue] - [input[@"value"] floatValue]) < 0.0001); } - (void)testDouble @@ -1123,8 +1308,7 @@ - (void)testDouble NSLog(@"Conversion input: %@\nOutput: %@", input, output); XCTAssertNotNil(output); XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); - // Note that conversion doesn't guarantee back to Double. - XCTAssertTrue([output[@"type"] isEqualToString:@"Float"] || [output[@"type"] isEqualToString:@"Double"]); + XCTAssertTrue([output[@"type"] isEqualToString:@"Double"]); XCTAssertTrue(([output[@"value"] doubleValue] - [input[@"value"] doubleValue]) < 0.0001); } @@ -1140,98 +1324,38 @@ - (void)testNull - (void)testStructure { - NSArray * inputFields = [NSArray - arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:1], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"Boolean", @"type", [NSNumber numberWithBool:NO], - @"value", nil], - @"value", nil], - [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:2], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:5], @"value", nil], - @"value", nil], - nil]; - NSDictionary * inputValue = [NSDictionary dictionaryWithObjectsAndKeys:@"Structure", @"type", inputFields, @"value", nil]; - - // Output will have context tags and hence build object with context tags for comparison - NSMutableArray * contextTaggedInputFields = [NSMutableArray arrayWithCapacity:[inputFields count]]; - for (NSDictionary * field in inputFields) { - [contextTaggedInputFields - addObject:[NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:([field[@"tag"] unsignedIntegerValue] - | 0xffffffff00000000ull)], - @"tag", field[@"value"], @"value", nil]]; - } + NSArray * inputFields = @[ + @{ + @"contextTag" : @1, + @"data" : @ { @"type" : @"Boolean", @"value" : @NO }, + }, + @{ + @"contextTag" : @2, + @"data" : @ { @"type" : @"SignedInteger", @"value" : @5 }, + } + ]; + NSDictionary * inputValue = @{ @"type" : @"Structure", @"value" : inputFields }; id output = [CHIPDevice CHIPEncodeAndDecodeNSObject:inputValue]; NSLog(@"Conversion input: %@\nOutput: %@", inputValue, output); XCTAssertNotNil(output); XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); - NSDictionary * compare = - [NSDictionary dictionaryWithObjectsAndKeys:@"Structure", @"type", contextTaggedInputFields, @"value", nil]; - XCTAssertTrue([output isEqualTo:compare]); + XCTAssertTrue([output isEqualTo:inputValue]); } - (void)testArray { - NSArray * inputFields = [NSArray - arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionaryWithObjectsAndKeys:@"Boolean", @"type", - [NSNumber numberWithBool:NO], @"value", nil], - @"value", nil], - [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:5], @"value", nil], - @"value", nil], - nil]; - NSDictionary * inputValue = [NSDictionary dictionaryWithObjectsAndKeys:@"Array", @"type", inputFields, @"value", nil]; - - // Output will have anonymous tags and hence build object with context tags for comparison - NSMutableArray * contextTaggedInputFields = [NSMutableArray arrayWithCapacity:[inputFields count]]; - for (NSDictionary * field in inputFields) { - [contextTaggedInputFields - addObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:0xffffffffffffffffull], @"tag", - field[@"value"], @"value", nil]]; - } + NSArray * inputFields = @[ + @{ @"data" : @ { @"type" : @"Boolean", @"value" : @NO } }, @{ @"data" : @ { @"type" : @"SignedInteger", @"value" : @5 } } + ]; + NSDictionary * inputValue = @{ @"type" : @"Array", @"value" : inputFields }; id output = [CHIPDevice CHIPEncodeAndDecodeNSObject:inputValue]; NSLog(@"Conversion input: %@\nOutput: %@", inputValue, output); XCTAssertNotNil(output); XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); - - NSDictionary * compare = [NSDictionary dictionaryWithObjectsAndKeys:@"Array", @"type", contextTaggedInputFields, @"value", nil]; - XCTAssertTrue([output isEqualTo:compare]); -} - -- (void)testList -{ - NSArray * inputFields = [NSArray - arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:1], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"Boolean", @"type", [NSNumber numberWithBool:NO], - @"value", nil], - @"value", nil], - [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:2], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:5], @"value", nil], - @"value", nil], - nil]; - NSDictionary * inputValue = [NSDictionary dictionaryWithObjectsAndKeys:@"List", @"type", inputFields, @"value", nil]; - - // Output will have context tags and hence build object with context tags for comparison - NSMutableArray * contextTaggedInputFields = [NSMutableArray arrayWithCapacity:[inputFields count]]; - for (NSDictionary * field in inputFields) { - [contextTaggedInputFields - addObject:[NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:([field[@"tag"] unsignedIntegerValue] - | 0xffffffff00000000ull)], - @"tag", field[@"value"], @"value", nil]]; - } - - id output = [CHIPDevice CHIPEncodeAndDecodeNSObject:inputValue]; - NSLog(@"Conversion input: %@\nOutput: %@", inputValue, output); - XCTAssertNotNil(output); - XCTAssertTrue([output isKindOfClass:[NSDictionary class]]); - - NSDictionary * compare = [NSDictionary dictionaryWithObjectsAndKeys:@"List", @"type", contextTaggedInputFields, @"value", nil]; - XCTAssertTrue([output isEqualTo:compare]); + XCTAssertTrue([output isEqualTo:inputValue]); } @end diff --git a/src/darwin/Framework/CHIPTests/CHIPXPCListenerSampleTests.m b/src/darwin/Framework/CHIPTests/CHIPXPCListenerSampleTests.m index d62a4eee562962..c4fbd2a5b99b4d 100644 --- a/src/darwin/Framework/CHIPTests/CHIPXPCListenerSampleTests.m +++ b/src/darwin/Framework/CHIPTests/CHIPXPCListenerSampleTests.m @@ -162,20 +162,24 @@ - (void)readAttributeWithController:(id)controller (void) controller; __auto_type sharedController = [CHIPDeviceController sharedController]; if (sharedController) { - [sharedController getConnectedDevice:nodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - if (error) { - NSLog(@"Failed to get connected device"); - completion(nil, error); - } else { - [device readAttributeWithEndpointId:endpointId - clusterId:clusterId - attributeId:attributeId - clientQueue:dispatch_get_main_queue() - completion:completion]; - } - }]; + [sharedController + getConnectedDevice:nodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + if (error) { + NSLog(@"Failed to get connected device"); + completion(nil, error); + } else { + [device readAttributeWithEndpointId:endpointId + clusterId:clusterId + attributeId:attributeId + clientQueue:dispatch_get_main_queue() + completion:^(NSArray *> * _Nullable values, + NSError * _Nullable error) { + completion([CHIPDeviceController encodeXPCResponseValues:values], error); + }]; + } + }]; } else { NSLog(@"Failed to get shared controller"); completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); @@ -193,21 +197,25 @@ - (void)writeAttributeWithController:(id)controller (void) controller; __auto_type sharedController = [CHIPDeviceController sharedController]; if (sharedController) { - [sharedController getConnectedDevice:nodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - if (error) { - NSLog(@"Failed to get connected device"); - completion(nil, error); - } else { - [device writeAttributeWithEndpointId:endpointId - clusterId:clusterId - attributeId:attributeId - value:value - clientQueue:dispatch_get_main_queue() - completion:completion]; - } - }]; + [sharedController + getConnectedDevice:nodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + if (error) { + NSLog(@"Failed to get connected device"); + completion(nil, error); + } else { + [device writeAttributeWithEndpointId:endpointId + clusterId:clusterId + attributeId:attributeId + value:value + clientQueue:dispatch_get_main_queue() + completion:^(NSArray *> * _Nullable values, + NSError * _Nullable error) { + completion([CHIPDeviceController encodeXPCResponseValues:values], error); + }]; + } + }]; } else { NSLog(@"Failed to get shared controller"); completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); @@ -225,21 +233,25 @@ - (void)invokeCommandWithController:(id)controller (void) controller; __auto_type sharedController = [CHIPDeviceController sharedController]; if (sharedController) { - [sharedController getConnectedDevice:nodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - if (error) { - NSLog(@"Failed to get connected device"); - completion(nil, error); - } else { - [device invokeCommandWithEndpointId:endpointId - clusterId:clusterId - commandId:commandId - commandFields:fields - clientQueue:dispatch_get_main_queue() - completion:completion]; - } - }]; + [sharedController + getConnectedDevice:nodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + if (error) { + NSLog(@"Failed to get connected device"); + completion(nil, error); + } else { + [device invokeCommandWithEndpointId:endpointId + clusterId:clusterId + commandId:commandId + commandFields:fields + clientQueue:dispatch_get_main_queue() + completion:^(NSArray *> * _Nullable values, + NSError * _Nullable error) { + completion([CHIPDeviceController encodeXPCResponseValues:values], error); + }]; + } + }]; } else { NSLog(@"Failed to get shared controller"); completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); @@ -257,43 +269,45 @@ - (void)subscribeAttributeWithController:(id)controller { __auto_type sharedController = [CHIPDeviceController sharedController]; if (sharedController) { - [sharedController getConnectedDevice:nodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - if (error) { - NSLog(@"Failed to get connected device"); - establishedHandler(); - // Send an error report so that the client knows of the failure - [self.clientProxy handleReportWithController:controller - nodeId:nodeId - value:nil - error:[NSError errorWithDomain:CHIPErrorDomain - code:CHIPErrorCodeGeneralError - userInfo:nil]]; - } else { - [device subscribeAttributeWithEndpointId:endpointId - clusterId:clusterId - attributeId:attributeId - minInterval:minInterval - maxInterval:maxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, - NSError * _Nullable error) { - [self.clientProxy handleReportWithController:controller - nodeId:nodeId - value:value - error:error]; - } - subscriptionEstablished:establishedHandler]; - } - }]; + [sharedController + getConnectedDevice:nodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + if (error) { + NSLog(@"Failed to get connected device"); + establishedHandler(); + // Send an error report so that the client knows of the failure + [self.clientProxy handleReportWithController:controller + nodeId:nodeId + values:nil + error:[NSError errorWithDomain:CHIPErrorDomain + code:CHIPErrorCodeGeneralError + userInfo:nil]]; + } else { + [device subscribeAttributeWithEndpointId:endpointId + clusterId:clusterId + attributeId:attributeId + minInterval:minInterval + maxInterval:maxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, + NSError * _Nullable error) { + [self.clientProxy handleReportWithController:controller + nodeId:nodeId + values:[CHIPDeviceController + encodeXPCResponseValues:values] + error:error]; + } + subscriptionEstablished:establishedHandler]; + } + }]; } else { NSLog(@"Failed to get shared controller"); establishedHandler(); // Send an error report so that the client knows of the failure [self.clientProxy handleReportWithController:controller nodeId:nodeId - value:nil + values:nil error:[NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]]; @@ -337,11 +351,14 @@ - (void)readAttributeCacheWithController:(id _Nullable)controller { CHIPAttributeCacheContainer * attributeCacheContainer = _attributeCacheDictionary[[NSNumber numberWithUnsignedLongLong:nodeId]]; if (attributeCacheContainer) { - [attributeCacheContainer readAttributeWithEndpointId:endpointId - clusterId:clusterId - attributeId:attributeId - clientQueue:dispatch_get_main_queue() - completion:completion]; + [attributeCacheContainer + readAttributeWithEndpointId:endpointId + clusterId:clusterId + attributeId:attributeId + clientQueue:dispatch_get_main_queue() + completion:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + completion([CHIPDeviceController encodeXPCResponseValues:values], error); + }]; } else { NSLog(@"Attribute cache for node ID %llu was not setup", nodeId); completion(nil, [NSError errorWithDomain:CHIPErrorDomain code:CHIPErrorCodeGeneralError userInfo:nil]); @@ -547,9 +564,9 @@ - (void)test001_ReadAttribute XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 29); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 0); - XCTAssertTrue([result[@"endpointId"] isKindOfClass:[NSNumber class]]); + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.cluster unsignedIntegerValue], 29); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Array"]); } @@ -589,10 +606,11 @@ - (void)test002_WriteAttribute XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 8); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 17); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 8); + XCTAssertEqual([path.attribute unsignedIntegerValue], 17); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -614,18 +632,13 @@ - (void)test003_InvokeCommand CHIPDevice * device = GetConnectedDevice(); dispatch_queue_t queue = dispatch_get_main_queue(); - NSDictionary * fields = [NSDictionary - dictionaryWithObjectsAndKeys:@"Structure", @"type", - [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:0], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"UnsignedInteger", @"type", - [NSNumber numberWithUnsignedInteger:0], @"value", nil], - @"value", nil], - [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:1], @"tag", - [NSDictionary dictionaryWithObjectsAndKeys:@"UnsignedInteger", @"type", - [NSNumber numberWithUnsignedInteger:10], @"value", nil], - @"value", nil], - nil], - @"value", nil]; + NSDictionary * fields = @{ + @"type" : @"Structure", + @"value" : @[ + @{ @"contextTag" : @0, @"data" : @ { @"type" : @"UnsignedInteger", @"value" : @0 } }, + @{ @"contextTag" : @1, @"data" : @ { @"type" : @"UnsignedInteger", @"value" : @10 } } + ] + }; [device invokeCommandWithEndpointId:1 clusterId:8 commandId:4 @@ -640,10 +653,11 @@ - (void)test003_InvokeCommand XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 8); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 4); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 8); + XCTAssertEqual([path.command unsignedIntegerValue], 4); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -692,18 +706,18 @@ - (void)test004_Subscribe // Set up expectation for report expectation = [self expectationWithDescription:@"receive OnOff attribute report"]; - globalReportHandler = ^(id _Nullable value, NSError * _Nullable error) { + globalReportHandler = ^(id _Nullable values, NSError * _Nullable error) { XCTAssertEqual([CHIPErrorTestUtils errorToZCLErrorCode:error], 0); - - { - XCTAssertTrue([value isKindOfClass:[NSDictionary class]]); - NSDictionary * result = value; - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 0); - XCTAssertTrue([result[@"value"] isKindOfClass:[NSDictionary class]]); - XCTAssertTrue([result[@"value"][@"type"] isEqualToString:@"Boolean"]); - XCTAssertEqual([result[@"value"][@"value"] boolValue], YES); + XCTAssertTrue([values isKindOfClass:[NSArray class]]); + + for (NSDictionary * result in values) { + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); + XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); + XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Boolean"]); + XCTAssertEqual([result[@"data"][@"value"] boolValue], YES); } [expectation fulfill]; }; @@ -724,10 +738,11 @@ - (void)test004_Subscribe XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 1); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -851,8 +866,8 @@ - (void)test008_SubscribeFailure // Set up expectation for report XCTestExpectation * errorReportExpectation = [self expectationWithDescription:@"receive OnOff attribute report"]; - globalReportHandler = ^(id _Nullable value, NSError * _Nullable error) { - XCTAssertNil(value); + globalReportHandler = ^(id _Nullable values, NSError * _Nullable error) { + XCTAssertNil(values); // Error is copied over XPC and hence cannot use CHIPErrorTestUtils utility which checks against a local domain string // object. XCTAssertTrue([error.domain isEqualToString:MatterInteractionErrorDomain]); @@ -934,10 +949,11 @@ - (void)test009_SubscribeAttributeCache XCTAssertTrue([values isKindOfClass:[NSArray class]]); NSArray * resultArray = values; for (NSDictionary * result in resultArray) { - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"commandId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"status"] unsignedIntegerValue], 0); + CHIPCommandPath * path = result[@"commandPath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.command unsignedIntegerValue], 1); + XCTAssertNil(result[@"error"]); } XCTAssertEqual([resultArray count], 1); } @@ -960,9 +976,10 @@ - (void)test009_SubscribeAttributeCache for (NSDictionary * value in values) { XCTAssertTrue([value isKindOfClass:[NSDictionary class]]); NSDictionary * result = value; - XCTAssertEqual([result[@"endpointId"] unsignedIntegerValue], 1); - XCTAssertEqual([result[@"clusterId"] unsignedIntegerValue], 6); - XCTAssertEqual([result[@"attributeId"] unsignedIntegerValue], 0); + CHIPAttributePath * path = result[@"attributePath"]; + XCTAssertEqual([path.endpoint unsignedIntegerValue], 1); + XCTAssertEqual([path.cluster unsignedIntegerValue], 6); + XCTAssertEqual([path.attribute unsignedIntegerValue], 0); XCTAssertTrue([result[@"data"] isKindOfClass:[NSDictionary class]]); XCTAssertTrue([result[@"data"][@"type"] isEqualToString:@"Boolean"]); XCTAssertEqual([result[@"data"][@"value"] boolValue], YES); diff --git a/src/darwin/Framework/CHIPTests/CHIPXPCProtocolTests.m b/src/darwin/Framework/CHIPTests/CHIPXPCProtocolTests.m index fea62527b4eecd..85356cb9e68a3c 100644 --- a/src/darwin/Framework/CHIPTests/CHIPXPCProtocolTests.m +++ b/src/darwin/Framework/CHIPTests/CHIPXPCProtocolTests.m @@ -34,6 +34,48 @@ // Inverted expectation timeout static const uint16_t kNegativeTimeoutInSeconds = 1; +@interface CHIPAttributePath (Test) +- (BOOL)isEqual:(id)object; +@end + +@implementation CHIPAttributePath (Test) +- (BOOL)isEqual:(id)object +{ + if ([object isKindOfClass:[CHIPAttributePath class]]) { + CHIPAttributePath * other = object; + return [self.endpoint isEqualToNumber:other.endpoint] && [self.cluster isEqualToNumber:other.cluster] && + [self.attribute isEqualToNumber:other.attribute]; + } + return NO; +} + +- (NSString *)description +{ + return [NSString stringWithFormat:@"CHIPAttributePath(%@,%@,%@)", self.endpoint, self.cluster, self.attribute]; +} +@end + +@interface CHIPCommandPath (Test) +- (BOOL)isEqual:(id)object; +@end + +@implementation CHIPCommandPath (Test) +- (BOOL)isEqual:(id)object +{ + if ([object isKindOfClass:[CHIPCommandPath class]]) { + CHIPCommandPath * other = object; + return [self.endpoint isEqualToNumber:other.endpoint] && [self.cluster isEqualToNumber:other.cluster] && + [self.command isEqualToNumber:other.command]; + } + return NO; +} + +- (NSString *)description +{ + return [NSString stringWithFormat:@"CHIPCommandPath(%@,%@,%@)", self.endpoint, self.cluster, self.command]; +} +@end + @interface CHIPXPCProtocolTests : XCTestCase @property (nonatomic, readwrite, strong) NSXPCListener * xpcListener; @@ -185,6 +227,8 @@ - (void)readAttributeCacheWithController:(id _Nullable)controller - (void)setUp { + [self setContinueAfterFailure:NO]; + _xpcListener = [NSXPCListener anonymousListener]; [_xpcListener setDelegate:(id) self]; _serviceInterface = [NSXPCInterface interfaceWithProtocol:@protocol(CHIPDeviceControllerServerProtocol)]; @@ -212,13 +256,13 @@ - (void)testReadAttributeSuccess NSUInteger myEndpointId = 100; NSUInteger myClusterId = 200; NSUInteger myAttributeId = 300; - NSArray * myValues = - [NSArray arrayWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], - @"endpointId", [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", - [NSNumber numberWithUnsignedInteger:myAttributeId], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]]; + NSArray * myValues = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; + XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * responseExpectation = [self expectationWithDescription:@"XPC response received"]; @@ -231,7 +275,7 @@ - (void)testReadAttributeSuccess XCTAssertEqual(clusterId, myClusterId); XCTAssertEqual(attributeId, myAttributeId); [callExpectation fulfill]; - completion(myValues, nil); + completion([CHIPDeviceController encodeXPCResponseValues:myValues], nil); }; [_remoteDeviceController getConnectedDevice:myNodeId @@ -319,11 +363,12 @@ - (void)testWriteAttributeSuccess NSUInteger myAttributeId = 300; NSDictionary * myValue = [NSDictionary dictionaryWithObjectsAndKeys:@"UnsignedInteger", @"type", [NSNumber numberWithInteger:654321], @"value", nil]; - NSArray * myResults = - [NSArray arrayWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], - @"endpointId", [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", - [NSNumber numberWithUnsignedInteger:myAttributeId], @"attributeId", - [NSNumber numberWithInteger:0], @"status", nil]]; + NSArray * myResults = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]] + } ]; + XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * responseExpectation = [self expectationWithDescription:@"XPC response received"]; @@ -337,7 +382,7 @@ - (void)testWriteAttributeSuccess XCTAssertEqual(attributeId, myAttributeId); XCTAssertTrue([value isEqualTo:myValue]); [callExpectation fulfill]; - completion(myResults, nil); + completion([CHIPDeviceController encodeXPCResponseValues:myResults], nil); }; [_remoteDeviceController getConnectedDevice:myNodeId @@ -432,11 +477,11 @@ - (void)testInvokeCommandSuccess [NSArray arrayWithObject:[NSDictionary dictionaryWithObjectsAndKeys:@"Float", @"Type", [NSNumber numberWithFloat:1.0], @"value", nil]], @"value", nil]; - NSArray * myResults = - [NSArray arrayWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], - @"endpointId", [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", - [NSNumber numberWithUnsignedInteger:myCommandId], @"commandId", - [NSNumber numberWithInteger:0], @"status", nil]]; + NSArray * myResults = @[ @{ + @"commandPath" : [CHIPCommandPath commandPathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + commandId:[NSNumber numberWithUnsignedInteger:myCommandId]] + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * responseExpectation = [self expectationWithDescription:@"XPC response received"]; @@ -450,7 +495,7 @@ - (void)testInvokeCommandSuccess XCTAssertEqual(commandId, myCommandId); XCTAssertTrue([commandFields isEqualTo:myFields]); [callExpectation fulfill]; - completion(myResults, nil); + completion([CHIPDeviceController encodeXPCResponseValues:myResults], nil); }; [_remoteDeviceController getConnectedDevice:myNodeId @@ -545,12 +590,12 @@ - (void)testSubscribeAttributeSuccess NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Report sent"]; @@ -571,48 +616,55 @@ - (void)testSubscribeAttributeSuccess _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -641,14 +693,14 @@ - (void)testBadlyFormattedReport NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - // Incorrect report value. Report must be a single NSDictionary - __block id myReport = - [NSArray arrayWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], - @"endpointId", [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", - [NSNumber numberWithUnsignedInteger:myAttributeId], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]]; + // Incorrect serialized report value. Report should have ben a single NSDictionary + __block id myReport = @{ + @"attributePath" : @[ + [NSNumber numberWithUnsignedInteger:myEndpointId], [NSNumber numberWithUnsignedInteger:myClusterId], + [NSNumber numberWithUnsignedInteger:myAttributeId] + ], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + }; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Unexpected report sent"]; @@ -670,48 +722,52 @@ - (void)testBadlyFormattedReport _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject badly formatted report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid nodeId:myNodeId values:myReport error:nil]; // Wait for report, which isn't expected. [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"Report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -741,12 +797,12 @@ - (void)testReportWithUnrelatedEndpointId NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId + 1], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId + 1] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Unexpected report sent"]; @@ -768,48 +824,55 @@ - (void)testReportWithUnrelatedEndpointId _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report which isn't expected [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -838,12 +901,12 @@ - (void)testReportWithUnrelatedClusterId NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId + 1], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId + 1] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Unexpected report sent"]; @@ -865,48 +928,55 @@ - (void)testReportWithUnrelatedClusterId _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report not to come [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -935,12 +1005,12 @@ - (void)testReportWithUnrelatedAttributeId NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId + 1], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId + 1]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Unexpected report sent"]; @@ -962,48 +1032,55 @@ - (void)testReportWithUnrelatedAttributeId _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report not to come [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -1032,12 +1109,12 @@ - (void)testReportWithUnrelatedNode NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Unexpected report sent"]; @@ -1059,48 +1136,55 @@ - (void)testReportWithUnrelatedNode _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId + 1 value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + 1 + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report not to come [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -1129,12 +1213,12 @@ - (void)testSubscribeMultiEndpoints NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Report sent"]; @@ -1155,48 +1239,55 @@ - (void)testSubscribeMultiEndpoints _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:0xffff - clusterId:myClusterId - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:0xffff + clusterId:myClusterId + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -1225,12 +1316,12 @@ - (void)testSubscribeMultiClusters NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Report sent"]; @@ -1251,48 +1342,55 @@ - (void)testSubscribeMultiClusters _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:0xffffffff - attributeId:myAttributeId - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:0xffffffff + attributeId:myAttributeId + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kNegativeTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -1321,12 +1419,12 @@ - (void)testSubscribeMultiAttributes NSUInteger myAttributeId = 300; NSUInteger myMinInterval = 5; NSUInteger myMaxInterval = 60; - __block NSDictionary * myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]; + __block NSArray * myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * establishExpectation = [self expectationWithDescription:@"Established called"]; __block XCTestExpectation * reportExpectation = [self expectationWithDescription:@"Report sent"]; @@ -1347,48 +1445,55 @@ - (void)testSubscribeMultiAttributes _xpcDisconnectExpectation = [self expectationWithDescription:@"XPC Disconnected"]; - [_remoteDeviceController getConnectedDevice:myNodeId - queue:dispatch_get_main_queue() - completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { - XCTAssertNotNil(device); - XCTAssertNil(error); - NSLog(@"Device acquired. Subscribing..."); - [device subscribeAttributeWithEndpointId:myEndpointId - clusterId:myClusterId - attributeId:0xffffffff - minInterval:myMinInterval - maxInterval:myMaxInterval - clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Report value: %@", value); - XCTAssertNotNil(value); - XCTAssertNil(error); - XCTAssertTrue([myReport isEqualTo:value]); - [reportExpectation fulfill]; - } - subscriptionEstablished:^{ - [establishExpectation fulfill]; - }]; - }]; + [_remoteDeviceController + getConnectedDevice:myNodeId + queue:dispatch_get_main_queue() + completionHandler:^(CHIPDevice * _Nullable device, NSError * _Nullable error) { + XCTAssertNotNil(device); + XCTAssertNil(error); + NSLog(@"Device acquired. Subscribing..."); + [device subscribeAttributeWithEndpointId:myEndpointId + clusterId:myClusterId + attributeId:0xffffffff + minInterval:myMinInterval + maxInterval:myMaxInterval + clientQueue:dispatch_get_main_queue() + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Report value: %@", values); + XCTAssertNotNil(values); + XCTAssertNil(error); + XCTAssertTrue([myReport isEqualTo:values]); + [reportExpectation fulfill]; + } + subscriptionEstablished:^{ + [establishExpectation fulfill]; + }]; + }]; [self waitForExpectations:[NSArray arrayWithObjects:callExpectation, establishExpectation, nil] timeout:kTimeoutInSeconds]; // Inject report id clientObject = _xpcConnection.remoteObjectProxy; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; // Inject another report reportExpectation = [self expectationWithDescription:@"2nd report sent"]; - myReport = [NSDictionary - dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], @"endpointId", - [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", [NSNumber numberWithUnsignedInteger:myAttributeId], - @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", [NSNumber numberWithInteger:771234], @"value", nil], - @"data", nil]; - [clientObject handleReportWithController:uuid nodeId:myNodeId value:myReport error:nil]; + myReport = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @771234 } + } ]; + [clientObject handleReportWithController:uuid + nodeId:myNodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReport] + error:nil]; // Wait for report [self waitForExpectations:[NSArray arrayWithObject:reportExpectation] timeout:kTimeoutInSeconds]; @@ -1423,7 +1528,7 @@ - (void)testMutiSubscriptions __block NSUInteger myAttributeId = attributeIds[0]; __block NSUInteger myMinInterval = minIntervals[0]; __block NSUInteger myMaxInterval = maxIntervals[0]; - __block NSArray * myReports; + __block NSArray * myReports; __block XCTestExpectation * callExpectation; __block XCTestExpectation * establishExpectation; __block NSArray * reportExpectations; @@ -1467,11 +1572,11 @@ - (void)testMutiSubscriptions minInterval:myMinInterval maxInterval:myMaxInterval clientQueue:dispatch_get_main_queue() - reportHandler:^(NSDictionary * _Nullable value, NSError * _Nullable error) { - NSLog(@"Subscriber [%d] report value: %@", i, value); - XCTAssertNotNil(value); + reportHandler:^(NSArray *> * _Nullable values, NSError * _Nullable error) { + NSLog(@"Subscriber [%d] report value: %@", i, values); + XCTAssertNotNil(values); XCTAssertNil(error); - XCTAssertTrue([myReports[i] isEqualTo:value]); + XCTAssertTrue([myReports[i] isEqualTo:values]); [reportExpectations[i] fulfill]; } subscriptionEstablished:^{ @@ -1490,24 +1595,29 @@ - (void)testMutiSubscriptions arrayWithObjects:[self expectationWithDescription:[NSString stringWithFormat:@"Report(%d) for first subscriber sent", count]], [self expectationWithDescription:[NSString stringWithFormat:@"Report(%d) for second subscriber sent", count]], nil]; - myReports = [NSArray - arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:endpointIds[0]], - @"endpointId", [NSNumber numberWithUnsignedInteger:clusterIds[0]], @"clusterId", - [NSNumber numberWithUnsignedInteger:attributeIds[0]], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:123456 + count * 100], @"value", nil], - @"data", nil], - [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:endpointIds[1]], @"endpointId", - [NSNumber numberWithUnsignedInteger:clusterIds[1]], @"clusterId", - [NSNumber numberWithUnsignedInteger:attributeIds[1]], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:123457 + count * 100], @"value", nil], - @"data", nil], - nil]; + myReports = @[ + @[ @{ + @"attributePath" : + [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:endpointIds[0]] + clusterId:[NSNumber numberWithUnsignedInteger:clusterIds[0]] + attributeId:[NSNumber numberWithUnsignedInteger:attributeIds[0]]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : [NSNumber numberWithInteger:123456 + count * 100] } + } ], + @[ @{ + @"attributePath" : + [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:endpointIds[1]] + clusterId:[NSNumber numberWithUnsignedInteger:clusterIds[1]] + attributeId:[NSNumber numberWithUnsignedInteger:attributeIds[1]]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : [NSNumber numberWithInteger:123457 + count * 100] } + } ] + ]; for (int i = 0; i < 2; i++) { NSUInteger nodeId = nodeIds[i]; dispatch_async(dispatch_get_main_queue(), ^{ - [clientObject handleReportWithController:uuid nodeId:nodeId value:myReports[i] error:nil]; + [clientObject handleReportWithController:uuid + nodeId:nodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReports[i]] + error:nil]; }); } [self waitForExpectations:reportExpectations timeout:kTimeoutInSeconds]; @@ -1535,24 +1645,29 @@ - (void)testMutiSubscriptions stringWithFormat:@"Report(%d) for first subscriber sent", count]], [self expectationWithDescription:[NSString stringWithFormat:@"Report(%d) for second subscriber sent", count]], nil]; reportExpectations[0].inverted = YES; - myReports = [NSArray - arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:endpointIds[0]], - @"endpointId", [NSNumber numberWithUnsignedInteger:clusterIds[0]], @"clusterId", - [NSNumber numberWithUnsignedInteger:attributeIds[0]], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:223456 + count * 100], @"value", nil], - @"data", nil], - [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:endpointIds[1]], @"endpointId", - [NSNumber numberWithUnsignedInteger:clusterIds[1]], @"clusterId", - [NSNumber numberWithUnsignedInteger:attributeIds[1]], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:223457 + count * 100], @"value", nil], - @"data", nil], - nil]; + myReports = @[ + @[ @{ + @"attributePath" : + [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:endpointIds[0]] + clusterId:[NSNumber numberWithUnsignedInteger:clusterIds[0]] + attributeId:[NSNumber numberWithUnsignedInteger:attributeIds[0]]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : [NSNumber numberWithInteger:223456 + count * 100] } + } ], + @[ @{ + @"attributePath" : + [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:endpointIds[1]] + clusterId:[NSNumber numberWithUnsignedInteger:clusterIds[1]] + attributeId:[NSNumber numberWithUnsignedInteger:attributeIds[1]]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : [NSNumber numberWithInteger:223457 + count * 100] } + } ] + ]; for (int i = 0; i < 2; i++) { NSUInteger nodeId = nodeIds[i]; dispatch_async(dispatch_get_main_queue(), ^{ - [clientObject handleReportWithController:uuid nodeId:nodeId value:myReports[i] error:nil]; + [clientObject handleReportWithController:uuid + nodeId:nodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReports[i]] + error:nil]; }); } [self waitForExpectations:reportExpectations timeout:kTimeoutInSeconds]; @@ -1584,24 +1699,29 @@ - (void)testMutiSubscriptions [self expectationWithDescription:[NSString stringWithFormat:@"Report(%d) for second subscriber sent", count]], nil]; reportExpectations[0].inverted = YES; reportExpectations[1].inverted = YES; - myReports = [NSArray - arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:endpointIds[0]], - @"endpointId", [NSNumber numberWithUnsignedInteger:clusterIds[0]], @"clusterId", - [NSNumber numberWithUnsignedInteger:attributeIds[0]], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:223456 + count * 100], @"value", nil], - @"data", nil], - [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:endpointIds[1]], @"endpointId", - [NSNumber numberWithUnsignedInteger:clusterIds[1]], @"clusterId", - [NSNumber numberWithUnsignedInteger:attributeIds[1]], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:223457 + count * 100], @"value", nil], - @"data", nil], - nil]; + myReports = @[ + @[ @{ + @"attributePath" : + [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:endpointIds[0]] + clusterId:[NSNumber numberWithUnsignedInteger:clusterIds[0]] + attributeId:[NSNumber numberWithUnsignedInteger:attributeIds[0]]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : [NSNumber numberWithInteger:223456 + count * 100] } + } ], + @[ @{ + @"attributePath" : + [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:endpointIds[1]] + clusterId:[NSNumber numberWithUnsignedInteger:clusterIds[1]] + attributeId:[NSNumber numberWithUnsignedInteger:attributeIds[1]]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : [NSNumber numberWithInteger:223457 + count * 100] } + } ] + ]; for (int i = 0; i < 2; i++) { NSUInteger nodeId = nodeIds[i]; dispatch_async(dispatch_get_main_queue(), ^{ - [clientObject handleReportWithController:uuid nodeId:nodeId value:myReports[i] error:nil]; + [clientObject handleReportWithController:uuid + nodeId:nodeId + values:[CHIPDeviceController encodeXPCResponseValues:myReports[i]] + error:nil]; }); } [self waitForExpectations:reportExpectations timeout:kNegativeTimeoutInSeconds]; @@ -1706,13 +1826,13 @@ - (void)testReadAttributeCacheSuccess NSUInteger myEndpointId = 100; NSUInteger myClusterId = 200; NSUInteger myAttributeId = 300; - NSArray * myValues = - [NSArray arrayWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInteger:myEndpointId], - @"endpointId", [NSNumber numberWithUnsignedInteger:myClusterId], @"clusterId", - [NSNumber numberWithUnsignedInteger:myAttributeId], @"attributeId", - [NSDictionary dictionaryWithObjectsAndKeys:@"SignedInteger", @"type", - [NSNumber numberWithInteger:123456], @"value", nil], - @"data", nil]]; + NSArray * myValues = @[ @{ + @"attributePath" : [CHIPAttributePath attributePathWithEndpointId:[NSNumber numberWithUnsignedInteger:myEndpointId] + clusterId:[NSNumber numberWithUnsignedInteger:myClusterId] + attributeId:[NSNumber numberWithUnsignedInteger:myAttributeId]], + @"data" : @ { @"type" : @"SignedInteger", @"value" : @123456 } + } ]; + XCTestExpectation * subscribeExpectation = [self expectationWithDescription:@"Cache subscription complete"]; XCTestExpectation * callExpectation = [self expectationWithDescription:@"XPC call received"]; XCTestExpectation * responseExpectation = [self expectationWithDescription:@"XPC response received"]; @@ -1735,7 +1855,7 @@ - (void)testReadAttributeCacheSuccess XCTAssertEqual(clusterId, myClusterId); XCTAssertEqual(attributeId, myAttributeId); [callExpectation fulfill]; - completion(myValues, nil); + completion([CHIPDeviceController encodeXPCResponseValues:myValues], nil); }; [attributeCacheContainer subscribeWithDeviceController:_remoteDeviceController From c2b6479b7aa27517f36b97173efc3e318f0937a9 Mon Sep 17 00:00:00 2001 From: C Freeman Date: Tue, 15 Mar 2022 13:44:32 -0400 Subject: [PATCH 07/37] Switch device type to use a uint32 (#15918) * Switch device type to use a uint32 * fix print size. * Update src/lib/dnssd/tests/TestTxtFields.cpp Co-authored-by: Boris Zbarsky Co-authored-by: Boris Zbarsky --- examples/minimal-mdns/advertiser.cpp | 4 ++-- src/app/server/Dnssd.cpp | 5 +++-- src/include/platform/ConfigurationManager.h | 2 +- .../internal/GenericConfigurationManagerImpl.cpp | 8 ++++---- .../internal/GenericConfigurationManagerImpl.h | 2 +- src/lib/dnssd/Advertiser.h | 6 +++--- src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp | 2 +- src/lib/dnssd/Constants.h | 2 +- src/lib/dnssd/ServiceNaming.cpp | 3 +-- src/lib/dnssd/TxtFields.cpp | 5 ++--- src/lib/dnssd/TxtFields.h | 5 ++--- src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp | 10 +++++----- src/lib/dnssd/platform/tests/TestPlatform.cpp | 12 ++++++------ src/lib/dnssd/tests/TestTxtFields.cpp | 4 ++-- src/platform/fake/ConfigurationManagerImpl.h | 2 +- 15 files changed, 35 insertions(+), 37 deletions(-) diff --git a/examples/minimal-mdns/advertiser.cpp b/examples/minimal-mdns/advertiser.cpp index 78b811f6ee64cd..b006dc38903c13 100644 --- a/examples/minimal-mdns/advertiser.cpp +++ b/examples/minimal-mdns/advertiser.cpp @@ -45,7 +45,7 @@ struct Options // commissionable node / commissioner params Optional vendorId; Optional productId; - Optional deviceType; + Optional deviceType; Optional deviceName; // commissionable node params @@ -134,7 +134,7 @@ bool HandleOptions(const char * aProgram, OptionSet * aOptions, int aIdentifier, } return true; case kOptionCommissioningDeviceType: - gOptions.deviceType = Optional::Value(static_cast(atoi(aValue))); + gOptions.deviceType = Optional::Value(static_cast(atoi(aValue))); return true; case kOptionCommissioningDeviceName: gOptions.deviceName = Optional::Value(static_cast(aValue)); diff --git a/src/app/server/Dnssd.cpp b/src/app/server/Dnssd.cpp index f6df0e0fe444af..f2804f0908d637 100644 --- a/src/app/server/Dnssd.cpp +++ b/src/app/server/Dnssd.cpp @@ -321,6 +321,7 @@ CHIP_ERROR DnssdServer::Advertise(bool commissionableNode, chip::Dnssd::Commissi advertiseParameters.SetMac(mac); uint16_t value; + uint32_t val32; if (DeviceLayer::ConfigurationMgr().GetVendorId(value) != CHIP_NO_ERROR) { ChipLogProgress(Discovery, "Vendor ID not known"); @@ -356,9 +357,9 @@ CHIP_ERROR DnssdServer::Advertise(bool commissionableNode, chip::Dnssd::Commissi .SetLongDiscriminator(discriminator); if (DeviceLayer::ConfigurationMgr().IsCommissionableDeviceTypeEnabled() && - DeviceLayer::ConfigurationMgr().GetDeviceTypeId(value) == CHIP_NO_ERROR) + DeviceLayer::ConfigurationMgr().GetDeviceTypeId(val32) == CHIP_NO_ERROR) { - advertiseParameters.SetDeviceType(chip::Optional::Value(value)); + advertiseParameters.SetDeviceType(chip::Optional::Value(val32)); } char deviceName[chip::Dnssd::kKeyDeviceNameMaxLength + 1]; diff --git a/src/include/platform/ConfigurationManager.h b/src/include/platform/ConfigurationManager.h index c4f253e1dfccda..c95adb824c39f2 100644 --- a/src/include/platform/ConfigurationManager.h +++ b/src/include/platform/ConfigurationManager.h @@ -152,7 +152,7 @@ class ConfigurationManager virtual void LogDeviceConfig() = 0; virtual bool IsCommissionableDeviceTypeEnabled() = 0; - virtual CHIP_ERROR GetDeviceTypeId(uint16_t & deviceType) = 0; + virtual CHIP_ERROR GetDeviceTypeId(uint32_t & deviceType) = 0; virtual bool IsCommissionableDeviceNameEnabled() = 0; virtual CHIP_ERROR GetCommissionableDeviceName(char * buf, size_t bufSize) = 0; virtual CHIP_ERROR GetInitialPairingHint(uint16_t & pairingHint) = 0; diff --git a/src/include/platform/internal/GenericConfigurationManagerImpl.cpp b/src/include/platform/internal/GenericConfigurationManagerImpl.cpp index b30fd932c19d84..969a1b484b9c14 100644 --- a/src/include/platform/internal/GenericConfigurationManagerImpl.cpp +++ b/src/include/platform/internal/GenericConfigurationManagerImpl.cpp @@ -281,9 +281,9 @@ inline CHIP_ERROR GenericConfigurationManagerImpl::StoreSoftwareVer } template -CHIP_ERROR GenericConfigurationManagerImpl::GetDeviceTypeId(uint16_t & deviceType) +CHIP_ERROR GenericConfigurationManagerImpl::GetDeviceTypeId(uint32_t & deviceType) { - deviceType = static_cast(CHIP_DEVICE_CONFIG_DEVICE_TYPE); + deviceType = static_cast(CHIP_DEVICE_CONFIG_DEVICE_TYPE); return CHIP_NO_ERROR; } @@ -864,12 +864,12 @@ void GenericConfigurationManagerImpl::LogDeviceConfig() } { - uint16_t deviceType; + uint32_t deviceType; if (GetDeviceTypeId(deviceType) != CHIP_NO_ERROR) { deviceType = 0; } - ChipLogProgress(DeviceLayer, " Device Type: %" PRIu16 " (0x%" PRIX16 ")", deviceType, deviceType); + ChipLogProgress(DeviceLayer, " Device Type: %" PRIu32 " (0x%" PRIX32 ")", deviceType, deviceType); } } diff --git a/src/include/platform/internal/GenericConfigurationManagerImpl.h b/src/include/platform/internal/GenericConfigurationManagerImpl.h index 41f4dd856ae324..550f0579c106d1 100644 --- a/src/include/platform/internal/GenericConfigurationManagerImpl.h +++ b/src/include/platform/internal/GenericConfigurationManagerImpl.h @@ -87,7 +87,7 @@ class GenericConfigurationManagerImpl : public ConfigurationManager CHIP_ERROR SetFailSafeArmed(bool val) override; CHIP_ERROR GetBLEDeviceIdentificationInfo(Ble::ChipBLEDeviceIdentificationInfo & deviceIdInfo) override; bool IsCommissionableDeviceTypeEnabled() override; - CHIP_ERROR GetDeviceTypeId(uint16_t & deviceType) override; + CHIP_ERROR GetDeviceTypeId(uint32_t & deviceType) override; bool IsCommissionableDeviceNameEnabled() override; CHIP_ERROR GetCommissionableDeviceName(char * buf, size_t bufSize) override; CHIP_ERROR GetInitialPairingHint(uint16_t & pairingHint) override; diff --git a/src/lib/dnssd/Advertiser.h b/src/lib/dnssd/Advertiser.h index c7f003242bdfc8..bf6900acdda5b2 100644 --- a/src/lib/dnssd/Advertiser.h +++ b/src/lib/dnssd/Advertiser.h @@ -180,12 +180,12 @@ class CommissionAdvertisingParameters : public BaseAdvertisingParams deviceType) + CommissionAdvertisingParameters & SetDeviceType(Optional deviceType) { mDeviceType = deviceType; return *this; } - Optional GetDeviceType() const { return mDeviceType; } + Optional GetDeviceType() const { return mDeviceType; } CommissionAdvertisingParameters & SetDeviceName(Optional deviceName) { @@ -262,7 +262,7 @@ class CommissionAdvertisingParameters : public BaseAdvertisingParams mVendorId; chip::Optional mProductId; - chip::Optional mDeviceType; + chip::Optional mDeviceType; chip::Optional mPairingHint; char mDeviceName[kKeyDeviceNameMaxLength + 1]; diff --git a/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp index 7ef2e5affae4a0..1ec47d9cd7123c 100644 --- a/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp +++ b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp @@ -657,7 +657,7 @@ FullQName AdvertiserMinMdns::GetCommissioningTxtEntries(const CommissionAdvertis char txtDeviceType[chip::Dnssd::kKeyDeviceTypeMaxLength + 4]; if (params.GetDeviceType().HasValue()) { - snprintf(txtDeviceType, sizeof(txtDeviceType), "DT=%d", params.GetDeviceType().Value()); + snprintf(txtDeviceType, sizeof(txtDeviceType), "DT=%" PRIu32, params.GetDeviceType().Value()); txtFields[numTxtFields++] = txtDeviceType; } diff --git a/src/lib/dnssd/Constants.h b/src/lib/dnssd/Constants.h index b3aeaae7379e4e..992ab9cba4bb63 100644 --- a/src/lib/dnssd/Constants.h +++ b/src/lib/dnssd/Constants.h @@ -38,7 +38,7 @@ constexpr size_t kHostNameMaxLength = 16; // MAC or 802.15.4 Extended Address in constexpr size_t kSubTypeShortDiscriminatorMaxLength = 4; // _S
constexpr size_t kSubTypeLongDiscriminatorMaxLength = 6; // _L constexpr size_t kSubTypeVendorIdMaxLength = 7; // _V -constexpr size_t kSubTypeDeviceTypeMaxLength = 5; // _T +constexpr size_t kSubTypeDeviceTypeMaxLength = 12; // _T constexpr size_t kSubTypeCommissioningModeMaxLength = 3; // _C constexpr size_t kSubTypeAdditionalCommissioningMaxLength = 3; // _A constexpr size_t kSubTypeCompressedFabricIdMaxLength = 18; // _I<16-hex-digits> diff --git a/src/lib/dnssd/ServiceNaming.cpp b/src/lib/dnssd/ServiceNaming.cpp index e1a2c8c6d9df95..8afd9199dba87b 100644 --- a/src/lib/dnssd/ServiceNaming.cpp +++ b/src/lib/dnssd/ServiceNaming.cpp @@ -121,8 +121,7 @@ CHIP_ERROR MakeServiceSubtype(char * buffer, size_t bufferLen, DiscoveryFilter s requiredSize = snprintf(buffer, bufferLen, "_V%" PRIu16, static_cast(subtype.code)); break; case DiscoveryFilterType::kDeviceType: - // TODO: Not totally clear the size required here: see spec issue #3226 - requiredSize = snprintf(buffer, bufferLen, "_T%" PRIu16, static_cast(subtype.code)); + requiredSize = snprintf(buffer, bufferLen, "_T%" PRIu32, static_cast(subtype.code)); break; case DiscoveryFilterType::kCommissioningMode: requiredSize = snprintf(buffer, bufferLen, "_CM"); diff --git a/src/lib/dnssd/TxtFields.cpp b/src/lib/dnssd/TxtFields.cpp index 6c8087c4361899..b681e41cd41fc3 100644 --- a/src/lib/dnssd/TxtFields.cpp +++ b/src/lib/dnssd/TxtFields.cpp @@ -145,10 +145,9 @@ uint8_t GetCommissioningMode(const ByteSpan & value) return MakeU8FromAsciiDecimal(value); } -// TODO: possibly 32-bit? see spec issue #3226 -uint16_t GetDeviceType(const ByteSpan & value) +uint32_t GetDeviceType(const ByteSpan & value) { - return MakeU16FromAsciiDecimal(value); + return MakeU32FromAsciiDecimal(value); } void GetDeviceName(const ByteSpan & value, char * name) diff --git a/src/lib/dnssd/TxtFields.h b/src/lib/dnssd/TxtFields.h index 14d4e41622961c..d32daea3d96982 100644 --- a/src/lib/dnssd/TxtFields.h +++ b/src/lib/dnssd/TxtFields.h @@ -41,7 +41,7 @@ static constexpr size_t kKeyLongDiscriminatorMaxLength = 5; static constexpr size_t kKeyVendorProductMaxLength = 11; static constexpr size_t kKeyAdditionalCommissioningMaxLength = 1; static constexpr size_t kKeyCommissioningModeMaxLength = 1; -static constexpr size_t kKeyDeviceTypeMaxLength = 5; +static constexpr size_t kKeyDeviceTypeMaxLength = 10; static constexpr size_t kKeyDeviceNameMaxLength = 32; static constexpr size_t kKeyRotatingDeviceIdMaxLength = 100; static constexpr size_t kKeyPairingInstructionMaxLength = 128; @@ -104,8 +104,7 @@ uint16_t GetProduct(const ByteSpan & value); uint16_t GetVendor(const ByteSpan & value); uint16_t GetLongDiscriminator(const ByteSpan & value); uint8_t GetCommissioningMode(const ByteSpan & value); -// TODO: possibly 32-bit? see spec issue #3226 -uint16_t GetDeviceType(const ByteSpan & value); +uint32_t GetDeviceType(const ByteSpan & value); void GetDeviceName(const ByteSpan & value, char * name); void GetRotatingDeviceId(const ByteSpan & value, uint8_t * rotatingId, size_t * len); uint16_t GetPairingHint(const ByteSpan & value); diff --git a/src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp b/src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp index 65ad23b7e505e4..4483920e680821 100644 --- a/src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp +++ b/src/lib/dnssd/minimal_mdns/tests/TestAdvertiser.cpp @@ -106,7 +106,7 @@ const QNamePart kCmSubParts[] = { "_CM", "_sub", "_matt const QNamePart kLongSubParts[] = { "_L22", "_sub", "_matterc", "_udp", "local" }; const QNamePart kShortSubParts[] = { "_S2", "_sub", "_matterc", "_udp", "local" }; const QNamePart kVendorSubParts[] = { "_V555", "_sub", "_matterc", "_udp", "local" }; -const QNamePart kDeviceTypeSubParts[] = { "_T25", "_sub", "_matterc", "_udp", "local" }; +const QNamePart kDeviceTypeSubParts[] = { "_T70000", "_sub", "_matterc", "_udp", "local" }; const FullQName kMatterCommissionableNodeQueryName = FullQName(kMatterCommissionableNodeQueryParts); FullQName kLongSubFullLenName = FullQName(kLongSubPartsFullLen); FullQName kShortSubFullLenName = FullQName(kShortSubPartsFullLen); @@ -150,14 +150,14 @@ CommissionAdvertisingParameters commissionableNodeParamsLargeBasic = .SetLongDiscriminator(22) .SetShortDiscriminator(2) .SetVendorId(chip::Optional(555)) - .SetDeviceType(chip::Optional(25)) + .SetDeviceType(chip::Optional(70000)) .SetCommissioningMode(CommissioningMode::kEnabledBasic) .SetDeviceName(chip::Optional("testy-test")) .SetPairingHint(chip::Optional(3)) .SetPairingInstruction(chip::Optional("Pair me")) .SetProductId(chip::Optional(897)) .SetRotatingDeviceId(chip::Optional("id_that_spins")); -QNamePart txtCommissionableNodeParamsLargeBasicParts[] = { "D=22", "VP=555+897", "CM=1", "DT=25", +QNamePart txtCommissionableNodeParamsLargeBasicParts[] = { "D=22", "VP=555+897", "CM=1", "DT=70000", "DN=testy-test", "RI=id_that_spins", "PI=Pair me", "PH=3" }; FullQName txtCommissionableNodeParamsLargeBasicName = FullQName(txtCommissionableNodeParamsLargeBasicParts); TxtResourceRecord txtCommissionableNodeParamsLargeBasic = @@ -170,7 +170,7 @@ CommissionAdvertisingParameters commissionableNodeParamsLargeEnhanced = .SetLongDiscriminator(22) .SetShortDiscriminator(2) .SetVendorId(chip::Optional(555)) - .SetDeviceType(chip::Optional(25)) + .SetDeviceType(chip::Optional(70000)) .SetCommissioningMode(CommissioningMode::kEnabledEnhanced) .SetDeviceName(chip::Optional("testy-test")) .SetPairingHint(chip::Optional(3)) @@ -180,7 +180,7 @@ CommissionAdvertisingParameters commissionableNodeParamsLargeEnhanced = .SetTcpSupported(chip::Optional(true)) // 3600005 is more than the max so should be adjusted down .SetMRPConfig(ReliableMessageProtocolConfig(3600000_ms32, 3600005_ms32)); -QNamePart txtCommissionableNodeParamsLargeEnhancedParts[] = { "D=22", "VP=555+897", "CM=2", "DT=25", +QNamePart txtCommissionableNodeParamsLargeEnhancedParts[] = { "D=22", "VP=555+897", "CM=2", "DT=70000", "DN=testy-test", "RI=id_that_spins", "PI=Pair me", "PH=3", "CRA=3600000", "CRI=3600000", "T=1" }; FullQName txtCommissionableNodeParamsLargeEnhancedName = FullQName(txtCommissionableNodeParamsLargeEnhancedParts); diff --git a/src/lib/dnssd/platform/tests/TestPlatform.cpp b/src/lib/dnssd/platform/tests/TestPlatform.cpp index 3823e1b474c754..137060a598a563 100644 --- a/src/lib/dnssd/platform/tests/TestPlatform.cpp +++ b/src/lib/dnssd/platform/tests/TestPlatform.cpp @@ -86,7 +86,7 @@ CommissionAdvertisingParameters commissionableNodeParamsLargeBasic = .SetLongDiscriminator(22) .SetShortDiscriminator(2) .SetVendorId(chip::Optional(555)) - .SetDeviceType(chip::Optional(25)) + .SetDeviceType(chip::Optional(70000)) .SetCommissioningMode(CommissioningMode::kEnabledBasic) .SetDeviceName(chip::Optional("testy-test")) .SetPairingHint(chip::Optional(3)) @@ -104,7 +104,7 @@ test::ExpectedCall commissionableLargeBasic = test::ExpectedCall() .AddTxt("D", "22") .AddTxt("VP", "555+897") .AddTxt("CM", "1") - .AddTxt("DT", "25") + .AddTxt("DT", "70000") .AddTxt("DN", "testy-test") .AddTxt("RI", "id_that_spins") .AddTxt("PI", "Pair me") @@ -115,7 +115,7 @@ test::ExpectedCall commissionableLargeBasic = test::ExpectedCall() .AddSubtype("_S2") .AddSubtype("_L22") .AddSubtype("_V555") - .AddSubtype("_T25") + .AddSubtype("_T70000") .AddSubtype("_CM"); CommissionAdvertisingParameters commissionableNodeParamsLargeEnhanced = CommissionAdvertisingParameters() @@ -124,7 +124,7 @@ CommissionAdvertisingParameters commissionableNodeParamsLargeEnhanced = .SetLongDiscriminator(22) .SetShortDiscriminator(2) .SetVendorId(chip::Optional(555)) - .SetDeviceType(chip::Optional(25)) + .SetDeviceType(chip::Optional(70000)) .SetCommissioningMode(CommissioningMode::kEnabledEnhanced) .SetDeviceName(chip::Optional("testy-test")) .SetPairingHint(chip::Optional(3)) @@ -139,7 +139,7 @@ test::ExpectedCall commissionableLargeEnhanced = test::ExpectedCall() .AddTxt("D", "22") .AddTxt("VP", "555+897") .AddTxt("CM", "2") - .AddTxt("DT", "25") + .AddTxt("DT", "70000") .AddTxt("DN", "testy-test") .AddTxt("RI", "id_that_spins") .AddTxt("PI", "Pair me") @@ -147,7 +147,7 @@ test::ExpectedCall commissionableLargeEnhanced = test::ExpectedCall() .AddSubtype("_S2") .AddSubtype("_L22") .AddSubtype("_V555") - .AddSubtype("_T25") + .AddSubtype("_T70000") .AddSubtype("_CM"); void TestStub(nlTestSuite * inSuite, void * inContext) { diff --git a/src/lib/dnssd/tests/TestTxtFields.cpp b/src/lib/dnssd/tests/TestTxtFields.cpp index 91949c9f81d194..ef6d58931a80ab 100644 --- a/src/lib/dnssd/tests/TestTxtFields.cpp +++ b/src/lib/dnssd/tests/TestTxtFields.cpp @@ -174,8 +174,8 @@ void TestGetDeviceType(nlTestSuite * inSuite, void * inContext) strcpy(dt, "1234"); NL_TEST_ASSERT(inSuite, GetDeviceType(GetSpan(dt)) == 1234); - // overflow a uint16 - sprintf(dt, "%" PRIu32, static_cast(std::numeric_limits::max()) + 1); + // overflow a uint32 + sprintf(dt, "%" PRIu64, static_cast(std::numeric_limits::max()) + 1); NL_TEST_ASSERT(inSuite, GetDeviceType(GetSpan(dt)) == 0); } diff --git a/src/platform/fake/ConfigurationManagerImpl.h b/src/platform/fake/ConfigurationManagerImpl.h index 6348d20a98f996..01af1ac8caa0d0 100644 --- a/src/platform/fake/ConfigurationManagerImpl.h +++ b/src/platform/fake/ConfigurationManagerImpl.h @@ -69,7 +69,7 @@ class ConfigurationManagerImpl : public ConfigurationManager return CHIP_ERROR_NOT_IMPLEMENTED; } bool IsCommissionableDeviceTypeEnabled() override { return false; } - CHIP_ERROR GetDeviceTypeId(uint16_t & deviceType) override { return CHIP_ERROR_NOT_IMPLEMENTED; } + CHIP_ERROR GetDeviceTypeId(uint32_t & deviceType) override { return CHIP_ERROR_NOT_IMPLEMENTED; } bool IsCommissionableDeviceNameEnabled() override { return false; } CHIP_ERROR GetCommissionableDeviceName(char * buf, size_t bufSize) override { return CHIP_ERROR_NOT_IMPLEMENTED; } CHIP_ERROR GetInitialPairingHint(uint16_t & pairingHint) override { return CHIP_ERROR_NOT_IMPLEMENTED; } From 85b4e5c848d55c25296389750b4cceea0e735d22 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Tue, 15 Mar 2022 14:55:47 -0400 Subject: [PATCH 08/37] Add ota provider/requestor to build_examples.py (#16225) * Add ota provider/requestor to build_examples.py * Build provider/requestor without BLE to start * Noble is a standard variant - revert the default * Fix application name for build package generation * Restyle --- scripts/build/build/targets.py | 4 ++ scripts/build/builders/host.py | 15 ++++- scripts/build/testdata/build_linux_on_x64.txt | 56 +++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index d0c3763e06070d..d35d1905103e02 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -154,6 +154,10 @@ def HostTargets(): app_targets.append(target.Extend('minmdns', app=HostApp.MIN_MDNS)) app_targets.append(target.Extend('door-lock', app=HostApp.LOCK)) app_targets.append(target.Extend('shell', app=HostApp.SHELL)) + app_targets.append(target.Extend( + 'ota-provider', app=HostApp.OTA_PROVIDER, enable_ble=False)) + app_targets.append(target.Extend( + 'ota-requestor', app=HostApp.OTA_REQUESTOR, enable_ble=False)) # Possible build variants. Note that number of potential # builds is exponential here diff --git a/scripts/build/builders/host.py b/scripts/build/builders/host.py index 67fa96f008ac0a..0e3561b9fda821 100644 --- a/scripts/build/builders/host.py +++ b/scripts/build/builders/host.py @@ -32,6 +32,8 @@ class HostApp(Enum): TESTS = auto() SHELL = auto() CERT_TOOL = auto() + OTA_PROVIDER = auto() + OTA_REQUESTOR = auto() def ExamplePath(self): if self == HostApp.ALL_CLUSTERS: @@ -56,6 +58,10 @@ def ExamplePath(self): return 'shell/standalone' elif self == HostApp.CERT_TOOL: return '..' + elif self == HostApp.OTA_PROVIDER: + return 'ota-provider-app/linux' + elif self == HostApp.OTA_REQUESTOR: + return 'ota-requestor-app/linux' else: raise Exception('Unknown app type: %r' % self) @@ -95,6 +101,12 @@ def OutputNames(self): elif self == HostApp.CERT_TOOL: yield 'chip-cert' yield 'chip-cert.map' + elif self == HostApp.OTA_PROVIDER: + yield 'chip-ota-requestor-app' + yield 'chip-ota-requestor-app.map' + elif self == HostApp.OTA_REQUESTOR: + yield 'chip-ota-provider-app' + yield 'chip-ota-provider-app.map' else: raise Exception('Unknown app type: %r' % self) @@ -144,8 +156,7 @@ class HostBuilder(GnBuilder): def __init__(self, root, runner, app: HostApp, board=HostBoard.NATIVE, enable_ipv4=True, enable_ble=True, use_tsan=False, use_asan=False, separate_event_loop=True, test_group=False, use_libfuzzer=False, use_clang=False, - use_platform_mdns=False - ): + use_platform_mdns=False): super(HostBuilder, self).__init__( root=os.path.join(root, 'examples', app.ExamplePath()), runner=runner) diff --git a/scripts/build/testdata/build_linux_on_x64.txt b/scripts/build/testdata/build_linux_on_x64.txt index 62a44b15655273..44f1f6addfd6ea 100644 --- a/scripts/build/testdata/build_linux_on_x64.txt +++ b/scripts/build/testdata/build_linux_on_x64.txt @@ -41,6 +41,26 @@ bash -c ' PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/minimal-mdns '"'"'--args=chip_inet_config_enable_ipv4=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-minmdns-ipv6only' +# Generating linux-arm64-ota-provider +bash -c ' +PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ + gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-provider-app/linux '"'"'--args=chip_config_network_layer_ble=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-ota-provider' + +# Generating linux-arm64-ota-provider-ipv6only +bash -c ' +PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ + gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-provider-app/linux '"'"'--args=chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-ota-provider-ipv6only' + +# Generating linux-arm64-ota-requestor +bash -c ' +PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ + gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-requestor-app/linux '"'"'--args=chip_config_network_layer_ble=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-ota-requestor' + +# Generating linux-arm64-ota-requestor-ipv6only +bash -c ' +PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ + gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-requestor-app/linux '"'"'--args=chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=false target_cpu="arm64" is_clang=true chip_crypto="mbedtls" sysroot="SYSROOT_AARCH64"'"'"' {out}/linux-arm64-ota-requestor-ipv6only' + # Generating linux-arm64-shell bash -c ' PKG_CONFIG_PATH="SYSROOT_AARCH64/lib/aarch64-linux-gnu/pkgconfig" \ @@ -94,6 +114,18 @@ gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/exa # Generating linux-x64-minmdns-ipv6only gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/minimal-mdns --args=chip_inet_config_enable_ipv4=false {out}/linux-x64-minmdns-ipv6only +# Generating linux-x64-ota-provider +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-provider-app/linux --args=chip_config_network_layer_ble=false {out}/linux-x64-ota-provider + +# Generating linux-x64-ota-provider-ipv6only +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-provider-app/linux '--args=chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=false' {out}/linux-x64-ota-provider-ipv6only + +# Generating linux-x64-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-requestor-app/linux --args=chip_config_network_layer_ble=false {out}/linux-x64-ota-requestor + +# Generating linux-x64-ota-requestor-ipv6only +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/ota-requestor-app/linux '--args=chip_inet_config_enable_ipv4=false chip_config_network_layer_ble=false' {out}/linux-x64-ota-requestor-ipv6only + # Generating linux-x64-rpc-console gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/common/pigweed/rpc_console {out}/linux-x64-rpc-console @@ -142,6 +174,18 @@ ninja -C {out}/linux-arm64-minmdns # Building linux-arm64-minmdns-ipv6only ninja -C {out}/linux-arm64-minmdns-ipv6only +# Building linux-arm64-ota-provider +ninja -C {out}/linux-arm64-ota-provider + +# Building linux-arm64-ota-provider-ipv6only +ninja -C {out}/linux-arm64-ota-provider-ipv6only + +# Building linux-arm64-ota-requestor +ninja -C {out}/linux-arm64-ota-requestor + +# Building linux-arm64-ota-requestor-ipv6only +ninja -C {out}/linux-arm64-ota-requestor-ipv6only + # Building linux-arm64-shell ninja -C {out}/linux-arm64-shell @@ -187,6 +231,18 @@ ninja -C {out}/linux-x64-minmdns # Building linux-x64-minmdns-ipv6only ninja -C {out}/linux-x64-minmdns-ipv6only +# Building linux-x64-ota-provider +ninja -C {out}/linux-x64-ota-provider + +# Building linux-x64-ota-provider-ipv6only +ninja -C {out}/linux-x64-ota-provider-ipv6only + +# Building linux-x64-ota-requestor +ninja -C {out}/linux-x64-ota-requestor + +# Building linux-x64-ota-requestor-ipv6only +ninja -C {out}/linux-x64-ota-requestor-ipv6only + # Building linux-x64-rpc-console ninja -C {out}/linux-x64-rpc-console From 5370ccb331c07a9e0d0bae64a1be9a2577520a49 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Tue, 15 Mar 2022 15:48:35 -0400 Subject: [PATCH 09/37] chip-shell: properly null-terminate maxed line (#16013) * chip-shell: properly null-terminate maxed line * Refactor chip-shell ReadLine() * Apply Default ReadLine changes to MainLoopEFR32 * Shell ReadLine early continue if nothing read * Change shell default ReadLine() to return size_t Previously returned ssize_t, but no reason for this. --- src/lib/shell/MainLoopDefault.cpp | 99 ++++++++++++++----------------- src/lib/shell/MainLoopEFR32.cpp | 76 +++++++++++------------- 2 files changed, 81 insertions(+), 94 deletions(-) diff --git a/src/lib/shell/MainLoopDefault.cpp b/src/lib/shell/MainLoopDefault.cpp index 52127ec086f6eb..9b1f8434fa30f2 100644 --- a/src/lib/shell/MainLoopDefault.cpp +++ b/src/lib/shell/MainLoopDefault.cpp @@ -31,71 +31,64 @@ using chip::Shell::streamer_get; namespace { -ssize_t ReadLine(char * buffer, size_t max) +// max > 1 +size_t ReadLine(char * buffer, size_t max) { - ssize_t read = 0; - bool done = false; - char * inptr = buffer; + size_t line_sz = 0; - // Read in characters until we get a new line or we hit our max size. - while (((inptr - buffer) < static_cast(max)) && !done) + // Read in characters until we get a line ending or EOT. + for (bool done = false; !done;) { - if (read == 0) + // Stop reading if we've run out of space in the buffer (still need to null-terminate). + if (line_sz >= max - 1u) { - read = streamer_read(streamer_get(), inptr, 1); + buffer[max - 1] = '\0'; + break; + } + + if (streamer_read(streamer_get(), buffer + line_sz, 1) != 1) + { + continue; } - // Process any characters we just read in. - while (read > 0) + // Process character we just read. + switch (buffer[line_sz]) { - switch (*inptr) + case '\r': + case '\n': + streamer_printf(streamer_get(), "\r\n"); + buffer[line_sz] = '\0'; + line_sz++; + done = true; + break; + case 0x04: + // Do not accept EOT character (i.e. don't increment line_sz). + // Stop the read loop if the input is still empty. + if (line_sz == 0u) { - case '\r': - case '\n': - streamer_printf(streamer_get(), "\r\n"); - *inptr = 0; // null terminate - done = true; - break; - case 0x04: - // Delete EOT character. - inptr -= 1; - // Stop the read loop if the input is still empty. - if (inptr == buffer - 1) - { - done = true; - } - break; - case 0x7F: - // delete backspace character + 1 more - inptr -= 2; - if (inptr >= buffer - 1) - { - streamer_printf(streamer_get(), "\b \b"); - } - else - { - inptr = buffer - 1; - } - break; - default: - if (isprint(static_cast(*inptr)) || *inptr == '\t') - { - streamer_printf(streamer_get(), "%c", *inptr); - } - else - { - inptr--; - } - break; + done = true; } - - inptr++; - read--; + break; + case 0x7F: + // Do not accept backspace character (i.e. don't increment line_sz) and remove 1 additional character if it exists. + if (line_sz >= 1u) + { + streamer_printf(streamer_get(), "\b \b"); + line_sz--; + } + break; + default: + if (isprint(static_cast(buffer[line_sz])) || buffer[line_sz] == '\t') + { + streamer_printf(streamer_get(), "%c", buffer[line_sz]); + line_sz++; + } + break; } } // Return the length of the buffer including the terminating null byte. - return inptr - buffer; + return line_sz; } bool IsSeparator(char ch) @@ -198,7 +191,7 @@ void Engine::RunMainLoop() while (true) { char * line = static_cast(Platform::MemoryAlloc(CHIP_SHELL_MAX_LINE_SIZE)); - if (ReadLine(line, CHIP_SHELL_MAX_LINE_SIZE) == 0) + if (ReadLine(line, CHIP_SHELL_MAX_LINE_SIZE) == 0u) { // Stop loop in case of empty read (Ctrl-D). break; diff --git a/src/lib/shell/MainLoopEFR32.cpp b/src/lib/shell/MainLoopEFR32.cpp index 6b32d04bdd5ab1..7d993ccbad9966 100644 --- a/src/lib/shell/MainLoopEFR32.cpp +++ b/src/lib/shell/MainLoopEFR32.cpp @@ -34,58 +34,52 @@ namespace { constexpr const char kShellPrompt[] = "matterCli > "; +// max > 1 void ReadLine(char * buffer, size_t max) { - ssize_t read = 0; - bool done = false; - char * inptr = buffer; + size_t line_sz = 0; - // Read in characters until we get a new line or we hit our max size. - while (((inptr - buffer) < static_cast(max)) && !done) + // Read in characters until we get a line ending or EOT. + for (bool done = false; !done;) { + // Stop reading if we've run out of space in the buffer (still need to null-terminate). + if (line_sz >= max - 1u) + { + buffer[max - 1] = '\0'; + break; + } + chip::WaitForShellActivity(); - if (read == 0) + if (streamer_read(streamer_get(), buffer + line_sz, 1) != 1) { - read = streamer_read(streamer_get(), inptr, 1); + continue; } - // Process any characters we just read in. - while (read > 0) + // Process character we just read. + switch (buffer[line_sz]) { - switch (*inptr) + case '\r': + case '\n': + streamer_printf(streamer_get(), "\r\n"); + buffer[line_sz] = '\0'; + line_sz++; + done = true; + break; + case 0x7F: + // Do not accept backspace character (i.e. don't increment line_sz) and remove 1 additional character if it exists. + if (line_sz >= 1u) { - case '\r': - case '\n': - streamer_printf(streamer_get(), "\r\n"); - *inptr = 0; // null terminate - done = true; - break; - case 0x7F: - // delete backspace character + 1 more - inptr -= 2; - if (inptr >= buffer - 1) - { - streamer_printf(streamer_get(), "\b \b"); - } - else - { - inptr = buffer - 1; - } - break; - default: - if (isprint(static_cast(*inptr)) || *inptr == '\t') - { - streamer_printf(streamer_get(), "%c", *inptr); - } - else - { - inptr--; - } - break; + streamer_printf(streamer_get(), "\b \b"); + line_sz--; } - - inptr++; - read--; + break; + default: + if (isprint(static_cast(buffer[line_sz])) || buffer[line_sz] == '\t') + { + streamer_printf(streamer_get(), "%c", buffer[line_sz]); + line_sz++; + } + break; } } } From ca52c2eeb08eeca117880a72d18f0adc939fe112 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Tue, 15 Mar 2022 16:32:52 -0400 Subject: [PATCH 10/37] BLEEndPoint ref count overflow check (#16046) * BLEEndPoint ref count overflow check * Assert preconditions for BLEEndPoint ref counting --- src/ble/BLEEndPoint.cpp | 7 +++++++ src/ble/BLEEndPoint.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ble/BLEEndPoint.cpp b/src/ble/BLEEndPoint.cpp index 337e72e70151f2..cfbc86d491464b 100644 --- a/src/ble/BLEEndPoint.cpp +++ b/src/ble/BLEEndPoint.cpp @@ -586,8 +586,15 @@ CHIP_ERROR BLEEndPoint::Init(BleLayer * bleLayer, BLE_CONNECTION_OBJECT connObj, return CHIP_NO_ERROR; } +void BLEEndPoint::AddRef() +{ + VerifyOrDie(mRefCount < UINT32_MAX); + mRefCount++; +} + void BLEEndPoint::Release() { + VerifyOrDie(mRefCount > 0u); // Decrement the ref count. When it reaches zero, NULL out the pointer to the chip::System::Layer // object. This effectively declared the object free and ready for re-allocation. mRefCount--; diff --git a/src/ble/BLEEndPoint.h b/src/ble/BLEEndPoint.h index feee860ecbd7a3..7a50256ca064a4 100644 --- a/src/ble/BLEEndPoint.h +++ b/src/ble/BLEEndPoint.h @@ -114,7 +114,7 @@ class DLL_EXPORT BLEEndPoint uint32_t mRefCount; - void AddRef() { mRefCount++; } + void AddRef(); void Release(); // Private data members: From 2fd0f7f377e53b9a6282f7ff7cd4b561f681ca38 Mon Sep 17 00:00:00 2001 From: Eugen Feraru <35931915+hubTab@users.noreply.github.com> Date: Tue, 15 Mar 2022 15:59:46 -0500 Subject: [PATCH 11/37] Updated the door-lock-cluster.xml door-lock-cluster.xml to use the specifications type definitions, instead of using the enum* directly (#15528). (#15600) Fixed the ManualOperationEventMask comment. Rebuilt all-clusters-app, chip-tool, and re-generated zzz files. Note: In the review process, it has been noted that the GetLogRecordResponse command documents the EventType as an enum8. However the spec does not define the EventTypeEnum, which could be easily added to the spec as the Event Type is a textual description. --- .../all-clusters-app.matter | 12 +- .../door-lock-common/door-lock-app.matter | 10 +- .../tv-casting-common/tv-casting-app.matter | 12 +- .../zcl/data-model/chip/door-lock-cluster.xml | 33 +++-- .../data_model/controller-clusters.matter | 8 +- .../CHIPAttributeTLVValueDecoder.cpp | 2 +- .../CHIPAttributeTLVValueDecoder.mm | 2 +- .../CHIP/zap-generated/CHIPCallbackBridge.mm | 24 ++++ .../CHIPCallbackBridge_internal.h | 30 +++++ .../CHIP/zap-generated/CHIPClustersObjc.h | 6 + .../CHIP/zap-generated/CHIPClustersObjc.mm | 52 ++++---- .../zap-generated/CHIPTestClustersObjc.mm | 2 +- .../zap-generated/attributes/Accessors.cpp | 96 ++++++------- .../zap-generated/attributes/Accessors.h | 61 +++++---- .../app-common/zap-generated/cluster-enums.h | 8 ++ .../zap-generated/cluster-objects.h | 126 ++++++++++-------- .../app-common/zap-generated/enums.h | 6 + .../cluster/CHIPTestClustersObjc.mm | 2 +- .../zap-generated/cluster/Commands.h | 18 +-- .../cluster/logging/DataModelLogger.cpp | 24 ++-- 20 files changed, 333 insertions(+), 201 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 d39ad6fc0abb11..d1db961895a078 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 @@ -963,6 +963,12 @@ server cluster DoorLock = 257 { kForcedDoorOpenUnderDoorLockedCondition = 0x40; } + bitmap DlCredentialRuleMask : BITMAP8 { + kSingle = 0x1; + kDual = 0x2; + kTri = 0x4; + } + bitmap DlCredentialRulesSupport : BITMAP8 { kSingle = 0x1; kDual = 0x2; @@ -1154,13 +1160,13 @@ server cluster DoorLock = 257 { readonly attribute int8u minPINCodeLength = 24; readonly attribute int8u maxRFIDCodeLength = 25; readonly attribute int8u minRFIDCodeLength = 26; - readonly attribute bitmap8 credentialRulesSupport = 27; + readonly attribute DlCredentialRuleMask credentialRulesSupport = 27; attribute char_string<3> language = 33; attribute int32u autoRelockTime = 35; attribute int8u soundVolume = 36; attribute DlOperatingMode operatingMode = 37; - readonly attribute bitmap16 supportedOperatingModes = 38; - readonly attribute bitmap16 defaultConfigurationRegister = 39; + readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38; + readonly attribute DlDefaultConfigurationRegister defaultConfigurationRegister = 39; attribute boolean enableOneTouchLocking = 41; attribute boolean enableInsideStatusLED = 42; attribute boolean enablePrivacyModeButton = 43; diff --git a/examples/door-lock-app/door-lock-common/door-lock-app.matter b/examples/door-lock-app/door-lock-common/door-lock-app.matter index cd3a9880e1b3cb..e3b1801ed4055f 100644 --- a/examples/door-lock-app/door-lock-common/door-lock-app.matter +++ b/examples/door-lock-app/door-lock-common/door-lock-app.matter @@ -382,6 +382,12 @@ server cluster DoorLock = 257 { kForcedDoorOpenUnderDoorLockedCondition = 0x40; } + bitmap DlCredentialRuleMask : BITMAP8 { + kSingle = 0x1; + kDual = 0x2; + kTri = 0x4; + } + bitmap DlCredentialRulesSupport : BITMAP8 { kSingle = 0x1; kDual = 0x2; @@ -569,12 +575,12 @@ server cluster DoorLock = 257 { readonly attribute int8u minPINCodeLength = 24; readonly attribute int8u maxRFIDCodeLength = 25; readonly attribute int8u minRFIDCodeLength = 26; - readonly attribute bitmap8 credentialRulesSupport = 27; + readonly attribute DlCredentialRuleMask credentialRulesSupport = 27; attribute char_string<3> language = 33; attribute int32u autoRelockTime = 35; attribute int8u soundVolume = 36; attribute DlOperatingMode operatingMode = 37; - readonly attribute bitmap16 supportedOperatingModes = 38; + readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38; attribute boolean enableOneTouchLocking = 41; attribute boolean enablePrivacyModeButton = 43; attribute int8u wrongCodeEntryLimit = 48; diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 9dc39d2c85a8b0..95bfda66b02b6b 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -922,6 +922,12 @@ server cluster DoorLock = 257 { kForcedDoorOpenUnderDoorLockedCondition = 0x40; } + bitmap DlCredentialRuleMask : BITMAP8 { + kSingle = 0x1; + kDual = 0x2; + kTri = 0x4; + } + bitmap DlCredentialRulesSupport : BITMAP8 { kSingle = 0x1; kDual = 0x2; @@ -1110,13 +1116,13 @@ server cluster DoorLock = 257 { readonly attribute int8u numberOfHolidaySchedulesSupported = 22; readonly attribute int8u maxPINCodeLength = 23; readonly attribute int8u minPINCodeLength = 24; - readonly attribute bitmap8 credentialRulesSupport = 27; + readonly attribute DlCredentialRuleMask credentialRulesSupport = 27; attribute char_string<3> language = 33; attribute int32u autoRelockTime = 35; attribute int8u soundVolume = 36; attribute DlOperatingMode operatingMode = 37; - readonly attribute bitmap16 supportedOperatingModes = 38; - readonly attribute bitmap16 defaultConfigurationRegister = 39; + readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38; + readonly attribute DlDefaultConfigurationRegister defaultConfigurationRegister = 39; attribute boolean enableOneTouchLocking = 41; attribute boolean enableInsideStatusLED = 42; attribute boolean enablePrivacyModeButton = 43; diff --git a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml index 0af50b69c7be7f..bd05cae4f1e937 100644 --- a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml @@ -109,7 +109,7 @@ limitations under the License. MinRFIDCodeLength - CredentialRulesSupport + CredentialRulesSupport EnableLogging @@ -141,8 +141,8 @@ limitations under the License. - SupportedOperatingModes - DefaultConfigurationRegister + SupportedOperatingModes + DefaultConfigurationRegister EnableLocalProgramming @@ -163,7 +163,7 @@ limitations under the License. - + LocalProgrammingFeatures @@ -199,49 +199,49 @@ limitations under the License. - + AlarmMask - + KeypadOperationEventMask - + RemoteOperationEventMask - + ManualOperationEventMask - + RFIDOperationEventMask - + KeypadProgrammingEventMask - + RemoteProgrammingEventMask - + RFIDProgrammingEventMask @@ -663,6 +663,13 @@ limitations under the License. + + + + + + + @@ -882,7 +889,7 @@ limitations under the License. - + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 0ba1b9da8ad16f..f45c0e17f0d0fd 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -1249,6 +1249,12 @@ client cluster DoorLock = 257 { kForcedDoorOpenUnderDoorLockedCondition = 0x40; } + bitmap DlCredentialRuleMask : BITMAP8 { + kSingle = 0x1; + kDual = 0x2; + kTri = 0x4; + } + bitmap DlCredentialRulesSupport : BITMAP8 { kSingle = 0x1; kDual = 0x2; @@ -1440,7 +1446,7 @@ client cluster DoorLock = 257 { attribute int32u autoRelockTime = 35; attribute int8u soundVolume = 36; attribute DlOperatingMode operatingMode = 37; - readonly attribute bitmap16 supportedOperatingModes = 38; + readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38; attribute boolean enableOneTouchLocking = 41; attribute boolean enablePrivacyModeButton = 43; attribute int8u wrongCodeEntryLimit = 48; diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp index 0f1188b2e1d185..5a9a0ba4d8ebbc 100644 --- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp @@ -4631,7 +4631,7 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR std::string valueClassName = "java/lang/Integer"; std::string valueCtorSignature = "(I)V"; chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), - cppValue, value); + cppValue.Raw(), value); return value; } case Attributes::EnableOneTouchLocking::Id: { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm index 5330268f99c07d..e597ef73fa9ef4 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm @@ -3776,7 +3776,7 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader return nil; } NSNumber * _Nonnull value; - value = [NSNumber numberWithUnsignedShort:cppValue]; + value = [NSNumber numberWithUnsignedShort:cppValue.Raw()]; return value; } case Attributes::EnableOneTouchLocking::Id: { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm index c16fbfaf47b22c..aa1763580925de 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm @@ -3702,6 +3702,30 @@ } } +void CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge::OnSuccessFn( + void * context, chip::BitFlags value) +{ + NSNumber * _Nonnull objCValue; + objCValue = [NSNumber numberWithUnsignedShort:value.Raw()]; + DispatchSuccess(context, objCValue); +}; + +void CHIPDoorLockSupportedOperatingModesAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished(void * context) +{ + auto * self = static_cast(context); + if (!self->mQueue) { + return; + } + + if (self->mEstablishedHandler != nil) { + dispatch_async(self->mQueue, self->mEstablishedHandler); + // On failure, mEstablishedHandler will be cleaned up by our destructor, + // but we can clean it up earlier on successful subscription + // establishment. + self->mEstablishedHandler = nil; + } +} + void CHIPDoorLockServerGeneratedCommandListListAttributeCallbackBridge::OnSuccessFn( void * context, const chip::app::DataModel::DecodableList & value) { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h index 0a9748496d1942..3b13366ce5ef45 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge_internal.h @@ -564,6 +564,8 @@ typedef void (*ChannelLineupStructAttributeCallback)( void *, const chip::app::DataModel::Nullable &); typedef void (*ChannelCurrentChannelStructAttributeCallback)( void *, const chip::app::DataModel::Nullable &); +typedef void (*DoorLockSupportedOperatingModesAttributeCallback)( + void *, chip::BitFlags); typedef void (*GeneralCommissioningBasicCommissioningInfoStructAttributeCallback)( void *, const chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::DecodableType &); typedef void (*MediaPlaybackSampledPositionStructAttributeCallback)( @@ -3367,6 +3369,34 @@ class CHIPDiagnosticLogsAttributeListListAttributeCallbackSubscriptionBridge SubscriptionEstablishedHandler mEstablishedHandler; }; +class CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge + : public CHIPCallbackBridge +{ +public: + CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, + CHIPActionBlock action, bool keepAlive = false) : + CHIPCallbackBridge(queue, handler, action, OnSuccessFn, keepAlive){}; + + static void OnSuccessFn(void * context, chip::BitFlags value); +}; + +class CHIPDoorLockSupportedOperatingModesAttributeCallbackSubscriptionBridge + : public CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge +{ +public: + CHIPDoorLockSupportedOperatingModesAttributeCallbackSubscriptionBridge(dispatch_queue_t queue, ResponseHandler handler, + CHIPActionBlock action, + SubscriptionEstablishedHandler establishedHandler) : + CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge(queue, handler, action, true), + mEstablishedHandler(establishedHandler) + {} + + static void OnSubscriptionEstablished(void * context); + +private: + SubscriptionEstablishedHandler mEstablishedHandler; +}; + class CHIPDoorLockServerGeneratedCommandListListAttributeCallbackBridge : public CHIPCallbackBridge { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h index d87818164bc742..825eafe5bf6fb2 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h @@ -15575,6 +15575,12 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlAlarmMask) { CHIPDoorLockDlAlarmMaskForcedDoorOpenUnderDoorLockedCondition = 0x40, }; +typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlCredentialRuleMask) { + CHIPDoorLockDlCredentialRuleMaskSingle = 0x1, + CHIPDoorLockDlCredentialRuleMaskDual = 0x2, + CHIPDoorLockDlCredentialRuleMaskTri = 0x4, +}; + typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlCredentialRulesSupport) { CHIPDoorLockDlCredentialRulesSupportSingle = 0x1, CHIPDoorLockDlCredentialRulesSupportDual = 0x2, diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm index 508267c609f8c8..2347d7ff02d45b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm @@ -15672,12 +15672,13 @@ new CHIPDoorLockClusterDlOperatingModeAttributeCallbackBridge( - (void)readAttributeSupportedOperatingModesWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler { - new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) { - using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; - auto successFn = Callback::FromCancelable(success); - auto failureFn = Callback::FromCancelable(failure); - return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall); - }); + new CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge( + self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) { + using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; + auto successFn = Callback::FromCancelable(success); + auto failureFn = Callback::FromCancelable(failure); + return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall); + }); } - (void)subscribeAttributeSupportedOperatingModesWithMinInterval:(NSNumber * _Nonnull)minInterval @@ -15688,7 +15689,7 @@ - (void)subscribeAttributeSupportedOperatingModesWithMinInterval:(NSNumber * _No reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler { - new CHIPInt16uAttributeCallbackSubscriptionBridge( + new CHIPDoorLockSupportedOperatingModesAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) { @@ -15696,11 +15697,11 @@ new CHIPInt16uAttributeCallbackSubscriptionBridge( return CHIP_ERROR_INVALID_ARGUMENT; } using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; - auto successFn = Callback::FromCancelable(success); + auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall, [minInterval unsignedShortValue], [maxInterval unsignedShortValue], - CHIPInt16uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished, + CHIPDoorLockSupportedOperatingModesAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished, params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue], params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]); }, @@ -15713,23 +15714,24 @@ + (void)readAttributeSupportedOperatingModesWithAttributeCache:(CHIPAttributeCac completionHandler: (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler { - new CHIPInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) { - if (attributeCacheContainer.cppAttributeCache) { - chip::app::ConcreteAttributePath path; - using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; - path.mEndpointId = static_cast([endpoint unsignedShortValue]); - path.mClusterId = TypeInfo::GetClusterId(); - path.mAttributeId = TypeInfo::GetAttributeId(); - TypeInfo::DecodableType value; - CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value); - auto successFn = Callback::FromCancelable(success); - if (err == CHIP_NO_ERROR) { - successFn->mCall(successFn->mContext, value); + new CHIPDoorLockSupportedOperatingModesAttributeCallbackBridge( + queue, completionHandler, ^(Cancelable * success, Cancelable * failure) { + if (attributeCacheContainer.cppAttributeCache) { + chip::app::ConcreteAttributePath path; + using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; + path.mEndpointId = static_cast([endpoint unsignedShortValue]); + path.mClusterId = TypeInfo::GetClusterId(); + path.mAttributeId = TypeInfo::GetAttributeId(); + TypeInfo::DecodableType value; + CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value); + auto successFn = Callback::FromCancelable(success); + if (err == CHIP_NO_ERROR) { + successFn->mCall(successFn->mContext, value); + } + return err; } - return err; - } - return CHIP_ERROR_NOT_FOUND; - }); + return CHIP_ERROR_NOT_FOUND; + }); } - (void)readAttributeEnableOneTouchLockingWithCompletionHandler:(void (^)(NSNumber * _Nullable value, diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm index 73e16e163c828f..38a0b370fcf076 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm @@ -5117,7 +5117,7 @@ new CHIPDefaultSuccessCallbackBridge( ListFreer listFreer; using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; TypeInfo::Type cppValue; - cppValue = value.unsignedShortValue; + cppValue = static_cast>(value.unsignedShortValue); auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); return self.cppCluster.WriteAttribute(cppValue, successFn->mContext, successFn->mCall, failureFn->mCall); diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp index 014cec69b4c5b3..715630b90fea87 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp @@ -14271,9 +14271,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) namespace CredentialRulesSupport { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14285,9 +14285,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14487,9 +14487,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlOp namespace SupportedOperatingModes { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14501,9 +14501,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14518,9 +14518,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace DefaultConfigurationRegister { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14532,9 +14532,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14673,9 +14673,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value) namespace LocalProgrammingFeatures { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14687,9 +14687,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14859,9 +14859,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace AlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14873,9 +14873,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14890,9 +14890,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace KeypadOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14904,9 +14904,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14921,9 +14921,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace RemoteOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14935,9 +14935,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14952,9 +14952,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace ManualOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14966,9 +14966,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -14983,9 +14983,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace RFIDOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -14997,9 +14997,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -15014,9 +15014,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace KeypadProgrammingEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -15028,9 +15028,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -15045,9 +15045,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace RemoteProgrammingEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -15059,9 +15059,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -15076,9 +15076,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) namespace RFIDProgrammingEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::DoorLock::Id, Id, readable, sizeof(temp)); @@ -15090,9 +15090,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits>; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h index 7928ae7778d7b5..8c36603379e522 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h @@ -2561,8 +2561,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); } // namespace MinRFIDCodeLength namespace CredentialRulesSupport { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlCredentialRuleMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace CredentialRulesSupport namespace EnableLogging { @@ -2596,13 +2597,16 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::app::Clusters::DoorLock::DlOp } // namespace OperatingMode namespace SupportedOperatingModes { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlSupportedOperatingModes +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace SupportedOperatingModes namespace DefaultConfigurationRegister { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus +Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlDefaultConfigurationRegister +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace DefaultConfigurationRegister namespace EnableLocalProgramming { @@ -2626,8 +2630,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value); } // namespace EnablePrivacyModeButton namespace LocalProgrammingFeatures { -EmberAfStatus Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8 -EmberAfStatus Set(chip::EndpointId endpoint, uint8_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlLocalProgrammingFeatures +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace LocalProgrammingFeatures namespace WrongCodeEntryLimit { @@ -2656,43 +2661,51 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); } // namespace ExpiringUserTimeout namespace AlarmMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, chip::BitFlags * value); // DlAlarmMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace AlarmMask namespace KeypadOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlKeypadOperationEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace KeypadOperationEventMask namespace RemoteOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlRemoteOperationEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace RemoteOperationEventMask namespace ManualOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlManualOperationEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace ManualOperationEventMask namespace RFIDOperationEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlRFIDOperationEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace RFIDOperationEventMask namespace KeypadProgrammingEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlKeypadOperationEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace KeypadProgrammingEventMask namespace RemoteProgrammingEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus +Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlRemoteProgrammingEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace RemoteProgrammingEventMask namespace RFIDProgrammingEventMask { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // bitmap16 -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, + chip::BitFlags * value); // DlRFIDProgrammingEventMask +EmberAfStatus Set(chip::EndpointId endpoint, chip::BitFlags value); } // namespace RFIDProgrammingEventMask namespace FeatureMap { 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 2471223302da32..d3207eef9140c3 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 @@ -1188,6 +1188,14 @@ enum class DlAlarmMask : uint16_t kForcedDoorOpenUnderDoorLockedCondition = 0x40, }; +// Bitmap for DlCredentialRuleMask +enum class DlCredentialRuleMask : uint8_t +{ + kSingle = 0x1, + kDual = 0x2, + kTri = 0x4, +}; + // Bitmap for DlCredentialRulesSupport enum class DlCredentialRulesSupport : uint8_t { 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 0dd2d68e998832..7e0f841c37c3bb 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 @@ -19397,9 +19397,9 @@ struct TypeInfo namespace CredentialRulesSupport { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::CredentialRulesSupport::Id; } @@ -19482,9 +19482,9 @@ struct TypeInfo namespace SupportedOperatingModes { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::SupportedOperatingModes::Id; } @@ -19494,9 +19494,9 @@ struct TypeInfo namespace DefaultConfigurationRegister { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::DefaultConfigurationRegister::Id; } @@ -19554,9 +19554,9 @@ struct TypeInfo namespace LocalProgrammingFeatures { struct TypeInfo { - using Type = uint8_t; - using DecodableType = uint8_t; - using DecodableArgType = uint8_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::LocalProgrammingFeatures::Id; } @@ -19626,9 +19626,9 @@ struct TypeInfo namespace AlarmMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::AlarmMask::Id; } @@ -19638,9 +19638,9 @@ struct TypeInfo namespace KeypadOperationEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::KeypadOperationEventMask::Id; } @@ -19650,9 +19650,9 @@ struct TypeInfo namespace RemoteOperationEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RemoteOperationEventMask::Id; } @@ -19662,9 +19662,9 @@ struct TypeInfo namespace ManualOperationEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::ManualOperationEventMask::Id; } @@ -19674,9 +19674,9 @@ struct TypeInfo namespace RFIDOperationEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RFIDOperationEventMask::Id; } @@ -19686,9 +19686,9 @@ struct TypeInfo namespace KeypadProgrammingEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::KeypadProgrammingEventMask::Id; } @@ -19698,9 +19698,9 @@ struct TypeInfo namespace RemoteProgrammingEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RemoteProgrammingEventMask::Id; } @@ -19710,9 +19710,9 @@ struct TypeInfo namespace RFIDProgrammingEventMask { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::BitFlags; + using DecodableType = chip::BitFlags; + using DecodableArgType = chip::BitFlags; static constexpr ClusterId GetClusterId() { return Clusters::DoorLock::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::RFIDProgrammingEventMask::Id; } @@ -19805,38 +19805,50 @@ struct TypeInfo static_cast(0); Attributes::NumberOfHolidaySchedulesSupported::TypeInfo::DecodableType numberOfHolidaySchedulesSupported = static_cast(0); - Attributes::MaxPINCodeLength::TypeInfo::DecodableType maxPINCodeLength = static_cast(0); - Attributes::MinPINCodeLength::TypeInfo::DecodableType minPINCodeLength = static_cast(0); - Attributes::MaxRFIDCodeLength::TypeInfo::DecodableType maxRFIDCodeLength = static_cast(0); - Attributes::MinRFIDCodeLength::TypeInfo::DecodableType minRFIDCodeLength = static_cast(0); - Attributes::CredentialRulesSupport::TypeInfo::DecodableType credentialRulesSupport = static_cast(0); - Attributes::EnableLogging::TypeInfo::DecodableType enableLogging = static_cast(0); + Attributes::MaxPINCodeLength::TypeInfo::DecodableType maxPINCodeLength = static_cast(0); + Attributes::MinPINCodeLength::TypeInfo::DecodableType minPINCodeLength = static_cast(0); + Attributes::MaxRFIDCodeLength::TypeInfo::DecodableType maxRFIDCodeLength = static_cast(0); + Attributes::MinRFIDCodeLength::TypeInfo::DecodableType minRFIDCodeLength = static_cast(0); + Attributes::CredentialRulesSupport::TypeInfo::DecodableType credentialRulesSupport = + static_cast>(0); + Attributes::EnableLogging::TypeInfo::DecodableType enableLogging = static_cast(0); Attributes::Language::TypeInfo::DecodableType language; Attributes::LEDSettings::TypeInfo::DecodableType LEDSettings = static_cast(0); Attributes::AutoRelockTime::TypeInfo::DecodableType autoRelockTime = static_cast(0); Attributes::SoundVolume::TypeInfo::DecodableType soundVolume = static_cast(0); Attributes::OperatingMode::TypeInfo::DecodableType operatingMode = static_cast(0); - Attributes::SupportedOperatingModes::TypeInfo::DecodableType supportedOperatingModes = static_cast(0); - Attributes::DefaultConfigurationRegister::TypeInfo::DecodableType defaultConfigurationRegister = static_cast(0); - Attributes::EnableLocalProgramming::TypeInfo::DecodableType enableLocalProgramming = static_cast(0); - Attributes::EnableOneTouchLocking::TypeInfo::DecodableType enableOneTouchLocking = static_cast(0); - Attributes::EnableInsideStatusLED::TypeInfo::DecodableType enableInsideStatusLED = static_cast(0); - Attributes::EnablePrivacyModeButton::TypeInfo::DecodableType enablePrivacyModeButton = static_cast(0); - Attributes::LocalProgrammingFeatures::TypeInfo::DecodableType localProgrammingFeatures = static_cast(0); + Attributes::SupportedOperatingModes::TypeInfo::DecodableType supportedOperatingModes = + static_cast>(0); + Attributes::DefaultConfigurationRegister::TypeInfo::DecodableType defaultConfigurationRegister = + static_cast>(0); + Attributes::EnableLocalProgramming::TypeInfo::DecodableType enableLocalProgramming = static_cast(0); + Attributes::EnableOneTouchLocking::TypeInfo::DecodableType enableOneTouchLocking = static_cast(0); + Attributes::EnableInsideStatusLED::TypeInfo::DecodableType enableInsideStatusLED = static_cast(0); + Attributes::EnablePrivacyModeButton::TypeInfo::DecodableType enablePrivacyModeButton = static_cast(0); + Attributes::LocalProgrammingFeatures::TypeInfo::DecodableType localProgrammingFeatures = + static_cast>(0); Attributes::WrongCodeEntryLimit::TypeInfo::DecodableType wrongCodeEntryLimit = static_cast(0); Attributes::UserCodeTemporaryDisableTime::TypeInfo::DecodableType userCodeTemporaryDisableTime = static_cast(0); Attributes::SendPINOverTheAir::TypeInfo::DecodableType sendPINOverTheAir = static_cast(0); Attributes::RequirePINforRemoteOperation::TypeInfo::DecodableType requirePINforRemoteOperation = static_cast(0); Attributes::ExpiringUserTimeout::TypeInfo::DecodableType expiringUserTimeout = static_cast(0); - Attributes::AlarmMask::TypeInfo::DecodableType alarmMask = static_cast(0); - Attributes::KeypadOperationEventMask::TypeInfo::DecodableType keypadOperationEventMask = static_cast(0); - Attributes::RemoteOperationEventMask::TypeInfo::DecodableType remoteOperationEventMask = static_cast(0); - Attributes::ManualOperationEventMask::TypeInfo::DecodableType manualOperationEventMask = static_cast(0); - Attributes::RFIDOperationEventMask::TypeInfo::DecodableType RFIDOperationEventMask = static_cast(0); - Attributes::KeypadProgrammingEventMask::TypeInfo::DecodableType keypadProgrammingEventMask = static_cast(0); - Attributes::RemoteProgrammingEventMask::TypeInfo::DecodableType remoteProgrammingEventMask = static_cast(0); - Attributes::RFIDProgrammingEventMask::TypeInfo::DecodableType RFIDProgrammingEventMask = static_cast(0); + Attributes::AlarmMask::TypeInfo::DecodableType alarmMask = + static_cast>(0); + Attributes::KeypadOperationEventMask::TypeInfo::DecodableType keypadOperationEventMask = + static_cast>(0); + Attributes::RemoteOperationEventMask::TypeInfo::DecodableType remoteOperationEventMask = + static_cast>(0); + Attributes::ManualOperationEventMask::TypeInfo::DecodableType manualOperationEventMask = + static_cast>(0); + Attributes::RFIDOperationEventMask::TypeInfo::DecodableType RFIDOperationEventMask = + static_cast>(0); + Attributes::KeypadProgrammingEventMask::TypeInfo::DecodableType keypadProgrammingEventMask = + static_cast>(0); + Attributes::RemoteProgrammingEventMask::TypeInfo::DecodableType remoteProgrammingEventMask = + static_cast>(0); + Attributes::RFIDProgrammingEventMask::TypeInfo::DecodableType RFIDProgrammingEventMask = + static_cast>(0); Attributes::ServerGeneratedCommandList::TypeInfo::DecodableType serverGeneratedCommandList; Attributes::ClientGeneratedCommandList::TypeInfo::DecodableType clientGeneratedCommandList; Attributes::AttributeList::TypeInfo::DecodableType attributeList; diff --git a/zzz_generated/app-common/app-common/zap-generated/enums.h b/zzz_generated/app-common/app-common/zap-generated/enums.h index 5a0bdf956c7cef..1fada60b916043 100644 --- a/zzz_generated/app-common/app-common/zap-generated/enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/enums.h @@ -583,6 +583,12 @@ enum EmberAfWiFiVersionType : uint8_t #define EMBER_AF_DL_ALARM_MASK_FRONT_ESCUTCHEON_REMOVED_FROM_MAIN_OFFSET (5) #define EMBER_AF_DL_ALARM_MASK_FORCED_DOOR_OPEN_UNDER_DOOR_LOCKED_CONDITION (64) #define EMBER_AF_DL_ALARM_MASK_FORCED_DOOR_OPEN_UNDER_DOOR_LOCKED_CONDITION_OFFSET (6) +#define EMBER_AF_DL_CREDENTIAL_RULE_MASK_SINGLE (1) +#define EMBER_AF_DL_CREDENTIAL_RULE_MASK_SINGLE_OFFSET (0) +#define EMBER_AF_DL_CREDENTIAL_RULE_MASK_DUAL (2) +#define EMBER_AF_DL_CREDENTIAL_RULE_MASK_DUAL_OFFSET (1) +#define EMBER_AF_DL_CREDENTIAL_RULE_MASK_TRI (4) +#define EMBER_AF_DL_CREDENTIAL_RULE_MASK_TRI_OFFSET (2) #define EMBER_AF_DL_CREDENTIAL_RULES_SUPPORT_SINGLE (1) #define EMBER_AF_DL_CREDENTIAL_RULES_SUPPORT_SINGLE_OFFSET (0) #define EMBER_AF_DL_CREDENTIAL_RULES_SUPPORT_DUAL (2) diff --git a/zzz_generated/chip-tool-darwin/zap-generated/cluster/CHIPTestClustersObjc.mm b/zzz_generated/chip-tool-darwin/zap-generated/cluster/CHIPTestClustersObjc.mm index 73e16e163c828f..38a0b370fcf076 100644 --- a/zzz_generated/chip-tool-darwin/zap-generated/cluster/CHIPTestClustersObjc.mm +++ b/zzz_generated/chip-tool-darwin/zap-generated/cluster/CHIPTestClustersObjc.mm @@ -5117,7 +5117,7 @@ new CHIPDefaultSuccessCallbackBridge( ListFreer listFreer; using TypeInfo = DoorLock::Attributes::SupportedOperatingModes::TypeInfo; TypeInfo::Type cppValue; - cppValue = value.unsignedShortValue; + cppValue = static_cast>(value.unsignedShortValue); auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); return self.cppCluster.WriteAttribute(cppValue, successFn->mContext, successFn->mCall, failureFn->mCall); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 6aae4c8c2579f4..921be7ceddb760 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -8767,7 +8767,7 @@ class WriteDoorLockLocalProgrammingFeatures : public WriteAttribute } private: - uint8_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockWrongCodeEntryLimit : public WriteAttribute @@ -8928,7 +8928,7 @@ class WriteDoorLockAlarmMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockKeypadOperationEventMask : public WriteAttribute @@ -8955,7 +8955,7 @@ class WriteDoorLockKeypadOperationEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockRemoteOperationEventMask : public WriteAttribute @@ -8982,7 +8982,7 @@ class WriteDoorLockRemoteOperationEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockManualOperationEventMask : public WriteAttribute @@ -9009,7 +9009,7 @@ class WriteDoorLockManualOperationEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockRFIDOperationEventMask : public WriteAttribute @@ -9036,7 +9036,7 @@ class WriteDoorLockRFIDOperationEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockKeypadProgrammingEventMask : public WriteAttribute @@ -9063,7 +9063,7 @@ class WriteDoorLockKeypadProgrammingEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockRemoteProgrammingEventMask : public WriteAttribute @@ -9090,7 +9090,7 @@ class WriteDoorLockRemoteProgrammingEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; class WriteDoorLockRFIDProgrammingEventMask : public WriteAttribute @@ -9117,7 +9117,7 @@ class WriteDoorLockRFIDProgrammingEventMask : public WriteAttribute } private: - uint16_t mValue; + chip::BitFlags mValue; }; /*----------------------------------------------------------------------------*\ 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 0ecc381437c736..e6599f539d8f63 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -5582,7 +5582,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("MinRFIDCodeLength", 1, value); } case DoorLock::Attributes::CredentialRulesSupport::Id: { - uint8_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("CredentialRulesSupport", 1, value); } @@ -5617,12 +5617,12 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("OperatingMode", 1, value); } case DoorLock::Attributes::SupportedOperatingModes::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("SupportedOperatingModes", 1, value); } case DoorLock::Attributes::DefaultConfigurationRegister::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("DefaultConfigurationRegister", 1, value); } @@ -5647,7 +5647,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("EnablePrivacyModeButton", 1, value); } case DoorLock::Attributes::LocalProgrammingFeatures::Id: { - uint8_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("LocalProgrammingFeatures", 1, value); } @@ -5677,42 +5677,42 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("ExpiringUserTimeout", 1, value); } case DoorLock::Attributes::AlarmMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("AlarmMask", 1, value); } case DoorLock::Attributes::KeypadOperationEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("KeypadOperationEventMask", 1, value); } case DoorLock::Attributes::RemoteOperationEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("RemoteOperationEventMask", 1, value); } case DoorLock::Attributes::ManualOperationEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("ManualOperationEventMask", 1, value); } case DoorLock::Attributes::RFIDOperationEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("RFIDOperationEventMask", 1, value); } case DoorLock::Attributes::KeypadProgrammingEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("KeypadProgrammingEventMask", 1, value); } case DoorLock::Attributes::RemoteProgrammingEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("RemoteProgrammingEventMask", 1, value); } case DoorLock::Attributes::RFIDProgrammingEventMask::Id: { - uint16_t value; + chip::BitFlags value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("RFIDProgrammingEventMask", 1, value); } From b4fd95f6ace525eb99443c1666aaa2fb27cd83fd Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Tue, 15 Mar 2022 17:10:11 -0400 Subject: [PATCH 12/37] Ensure ResolverProxy maintains callbacks until init is called. Ensure server app always initializes the global resolver (#16230) --- src/app/server/Server.cpp | 2 ++ src/lib/dnssd/ResolverProxy.h | 28 +++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/app/server/Server.cpp b/src/app/server/Server.cpp index 229b4786c648a0..949affe999294d 100644 --- a/src/app/server/Server.cpp +++ b/src/app/server/Server.cpp @@ -197,6 +197,8 @@ CHIP_ERROR Server::Init(AppDelegate * delegate, uint16_t secureServicePort, uint err = chip::app::InteractionModelEngine::GetInstance()->Init(&mExchangeMgr); SuccessOrExit(err); + chip::Dnssd::Resolver::Instance().Init(DeviceLayer::UDPEndPointManager()); + #if CHIP_CONFIG_ENABLE_SERVER_IM_EVENT // Initialize event logging subsystem { diff --git a/src/lib/dnssd/ResolverProxy.h b/src/lib/dnssd/ResolverProxy.h index 00bb397a9cd4f0..57690c2dbb7920 100644 --- a/src/lib/dnssd/ResolverProxy.h +++ b/src/lib/dnssd/ResolverProxy.h @@ -86,6 +86,24 @@ class ResolverProxy : public Resolver ReturnErrorOnFailure(chip::Dnssd::Resolver::Instance().Init(udpEndPoint)); VerifyOrReturnError(mDelegate == nullptr, CHIP_ERROR_INCORRECT_STATE); mDelegate = chip::Platform::New(); + + if (mDelegate != nullptr) + { + if (mPreInitOperationalDelegate != nullptr) + { + ChipLogProgress(Discovery, "Setting operational delegate post init"); + mDelegate->SetOperationalDelegate(mPreInitOperationalDelegate); + mPreInitOperationalDelegate = nullptr; + } + + if (mPreInitCommissioningDelegate != nullptr) + { + ChipLogProgress(Discovery, "Setting commissioning delegate post init"); + mDelegate->SetCommissioningDelegate(mPreInitCommissioningDelegate); + mPreInitCommissioningDelegate = nullptr; + } + } + return mDelegate != nullptr ? CHIP_NO_ERROR : CHIP_ERROR_NO_MEMORY; } @@ -97,7 +115,8 @@ class ResolverProxy : public Resolver } else { - ChipLogError(Discovery, "Failed to proxy operational discovery: missing delegate"); + ChipLogProgress(Discovery, "Delaying proxy of operational discovery: missing delegate"); + mPreInitOperationalDelegate = delegate; } } @@ -109,7 +128,8 @@ class ResolverProxy : public Resolver } else { - ChipLogError(Discovery, "Failed to proxy commissioning discovery: missing delegate"); + ChipLogError(Discovery, "Delaying proxy of commissioning discovery: missing delegate"); + mPreInitCommissioningDelegate = delegate; } } @@ -127,7 +147,9 @@ class ResolverProxy : public Resolver CHIP_ERROR FindCommissioners(DiscoveryFilter filter = DiscoveryFilter()) override; private: - ResolverDelegateProxy * mDelegate = nullptr; + ResolverDelegateProxy * mDelegate = nullptr; + OperationalResolveDelegate * mPreInitOperationalDelegate = nullptr; + CommissioningResolveDelegate * mPreInitCommissioningDelegate = nullptr; }; } // namespace Dnssd From 046100bb9aacb120111208564fc5a6b2e6a1b282 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Tue, 15 Mar 2022 17:49:58 -0400 Subject: [PATCH 13/37] Ensure null-termination in Darwin DNS SD (#16043) * Ensure null-termination in Darwin DNS SD Null-termination was not ensured after strncpy. * Rearrange style * Apply suggestions from code review Use CopyString instead of strncpy. Co-authored-by: Boris Zbarsky * Add missing header for Darwin DnssdImpl * Use C header for strcmp instead of C++ In src/platform/Darwin/DnssdImpl.h. Co-authored-by: Boris Zbarsky --- src/platform/Darwin/DnssdImpl.h | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/platform/Darwin/DnssdImpl.h b/src/platform/Darwin/DnssdImpl.h index 0c002ba9de9dd6..a23470c232c638 100644 --- a/src/platform/Darwin/DnssdImpl.h +++ b/src/platform/Darwin/DnssdImpl.h @@ -19,6 +19,9 @@ #include #include +#include + +#include #include #include @@ -47,10 +50,11 @@ struct RegisterContext : public GenericContext RegisterContext(const char * sType, DnssdPublishCallback cb, void * cbContext) { - type = ContextType::Register; - strncpy(mType, sType, sizeof(mType)); + type = ContextType::Register; context = cbContext; callback = cb; + + Platform::CopyString(mType, sType); } bool matches(const char * sType) { return (strcmp(mType, sType) == 0); } @@ -80,11 +84,12 @@ struct ResolveContext : public GenericContext ResolveContext(void * cbContext, DnssdResolveCallback cb, const char * cbContextName, chip::Inet::IPAddressType cbAddressType) { - type = ContextType::Resolve; - context = cbContext; - callback = cb; - strncpy(name, cbContextName, sizeof(name)); + type = ContextType::Resolve; + context = cbContext; + callback = cb; addressType = cbAddressType; + + Platform::CopyString(name, cbContextName); } }; @@ -105,7 +110,8 @@ struct GetAddrInfoContext : public GenericContext callback = cb; interfaceId = cbInterfaceId; port = cbContextPort; - strncpy(name, cbContextName, sizeof(name)); + + Platform::CopyString(name, cbContextName); } }; From ae2f98ca98d751f22d5a9b07972d945a3269ef8c Mon Sep 17 00:00:00 2001 From: "Josh V [Apple]" Date: Tue, 15 Mar 2022 21:48:27 -0700 Subject: [PATCH 14/37] Add user input to UserPrompt function. (#16190) --- src/app/tests/suites/TestLogCommands.yaml | 22 +++++++++++++++++++ .../tests/suites/commands/log/LogCommands.cpp | 17 ++++++++++++-- .../tests/suites/commands/log/LogCommands.h | 2 +- .../clusters/LogCommands.js | 2 +- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/app/tests/suites/TestLogCommands.yaml b/src/app/tests/suites/TestLogCommands.yaml index fc9a1ebf37c1a0..8d9a1b61f5239a 100644 --- a/src/app/tests/suites/TestLogCommands.yaml +++ b/src/app/tests/suites/TestLogCommands.yaml @@ -36,6 +36,28 @@ tests: - name: "message" value: "This is a simple message" + - label: "Do a simple user prompt message. Expect 'y' to pass." + cluster: "LogCommands" + command: "UserPrompt" + disabled: true + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Do a simple user prompt message. Use enter to coninue." + cluster: "LogCommands" + command: "UserPrompt" + disabled: true + arguments: + values: + - name: "message" + value: "Please enter enter to continue" + - name: "expectedValue" + value: "" + - label: "Do a simple user prompt message" cluster: "LogCommands" command: "UserPrompt" diff --git a/src/app/tests/suites/commands/log/LogCommands.cpp b/src/app/tests/suites/commands/log/LogCommands.cpp index 1aa8ef3b0de5b2..b19bf857bc9d5e 100644 --- a/src/app/tests/suites/commands/log/LogCommands.cpp +++ b/src/app/tests/suites/commands/log/LogCommands.cpp @@ -17,6 +17,7 @@ */ #include "LogCommands.h" +#include CHIP_ERROR LogCommands::Log(const char * message) { @@ -24,8 +25,20 @@ CHIP_ERROR LogCommands::Log(const char * message) return ContinueOnChipMainThread(CHIP_NO_ERROR); } -CHIP_ERROR LogCommands::UserPrompt(const char * message) +CHIP_ERROR LogCommands::UserPrompt(const char * message, const char * expectedValue) { + CHIP_ERROR err = CHIP_NO_ERROR; + std::string line; ChipLogDetail(chipTool, "USER_PROMPT: %s", message); - return ContinueOnChipMainThread(CHIP_NO_ERROR); + if (expectedValue == nullptr) + { + return ContinueOnChipMainThread(err); + } + + std::getline(std::cin, line); + if (line != expectedValue) + { + err = CHIP_ERROR_INVALID_ARGUMENT; + } + return ContinueOnChipMainThread(err); } diff --git a/src/app/tests/suites/commands/log/LogCommands.h b/src/app/tests/suites/commands/log/LogCommands.h index 3e6159921525f3..7eed6a09b3dbd5 100644 --- a/src/app/tests/suites/commands/log/LogCommands.h +++ b/src/app/tests/suites/commands/log/LogCommands.h @@ -29,5 +29,5 @@ class LogCommands virtual CHIP_ERROR ContinueOnChipMainThread(CHIP_ERROR err) = 0; CHIP_ERROR Log(const char * message); - CHIP_ERROR UserPrompt(const char * message); + CHIP_ERROR UserPrompt(const char * message, const char * expectedValue = nullptr); }; diff --git a/src/app/zap-templates/common/simulated-clusters/clusters/LogCommands.js b/src/app/zap-templates/common/simulated-clusters/clusters/LogCommands.js index aba2675c345582..107a2548fbec3f 100644 --- a/src/app/zap-templates/common/simulated-clusters/clusters/LogCommands.js +++ b/src/app/zap-templates/common/simulated-clusters/clusters/LogCommands.js @@ -32,7 +32,7 @@ const Log = { const UserPrompt = { name : 'UserPrompt', - arguments : [ { type : 'CHAR_STRING', name : 'message' } ], + arguments : [ { type : 'CHAR_STRING', name : 'message' }, { type : 'CHAR_STRING', name : 'expectedValue', isOptional : true } ], response : { arguments : [] } }; From d772f5fef516822e929ced774f9ec06607c40dbb Mon Sep 17 00:00:00 2001 From: C Freeman Date: Wed, 16 Mar 2022 01:41:55 -0400 Subject: [PATCH 15/37] Remove some unused commisisoning states. (#16263) --- src/controller/AutoCommissioner.cpp | 3 --- src/controller/CHIPDeviceController.cpp | 3 --- src/controller/CommissioningDelegate.h | 4 ---- 3 files changed, 10 deletions(-) diff --git a/src/controller/AutoCommissioner.cpp b/src/controller/AutoCommissioner.cpp index 56fd26caf7ac10..5947a8d3220a59 100644 --- a/src/controller/AutoCommissioner.cpp +++ b/src/controller/AutoCommissioner.cpp @@ -201,9 +201,6 @@ CommissioningStage AutoCommissioner::GetNextCommissioningStage(CommissioningStag case CommissioningStage::kSendComplete: return CommissioningStage::kCleanup; - // Currently unimplemented. - case CommissioningStage::kConfigACL: - return CommissioningStage::kError; // Neither of these have a next stage so return kError; case CommissioningStage::kCleanup: case CommissioningStage::kError: diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index 7a26eada2a22ba..8fc7096f35658a 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -2002,9 +2002,6 @@ void DeviceCommissioner::PerformCommissioningStep(DeviceProxy * proxy, Commissio SendOperationalCertificate(proxy, params.GetNoc().Value(), params.GetIcac().Value(), params.GetIpk().Value(), params.GetAdminSubject().Value()); break; - case CommissioningStage::kConfigACL: - // TODO: Implement - break; case CommissioningStage::kWiFiNetworkSetup: { if (!params.GetWiFiCredentials().HasValue()) { diff --git a/src/controller/CommissioningDelegate.h b/src/controller/CommissioningDelegate.h index b75168a9d47e3e..4eb1825aeb36fb 100644 --- a/src/controller/CommissioningDelegate.h +++ b/src/controller/CommissioningDelegate.h @@ -33,9 +33,6 @@ enum CommissioningStage : uint8_t kSecurePairing, kReadCommissioningInfo, kArmFailsafe, - // kConfigTime, // NOT YET IMPLEMENTED - // kConfigTimeZone, // NOT YET IMPLEMENTED - // kConfigDST, // NOT YET IMPLEMENTED kConfigRegulatory, kSendPAICertificateRequest, kSendDACCertificateRequest, @@ -52,7 +49,6 @@ enum CommissioningStage : uint8_t kFindOperational, kSendComplete, kCleanup, - kConfigACL, }; struct WiFiCredentials From 570a5f51aba5709b366f149e0365bbd6ffe79f2f Mon Sep 17 00:00:00 2001 From: Austin Hsieh <77706079+austinh0@users.noreply.github.com> Date: Tue, 15 Mar 2022 22:46:03 -0700 Subject: [PATCH 16/37] [Android] Return JSON in wildcard interactions (#16258) * Return JSON to Java layer * Restyled by clang-format Co-authored-by: Restyled.io --- src/controller/java/AndroidCallbacks.cpp | 13 ++++++++++-- src/controller/java/BUILD.gn | 1 + .../model/AttributeState.java | 20 +++++++++++++++++-- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/controller/java/AndroidCallbacks.cpp b/src/controller/java/AndroidCallbacks.cpp index 6dc10ee617df69..499411fdcd18a5 100644 --- a/src/controller/java/AndroidCallbacks.cpp +++ b/src/controller/java/AndroidCallbacks.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -214,8 +215,10 @@ void ReportCallback::OnAttributeData(const app::ConcreteDataAttributePath & aPat TLV::TLVReader readerForJavaObject; TLV::TLVReader readerForJavaTLV; + TLV::TLVReader readerForJson; readerForJavaObject.Init(*apData); readerForJavaTLV.Init(*apData); + readerForJson.Init(*apData); jobject value = DecodeAttributeValue(aPath, readerForJavaObject, &err); // If we don't know this attribute, just skip it. @@ -238,14 +241,20 @@ void ReportCallback::OnAttributeData(const app::ConcreteDataAttributePath & aPat size = writer.GetLengthWritten(); chip::ByteArray jniByteArray(env, reinterpret_cast(buffer.get()), size); + // Convert TLV to JSON + Json::Value json; + err = TlvToJson(readerForJson, json); + UtfString jsonString(env, JsonToString(json).c_str()); + // Create AttributeState object jclass attributeStateCls; err = JniReferences::GetInstance().GetClassRef(env, "chip/devicecontroller/model/AttributeState", attributeStateCls); VerifyOrReturn(attributeStateCls != nullptr, ChipLogError(Controller, "Could not find AttributeState class")); chip::JniClass attributeStateJniCls(attributeStateCls); - jmethodID attributeStateCtor = env->GetMethodID(attributeStateCls, "", "(Ljava/lang/Object;[B)V"); + jmethodID attributeStateCtor = env->GetMethodID(attributeStateCls, "", "(Ljava/lang/Object;[BLjava/lang/String;)V"); VerifyOrReturn(attributeStateCtor != nullptr, ChipLogError(Controller, "Could not find AttributeState constructor")); - jobject attributeStateObj = env->NewObject(attributeStateCls, attributeStateCtor, value, jniByteArray.jniValue()); + jobject attributeStateObj = + env->NewObject(attributeStateCls, attributeStateCtor, value, jniByteArray.jniValue(), jsonString.jniValue()); VerifyOrReturn(attributeStateObj != nullptr, ChipLogError(Controller, "Could not create AttributeState object")); // Add AttributeState to NodeState diff --git a/src/controller/java/BUILD.gn b/src/controller/java/BUILD.gn index 88240abbf00291..1357c0f6dc1f69 100644 --- a/src/controller/java/BUILD.gn +++ b/src/controller/java/BUILD.gn @@ -49,6 +49,7 @@ shared_library("jni") { "${chip_root}/src/credentials:default_attestation_verifier", "${chip_root}/src/inet", "${chip_root}/src/lib", + "${chip_root}/src/lib/support/jsontlv", "${chip_root}/src/platform", "${chip_root}/src/platform/android", ] diff --git a/src/controller/java/src/chip/devicecontroller/model/AttributeState.java b/src/controller/java/src/chip/devicecontroller/model/AttributeState.java index 2920d321f38334..db7eefc21b878d 100644 --- a/src/controller/java/src/chip/devicecontroller/model/AttributeState.java +++ b/src/controller/java/src/chip/devicecontroller/model/AttributeState.java @@ -17,14 +17,26 @@ */ package chip.devicecontroller.model; -/** Represents the reported value of an attribute in object form AND TLV. */ +import android.util.Log; +import org.json.JSONException; +import org.json.JSONObject; + +/** Represents the reported value of an attribute in object form, TLV and JSON. */ public final class AttributeState { + private static final String TAG = "AttributeState"; + private Object valueObject; private byte[] tlv; + private JSONObject json; - public AttributeState(Object valueObject, byte[] tlv) { + public AttributeState(Object valueObject, byte[] tlv, String jsonString) { this.valueObject = valueObject; this.tlv = tlv; + try { + this.json = new JSONObject(jsonString); + } catch (JSONException ex) { + Log.e(TAG, "Error parsing JSON string", ex); + } } public Object getValue() { @@ -37,4 +49,8 @@ public Object getValue() { public byte[] getTlv() { return tlv; } + + public JSONObject getJson() { + return json; + } } From 4a71f5a552a244285caa1ed832d804fdc35bbc9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20Kr=C3=B3lik?= <66667989+Damian-Nordic@users.noreply.github.com> Date: Wed, 16 Mar 2022 07:45:43 +0100 Subject: [PATCH 17/37] [chip-tool] Filter out non-commissionable devices (#16221) "pairing onnetwork" commands don't filter out devices with CM=0 TXT entry indicating closed commissioning window. --- examples/chip-tool/commands/pairing/PairingCommand.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/chip-tool/commands/pairing/PairingCommand.cpp b/examples/chip-tool/commands/pairing/PairingCommand.cpp index fb7b1c27d27339..cb5369ae2f62c3 100644 --- a/examples/chip-tool/commands/pairing/PairingCommand.cpp +++ b/examples/chip-tool/commands/pairing/PairingCommand.cpp @@ -206,6 +206,9 @@ void PairingCommand::OnCommissioningComplete(NodeId nodeId, CHIP_ERROR err) void PairingCommand::OnDiscoveredDevice(const chip::Dnssd::DiscoveredNodeData & nodeData) { + // Ignore nodes with closed comissioning window + VerifyOrReturn(nodeData.commissioningMode != 0); + const uint16_t port = nodeData.port; char buf[chip::Inet::IPAddress::kMaxStringLength]; nodeData.ipAddress[0].ToString(buf); From 32c10152d713c754f2d6e56c1b2ea4001d538854 Mon Sep 17 00:00:00 2001 From: Song GUO Date: Wed, 16 Mar 2022 19:51:02 +0800 Subject: [PATCH 18/37] [nwprov] Make it possible to notify network commissioning cluster for autonomous connection (#15666) * [nwprov] Move GetLast* attributes to Driver side * Add placeholder for other platforms * Fix Linux ThreadStackManagerImpl * Add issue number * Fix * Set LastNetworkingStatus for manual Scan operations * Let the driver push result instead of cluster getting the value --- .../network-commissioning.cpp | 40 ++++++++++++- .../network-commissioning.h | 8 ++- .../test_scripts/network_commissioning.py | 22 ++------ src/include/platform/NetworkCommissioning.h | 19 ++++++- .../Ameba/NetworkCommissioningDriver.h | 2 +- .../Ameba/NetworkCommissioningWiFiDriver.cpp | 2 +- .../EFR32/NetworkCommissioningWiFiDriver.cpp | 2 +- .../EFR32/NetworkCommissioningWiFiDriver.h | 2 +- .../ESP32/NetworkCommissioningDriver.h | 2 +- .../ESP32/NetworkCommissioningWiFiDriver.cpp | 2 +- .../Linux/ConnectivityManagerImpl.cpp | 49 +++++++++++++++- src/platform/Linux/ConnectivityManagerImpl.h | 11 +++- .../Linux/NetworkCommissioningDriver.h | 11 ++-- .../NetworkCommissioningThreadDriver.cpp | 11 +++- .../Linux/NetworkCommissioningWiFiDriver.cpp | 24 ++++++-- src/platform/Linux/ThreadStackManagerImpl.cpp | 56 ++++++++++++++++++- src/platform/Linux/ThreadStackManagerImpl.h | 9 +++ ...enericNetworkCommissioningThreadDriver.cpp | 16 +++++- .../GenericNetworkCommissioningThreadDriver.h | 7 ++- ...nericThreadStackManagerImpl_OpenThread.cpp | 32 +++++++++++ ...GenericThreadStackManagerImpl_OpenThread.h | 7 +++ src/platform/P6/NetworkCommissioningDriver.h | 2 +- .../P6/NetworkCommissioningWiFiDriver.cpp | 2 +- .../Tizen/NetworkCommissioningDriver.h | 2 +- .../Tizen/NetworkCommissioningWiFiDriver.cpp | 2 +- .../mbed/ConnectivityManagerImpl_WiFi.cpp | 4 +- .../mbed/NetworkCommissioningDriver.h | 2 +- .../mbed/NetworkCommissioningWiFiDriver.cpp | 2 +- 28 files changed, 296 insertions(+), 54 deletions(-) diff --git a/src/app/clusters/network-commissioning/network-commissioning.cpp b/src/app/clusters/network-commissioning/network-commissioning.cpp index e1ee0ac79775cc..3ae06ed65a1aad 100644 --- a/src/app/clusters/network-commissioning/network-commissioning.cpp +++ b/src/app/clusters/network-commissioning/network-commissioning.cpp @@ -86,7 +86,7 @@ CHIP_ERROR Instance::Init() VerifyOrReturnError(registerAttributeAccessOverride(this), CHIP_ERROR_INCORRECT_STATE); ReturnErrorOnFailure( DeviceLayer::PlatformMgrImpl().AddEventHandler(_OnCommissioningComplete, reinterpret_cast(this))); - ReturnErrorOnFailure(mpBaseDriver->Init()); + ReturnErrorOnFailure(mpBaseDriver->Init(this)); mLastNetworkingStatusValue.SetNull(); mLastConnectErrorValue.SetNull(); mLastNetworkIDLen = 0; @@ -239,6 +239,34 @@ CHIP_ERROR Instance::Write(const ConcreteDataAttributePath & aPath, AttributeVal } } +void Instance::OnNetworkingStatusChange(DeviceLayer::NetworkCommissioning::Status aCommissioningError, + Optional aNetworkId, Optional aConnectStatus) +{ + if (aNetworkId.HasValue() && aNetworkId.Value().size() > kMaxNetworkIDLen) + { + ChipLogError(DeviceLayer, "Invalid network id received when calling OnNetworkingStatusChange"); + return; + } + mLastNetworkingStatusValue.SetNonNull(ToClusterObjectEnum(aCommissioningError)); + if (aNetworkId.HasValue()) + { + memcpy(mLastNetworkID, aNetworkId.Value().data(), aNetworkId.Value().size()); + mLastNetworkIDLen = static_cast(aNetworkId.Value().size()); + } + else + { + mLastNetworkIDLen = 0; + } + if (aConnectStatus.HasValue()) + { + mLastConnectErrorValue.SetNonNull(aConnectStatus.Value()); + } + else + { + mLastConnectErrorValue.SetNull(); + } +} + void Instance::HandleScanNetworks(HandlerContext & ctx, const Commands::ScanNetworks::DecodableType & req) { @@ -321,7 +349,15 @@ void Instance::OnResult(Status commissioningError, CharSpan errorText, int32_t i mLastNetworkIDLen = mConnectingNetworkIDLen; memcpy(mLastNetworkID, mConnectingNetworkID, mLastNetworkIDLen); mLastNetworkingStatusValue.SetNonNull(ToClusterObjectEnum(commissioningError)); - mLastConnectErrorValue.SetNonNull(interfaceStatus); + + if (commissioningError == Status::kSuccess) + { + mLastConnectErrorValue.SetNull(); + } + else + { + mLastConnectErrorValue.SetNonNull(interfaceStatus); + } if (commissioningError == Status::kSuccess) { diff --git a/src/app/clusters/network-commissioning/network-commissioning.h b/src/app/clusters/network-commissioning/network-commissioning.h index 40dfab985a7ec2..7678765460e972 100644 --- a/src/app/clusters/network-commissioning/network-commissioning.h +++ b/src/app/clusters/network-commissioning/network-commissioning.h @@ -36,6 +36,7 @@ namespace NetworkCommissioning { // TODO: Use macro to disable some wifi or thread class Instance : public CommandHandlerInterface, public AttributeAccessInterface, + public DeviceLayer::NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback, public DeviceLayer::NetworkCommissioning::Internal::WirelessDriver::ConnectCallback, public DeviceLayer::NetworkCommissioning::WiFiDriver::ScanCallback, public DeviceLayer::NetworkCommissioning::ThreadDriver::ScanCallback @@ -54,6 +55,10 @@ class Instance : public CommandHandlerInterface, CHIP_ERROR Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) override; CHIP_ERROR Write(const ConcreteDataAttributePath & aPath, AttributeValueDecoder & aDecoder) override; + // BaseDriver::NetworkStatusChangeCallback + void OnNetworkingStatusChange(DeviceLayer::NetworkCommissioning::Status aCommissioningError, Optional aNetworkId, + Optional aConnectStatus) override; + // WirelessDriver::ConnectCallback void OnResult(DeviceLayer::NetworkCommissioning::Status commissioningError, CharSpan errorText, int32_t interfaceStatus) override; @@ -84,8 +89,9 @@ class Instance : public CommandHandlerInterface, // Last* attributes // Setting these values don't have to care about parallel requests, since we will reject other requests when there is another // request ongoing. + // These values can be updated via OnNetworkingStatusChange callback, ScanCallback::OnFinished and ConnectCallback::OnResult. DataModel::Nullable mLastNetworkingStatusValue; - DataModel::Nullable mLastConnectErrorValue; + Attributes::LastConnectErrorValue::TypeInfo::Type mLastConnectErrorValue; uint8_t mConnectingNetworkID[DeviceLayer::NetworkCommissioning::kMaxNetworkIDLen]; uint8_t mConnectingNetworkIDLen = 0; uint8_t mLastNetworkID[DeviceLayer::NetworkCommissioning::kMaxNetworkIDLen]; diff --git a/src/controller/python/test/test_scripts/network_commissioning.py b/src/controller/python/test/test_scripts/network_commissioning.py index 92bba209fd8770..13f64bd9588a6e 100644 --- a/src/controller/python/test/test_scripts/network_commissioning.py +++ b/src/controller/python/test/test_scripts/network_commissioning.py @@ -116,13 +116,6 @@ async def test_wifi(self, endpointId): if res.networkingStatus != Clusters.NetworkCommissioning.Enums.NetworkCommissioningStatus.kSuccess: raise AssertionError(f"Unexpected result: {res.networkingStatus}") - # Verify Last* attributes - logger.info(f"Read Last* attributes") - res = await self.readLastNetworkingStateAttributes(endpointId=endpointId) - if (res.lastNetworkID != NullValue) or (res.lastNetworkingStatus == NullValue) or (res.lastConnectErrorValue != NullValue): - raise AssertionError( - f"LastNetworkID and LastConnectErrorValue should be Null and LastNetworkingStatus should not be Null") - # Remove existing network logger.info(f"Check network list") res = await self._devCtrl.ReadAttribute(nodeid=self._nodeid, attributes=[(endpointId, Clusters.NetworkCommissioning.Attributes.Networks)], returnClusterObject=True) @@ -187,9 +180,9 @@ async def test_wifi(self, endpointId): # Verify Last* attributes logger.info(f"Read Last* attributes") res = await self.readLastNetworkingStateAttributes(endpointId=endpointId) - if (res.lastNetworkID == NullValue) or (res.lastNetworkingStatus == NullValue) or (res.lastConnectErrorValue == NullValue): + if (res.lastNetworkID == NullValue) or (res.lastNetworkingStatus == NullValue) or (res.lastConnectErrorValue != NullValue): raise AssertionError( - f"LastNetworkID, LastConnectErrorValue and LastNetworkingStatus should not be Null") + f"LastNetworkID, LastNetworkingStatus should not be Null, LastConnectErrorValue should be Null for a successful network provision.") async def test_thread(self, endpointId): logger.info(f"Get basic information of the endpoint") @@ -221,13 +214,6 @@ async def test_thread(self, endpointId): if res.networkingStatus != Clusters.NetworkCommissioning.Enums.NetworkCommissioningStatus.kSuccess: raise AssertionError(f"Unexpected result: {res.networkingStatus}") - # Verify Last* attributes - logger.info(f"Read Last* attributes") - res = await self.readLastNetworkingStateAttributes(endpointId=endpointId) - if (res.lastNetworkID != NullValue) or (res.lastNetworkingStatus == NullValue) or (res.lastConnectErrorValue != NullValue): - raise AssertionError( - f"LastNetworkID and LastConnectErrorValue should be Null and LastNetworkingStatus should not be Null") - # Remove existing network logger.info(f"Check network list") res = await self._devCtrl.ReadAttribute(nodeid=self._nodeid, attributes=[(endpointId, Clusters.NetworkCommissioning.Attributes.Networks)], returnClusterObject=True) @@ -275,9 +261,9 @@ async def test_thread(self, endpointId): # Verify Last* attributes logger.info(f"Read Last* attributes") res = await self.readLastNetworkingStateAttributes(endpointId=endpointId) - if (res.lastNetworkID == NullValue) or (res.lastNetworkingStatus == NullValue) or (res.lastConnectErrorValue == NullValue): + if (res.lastNetworkID == NullValue) or (res.lastNetworkingStatus == NullValue) or (res.lastConnectErrorValue != NullValue): raise AssertionError( - f"LastNetworkID, LastConnectErrorValue and LastNetworkingStatus should not be Null") + f"LastNetworkID, LastNetworkingStatus should not be Null, LastConnectErrorValue should be Null for a successful network provision.") logger.info(f"Check network list") res = await self._devCtrl.ReadAttribute(nodeid=self._nodeid, attributes=[(endpointId, Clusters.NetworkCommissioning.Attributes.Networks)], returnClusterObject=True) diff --git a/src/include/platform/NetworkCommissioning.h b/src/include/platform/NetworkCommissioning.h index 713c2935838f50..dc16a5ed99f783 100644 --- a/src/include/platform/NetworkCommissioning.h +++ b/src/include/platform/NetworkCommissioning.h @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -154,10 +155,26 @@ namespace Internal { class BaseDriver { public: + class NetworkStatusChangeCallback + { + public: + /** + * @brief Callback for the network driver pushing the event of network status change to the network commissioning cluster. + * The platforms is explected to push the status from operations such as autonomous connection after loss of connectivity or + * during initial establishment. + * + * This function must be called in a thread-safe manner with CHIP stack. + */ + virtual void OnNetworkingStatusChange(Status commissioningError, Optional networkId, + Optional connectStatus) = 0; + + virtual ~NetworkStatusChangeCallback() = default; + }; + /** * @brief Initializes the driver, this function will be called when initializing the network commissioning cluster. */ - virtual CHIP_ERROR Init() { return CHIP_NO_ERROR; } + virtual CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) { return CHIP_NO_ERROR; } /** * @brief Shuts down the driver, this function will be called when shutting down the network commissioning cluster. diff --git a/src/platform/Ameba/NetworkCommissioningDriver.h b/src/platform/Ameba/NetworkCommissioningDriver.h index a1430ada013201..0d8c4cb431eae1 100644 --- a/src/platform/Ameba/NetworkCommissioningDriver.h +++ b/src/platform/Ameba/NetworkCommissioningDriver.h @@ -89,7 +89,7 @@ class AmebaWiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; + CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) override; CHIP_ERROR Shutdown() override; // WirelessDriver diff --git a/src/platform/Ameba/NetworkCommissioningWiFiDriver.cpp b/src/platform/Ameba/NetworkCommissioningWiFiDriver.cpp index 25dd5a02eb0e63..30f07d2564f3fb 100644 --- a/src/platform/Ameba/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/Ameba/NetworkCommissioningWiFiDriver.cpp @@ -35,7 +35,7 @@ constexpr char kWiFiSSIDKeyName[] = "wifi-ssid"; constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; } // namespace -CHIP_ERROR AmebaWiFiDriver::Init() +CHIP_ERROR AmebaWiFiDriver::Init(NetworkStatusChangeCallback *) { CHIP_ERROR err; size_t ssidLen = 0; diff --git a/src/platform/EFR32/NetworkCommissioningWiFiDriver.cpp b/src/platform/EFR32/NetworkCommissioningWiFiDriver.cpp index d4c3948a7549d5..1401b418318499 100644 --- a/src/platform/EFR32/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/EFR32/NetworkCommissioningWiFiDriver.cpp @@ -35,7 +35,7 @@ NetworkCommissioning::WiFiScanResponse * sScanResult; SlScanResponseIterator mScanResponseIter(sScanResult); } // namespace -CHIP_ERROR SlWiFiDriver::Init() +CHIP_ERROR SlWiFiDriver::Init(NetworkStatusChangeCallback * networkStatusChangeCallback) { CHIP_ERROR err; size_t ssidLen = 0; diff --git a/src/platform/EFR32/NetworkCommissioningWiFiDriver.h b/src/platform/EFR32/NetworkCommissioningWiFiDriver.h index 6f411818b7e214..9a98a1057f11a1 100644 --- a/src/platform/EFR32/NetworkCommissioningWiFiDriver.h +++ b/src/platform/EFR32/NetworkCommissioningWiFiDriver.h @@ -132,7 +132,7 @@ class SlWiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; + CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) override; // WirelessDriver uint8_t GetMaxNetworks() override { return kMaxWiFiNetworks; } diff --git a/src/platform/ESP32/NetworkCommissioningDriver.h b/src/platform/ESP32/NetworkCommissioningDriver.h index f998eb9dd59560..decc8e21771466 100644 --- a/src/platform/ESP32/NetworkCommissioningDriver.h +++ b/src/platform/ESP32/NetworkCommissioningDriver.h @@ -88,7 +88,7 @@ class ESPWiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; + CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) override; CHIP_ERROR Shutdown() override; // WirelessDriver diff --git a/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp b/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp index 362de42ab58e10..1e4fc0fb9c42d6 100644 --- a/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/ESP32/NetworkCommissioningWiFiDriver.cpp @@ -38,7 +38,7 @@ constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; static uint8_t WiFiSSIDStr[DeviceLayer::Internal::kMaxWiFiSSIDLength]; } // namespace -CHIP_ERROR ESPWiFiDriver::Init() +CHIP_ERROR ESPWiFiDriver::Init(NetworkStatusChangeCallback * networkStatusChangeCallback) { CHIP_ERROR err; size_t ssidLen = 0; diff --git a/src/platform/Linux/ConnectivityManagerImpl.cpp b/src/platform/Linux/ConnectivityManagerImpl.cpp index 8b8f3059d338c8..c8ae0a77878300 100644 --- a/src/platform/Linux/ConnectivityManagerImpl.cpp +++ b/src/platform/Linux/ConnectivityManagerImpl.cpp @@ -335,6 +335,32 @@ void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); } +void ConnectivityManagerImpl::UpdateNetworkStatus() +{ + Network configuredNetwork; + + VerifyOrReturn(IsWiFiStationEnabled() && mpStatusChangeCallback != nullptr); + + CHIP_ERROR err = GetConfiguredNetwork(configuredNetwork); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "Failed to get configured network when updating network status: %s", err.AsString()); + return; + } + + // If we have already connected to the WiFi AP, then return null to indicate a success state. + if (IsWiFiStationConnected()) + { + mpStatusChangeCallback->OnNetworkingStatusChange( + Status::kSuccess, MakeOptional(ByteSpan(configuredNetwork.networkID, configuredNetwork.networkIDLen)), NullOptional); + return; + } + + mpStatusChangeCallback->OnNetworkingStatusChange( + Status::kUnknownError, MakeOptional(ByteSpan(configuredNetwork.networkID, configuredNetwork.networkIDLen)), + MakeOptional(GetDisconnectReason())); +} + void ConnectivityManagerImpl::_OnWpaPropertiesChanged(WpaFiW1Wpa_supplicant1Interface * proxy, GVariant * changed_properties, const gchar * const * invalidated_properties, gpointer user_data) { @@ -400,6 +426,8 @@ void ConnectivityManagerImpl::_OnWpaPropertiesChanged(WpaFiW1Wpa_supplicant1Inte delegate->OnAssociationFailureDetected(associationFailureCause, status); } + DeviceLayer::SystemLayer().ScheduleLambda([]() { ConnectivityMgrImpl().UpdateNetworkStatus(); }); + mAssociattionStarted = false; } else if (g_strcmp0(value_str, "\'associated\'") == 0) @@ -408,6 +436,8 @@ void ConnectivityManagerImpl::_OnWpaPropertiesChanged(WpaFiW1Wpa_supplicant1Inte { delegate->OnConnectionStatusChanged(static_cast(WiFiConnectionStatus::kNotConnected)); } + + DeviceLayer::SystemLayer().ScheduleLambda([]() { ConnectivityMgrImpl().UpdateNetworkStatus(); }); } } @@ -1277,13 +1307,30 @@ CHIP_ERROR ConnectivityManagerImpl::GetWiFiVersion(uint8_t & wiFiVersion) return CHIP_NO_ERROR; } -CHIP_ERROR ConnectivityManagerImpl::GetConnectedNetwork(NetworkCommissioning::Network & network) +int32_t ConnectivityManagerImpl::GetDisconnectReason() +{ + std::lock_guard lock(mWpaSupplicantMutex); + std::unique_ptr err; + + gint errorValue = wpa_fi_w1_wpa_supplicant1_interface_get_disconnect_reason(mWpaSupplicant.iface); + // wpa_supplicant DBus API: DisconnectReason: The most recent IEEE 802.11 reason code for disconnect. Negative value + // indicates locally generated disconnection. + return errorValue; +} + +CHIP_ERROR ConnectivityManagerImpl::GetConfiguredNetwork(NetworkCommissioning::Network & network) { std::lock_guard lock(mWpaSupplicantMutex); std::unique_ptr err; const gchar * networkPath = wpa_fi_w1_wpa_supplicant1_interface_get_current_network(mWpaSupplicant.iface); + // wpa_supplicant DBus API: if network path of current network is "/", means no networks is currently selected. + if (strcmp(networkPath, "/") == 0) + { + return CHIP_ERROR_KEY_NOT_FOUND; + } + std::unique_ptr networkInfo( wpa_fi_w1_wpa_supplicant1_network_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, kWpaSupplicantServiceName, networkPath, nullptr, diff --git a/src/platform/Linux/ConnectivityManagerImpl.h b/src/platform/Linux/ConnectivityManagerImpl.h index 555aa2ae28802e..1a8c1dd036b47e 100644 --- a/src/platform/Linux/ConnectivityManagerImpl.h +++ b/src/platform/Linux/ConnectivityManagerImpl.h @@ -114,6 +114,11 @@ class ConnectivityManagerImpl final : public ConnectivityManager, public: #if CHIP_DEVICE_CONFIG_ENABLE_WPA CHIP_ERROR ProvisionWiFiNetwork(const char * ssid, const char * key); + void + SetNetworkStatusChangeCallback(NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback * statusChangeCallback) + { + mpStatusChangeCallback = statusChangeCallback; + } CHIP_ERROR ConnectWiFiNetworkAsync(ByteSpan ssid, ByteSpan credentials, NetworkCommissioning::Internal::WirelessDriver::ConnectCallback * connectCallback); void PostNetworkConnect(); @@ -122,10 +127,11 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void StartWiFiManagement(); bool IsWiFiManagementStarted(); + int32_t GetDisconnectReason(); CHIP_ERROR GetWiFiBssId(ByteSpan & value); CHIP_ERROR GetWiFiSecurityType(uint8_t & securityType); CHIP_ERROR GetWiFiVersion(uint8_t & wiFiVersion); - CHIP_ERROR GetConnectedNetwork(NetworkCommissioning::Network & network); + CHIP_ERROR GetConfiguredNetwork(NetworkCommissioning::Network & network); CHIP_ERROR StartWiFiScan(ByteSpan ssid, NetworkCommissioning::WiFiDriver::ScanCallback * callback); #endif @@ -174,6 +180,7 @@ class ConnectivityManagerImpl final : public ConnectivityManager, void _MaintainOnDemandWiFiAP(); System::Clock::Timeout _GetWiFiAPIdleTimeout(); void _SetWiFiAPIdleTimeout(System::Clock::Timeout val); + void UpdateNetworkStatus(); static CHIP_ERROR StopAutoScan(); static void _OnWpaProxyReady(GObject * source_object, GAsyncResult * res, gpointer user_data); @@ -193,6 +200,8 @@ class ConnectivityManagerImpl final : public ConnectivityManager, static BitFlags mConnectivityFlag; static struct GDBusWpaSupplicant mWpaSupplicant; static std::mutex mWpaSupplicantMutex; + + NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback * mpStatusChangeCallback = nullptr; #endif // ==================== ConnectivityManager Private Methods ==================== diff --git a/src/platform/Linux/NetworkCommissioningDriver.h b/src/platform/Linux/NetworkCommissioningDriver.h index 41daa19ef04a18..19431e5010e96e 100644 --- a/src/platform/Linux/NetworkCommissioningDriver.h +++ b/src/platform/Linux/NetworkCommissioningDriver.h @@ -79,8 +79,8 @@ class LinuxWiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; - CHIP_ERROR Shutdown() override { return CHIP_NO_ERROR; } // Nothing to do on linux for shutdown. + CHIP_ERROR Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) override; + CHIP_ERROR Shutdown() override; // WirelessDriver uint8_t GetMaxNetworks() override { return 1; } @@ -104,6 +104,7 @@ class LinuxWiFiDriver final : public WiFiDriver WiFiNetworkIterator mWiFiIterator = WiFiNetworkIterator(this); WiFiNetwork mSavedNetwork; WiFiNetwork mStagingNetwork; + Optional mScanStatus; }; #endif // CHIP_DEVICE_CONFIG_ENABLE_WPA @@ -127,8 +128,8 @@ class LinuxThreadDriver final : public ThreadDriver // BaseDriver NetworkIterator * GetNetworks() override { return new ThreadNetworkIterator(this); } - CHIP_ERROR Init() override; - CHIP_ERROR Shutdown() override { return CHIP_NO_ERROR; } // Nothing to do on linux for shutdown. + CHIP_ERROR Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) override; + CHIP_ERROR Shutdown() override; // WirelessDriver uint8_t GetMaxNetworks() override { return 1; } @@ -144,7 +145,7 @@ class LinuxThreadDriver final : public ThreadDriver // ThreadDriver Status AddOrUpdateNetwork(ByteSpan operationalDataset) override; - void ScanNetworks(ScanCallback * callback) override; + void ScanNetworks(ThreadDriver::ScanCallback * callback) override; private: ThreadNetworkIterator mThreadIterator = ThreadNetworkIterator(this); diff --git a/src/platform/Linux/NetworkCommissioningThreadDriver.cpp b/src/platform/Linux/NetworkCommissioningThreadDriver.cpp index abbeeaa3f0af84..2ba9c2099023d9 100644 --- a/src/platform/Linux/NetworkCommissioningThreadDriver.cpp +++ b/src/platform/Linux/NetworkCommissioningThreadDriver.cpp @@ -41,7 +41,7 @@ namespace NetworkCommissioning { // TODO: The otbr-posix does not actually maintains its own networking states, it will always persist the last network connected. // This should not be an issue for most cases, but we should implement the code for maintaining the states by ourselves. -CHIP_ERROR LinuxThreadDriver::Init() +CHIP_ERROR LinuxThreadDriver::Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) { ByteSpan currentProvision; VerifyOrReturnError(ConnectivityMgrImpl().IsThreadAttached(), CHIP_NO_ERROR); @@ -50,6 +50,14 @@ CHIP_ERROR LinuxThreadDriver::Init() mSavedNetwork.Init(currentProvision); mStagingNetwork.Init(currentProvision); + ThreadStackMgrImpl().SetNetworkStatusChangeCallback(networkStatusChangeCallback); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR LinuxThreadDriver::Shutdown() +{ + ThreadStackMgrImpl().SetNetworkStatusChangeCallback(nullptr); return CHIP_NO_ERROR; } @@ -148,6 +156,7 @@ void LinuxThreadDriver::ConnectNetwork(ByteSpan networkId, ConnectCallback * cal void LinuxThreadDriver::ScanNetworks(ThreadDriver::ScanCallback * callback) { CHIP_ERROR err = DeviceLayer::ThreadStackMgrImpl().StartThreadScan(callback); + // The ThreadScan callback will always be invoked in CHIP mainloop, which is strictly after this function if (err != CHIP_NO_ERROR) { callback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); diff --git a/src/platform/Linux/NetworkCommissioningWiFiDriver.cpp b/src/platform/Linux/NetworkCommissioningWiFiDriver.cpp index ae56e1a6aa90b3..47ae49833c483d 100644 --- a/src/platform/Linux/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/Linux/NetworkCommissioningWiFiDriver.cpp @@ -50,7 +50,7 @@ constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; // NOTE: For now, the LinuxWiFiDriver only supports one network, this can be fixed by using the wpa_supplicant API directly (then // wpa_supplicant will manage the networks for us.) -CHIP_ERROR LinuxWiFiDriver::Init() +CHIP_ERROR LinuxWiFiDriver::Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) { CHIP_ERROR err; size_t ssidLen = 0; @@ -73,6 +73,14 @@ CHIP_ERROR LinuxWiFiDriver::Init() mSavedNetwork.ssidLen = ssidLen; mStagingNetwork = mSavedNetwork; + + ConnectivityMgrImpl().SetNetworkStatusChangeCallback(networkStatusChangeCallback); + return CHIP_NO_ERROR; +} + +CHIP_ERROR LinuxWiFiDriver::Shutdown() +{ + ConnectivityMgrImpl().SetNetworkStatusChangeCallback(nullptr); return CHIP_NO_ERROR; } @@ -166,8 +174,14 @@ void LinuxWiFiDriver::ScanNetworks(ByteSpan ssid, WiFiDriver::ScanCallback * cal CHIP_ERROR err = DeviceLayer::ConnectivityMgrImpl().StartWiFiScan(ssid, callback); if (err != CHIP_NO_ERROR) { + mScanStatus.SetValue(Status::kUnknownError); callback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); } + else + { + // On linux platform, once "scan" is started, we can say the result will always be success. + mScanStatus.SetValue(Status::kSuccess); + } } size_t LinuxWiFiDriver::WiFiNetworkIterator::Count() @@ -186,12 +200,12 @@ bool LinuxWiFiDriver::WiFiNetworkIterator::Next(Network & item) item.connected = false; exhausted = true; - Network connectedNetwork; - CHIP_ERROR err = DeviceLayer::ConnectivityMgrImpl().GetConnectedNetwork(connectedNetwork); + Network configuredNetwork; + CHIP_ERROR err = DeviceLayer::ConnectivityMgrImpl().GetConfiguredNetwork(configuredNetwork); if (err == CHIP_NO_ERROR) { - if (connectedNetwork.networkIDLen == item.networkIDLen && - memcmp(connectedNetwork.networkID, item.networkID, item.networkIDLen) == 0) + if (DeviceLayer::ConnectivityMgrImpl().IsWiFiStationConnected() && configuredNetwork.networkIDLen == item.networkIDLen && + memcmp(configuredNetwork.networkID, item.networkID, item.networkIDLen) == 0) { item.connected = true; } diff --git a/src/platform/Linux/ThreadStackManagerImpl.cpp b/src/platform/Linux/ThreadStackManagerImpl.cpp index 48e0ccd052d2c2..02d89ca6b293f4 100644 --- a/src/platform/Linux/ThreadStackManagerImpl.cpp +++ b/src/platform/Linux/ThreadStackManagerImpl.cpp @@ -94,6 +94,8 @@ void ThreadStackManagerImpl::OnDbusPropertiesChanged(OpenthreadIoOpenthreadBorde if (key == nullptr || value == nullptr) continue; // ownership of key and value is still holding by the iter + DeviceLayer::SystemLayer().ScheduleLambda([me]() { me->_UpdateNetworkStatus(); }); + if (strcmp(key, kPropertyDeviceRole) == 0) { const gchar * value_str = g_variant_get_string(value, nullptr); @@ -301,7 +303,7 @@ bool ThreadStackManagerImpl::_IsThreadEnabled() std::unique_ptr err; - std::unique_ptr value( + std::unique_ptr response( g_dbus_proxy_call_sync(G_DBUS_PROXY(mProxy.get()), "org.freedesktop.DBus.Properties.Get", g_variant_new("(ss)", "io.openthread.BorderRouter", "DeviceRole"), G_DBUS_CALL_FLAGS_NONE, -1, nullptr, &MakeUniquePointerReceiver(err).Get())); @@ -312,6 +314,20 @@ bool ThreadStackManagerImpl::_IsThreadEnabled() return false; } + if (response == nullptr) + { + return false; + } + + std::unique_ptr tupleContent(g_variant_get_child_value(response.get(), 0)); + + if (tupleContent == nullptr) + { + return false; + } + + std::unique_ptr value(g_variant_get_variant(tupleContent.get())); + if (value == nullptr) { return false; @@ -319,6 +335,11 @@ bool ThreadStackManagerImpl::_IsThreadEnabled() const gchar * role = g_variant_get_string(value.get(), nullptr); + if (role == nullptr) + { + return false; + } + return (strcmp(role, kOpenthreadDeviceRoleDisabled) != 0); } @@ -692,6 +713,39 @@ ThreadStackManagerImpl::_AttachToThreadNetwork(ByteSpan netInfo, return CHIP_NO_ERROR; } +void ThreadStackManagerImpl::_UpdateNetworkStatus() +{ + // Thread is not enabled, then we are not trying to connect to the network. + VerifyOrReturn(IsThreadEnabled() && mpStatusChangeCallback != nullptr); + + ByteSpan datasetTLV; + Thread::OperationalDataset dataset; + uint8_t extpanid[Thread::kSizeExtendedPanId]; + + // If we have not provisioned any Thread network, return the status from last network scan, + // If we have provisioned a network, we assume the ot-br-posix is activitely connecting to that network. + CHIP_ERROR err = ThreadStackMgrImpl().GetThreadProvision(datasetTLV); + if (err != CHIP_NO_ERROR) + { + ChipLogError(DeviceLayer, "Failed to get configured network when updating network status: %s", err.AsString()); + return; + } + + VerifyOrReturn(dataset.Init(datasetTLV) == CHIP_NO_ERROR); + // The Thread network is not enabled, but has a different extended pan id. + VerifyOrReturn(dataset.GetExtendedPanId(extpanid) == CHIP_NO_ERROR); + + // We have already connected to the network, thus return success. + if (ThreadStackMgrImpl().IsThreadAttached()) + { + mpStatusChangeCallback->OnNetworkingStatusChange(Status::kSuccess, MakeOptional(ByteSpan(extpanid)), NullOptional); + } + else + { + mpStatusChangeCallback->OnNetworkingStatusChange(Status::kNetworkNotFound, MakeOptional(ByteSpan(extpanid)), NullOptional); + } +} + ThreadStackManager & ThreadStackMgr() { return chip::DeviceLayer::ThreadStackManagerImpl::sInstance; diff --git a/src/platform/Linux/ThreadStackManagerImpl.h b/src/platform/Linux/ThreadStackManagerImpl.h index e725bb5d72f64d..4ae2fc71ed6d48 100644 --- a/src/platform/Linux/ThreadStackManagerImpl.h +++ b/src/platform/Linux/ThreadStackManagerImpl.h @@ -36,6 +36,12 @@ class ThreadStackManagerImpl : public ThreadStackManager public: ThreadStackManagerImpl(); + void + SetNetworkStatusChangeCallback(NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback * statusChangeCallback) + { + mpStatusChangeCallback = statusChangeCallback; + } + CHIP_ERROR _InitThreadStack(); void _ProcessThreadActivity(); @@ -71,6 +77,8 @@ class ThreadStackManagerImpl : public ThreadStackManager void _OnThreadAttachFinished(void); + void _UpdateNetworkStatus(); + static void _OnThreadBrAttachFinished(GObject * source_object, GAsyncResult * res, gpointer user_data); ConnectivityManager::ThreadDeviceType _GetThreadDeviceType(); @@ -144,6 +152,7 @@ class ThreadStackManagerImpl : public ThreadStackManager NetworkCommissioning::ThreadDriver::ScanCallback * mpScanCallback; NetworkCommissioning::Internal::WirelessDriver::ConnectCallback * mpConnectCallback; + NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback * mpStatusChangeCallback = nullptr; bool mAttached; }; diff --git a/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp b/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp index ccb3a408e7ecc3..717bc02264bc44 100644 --- a/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp +++ b/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.cpp @@ -35,9 +35,11 @@ namespace NetworkCommissioning { // load the network config from thread persistent info, and loads it into both mSavedNetwork and mStagingNetwork. When updating the // networks, all changes are made on the staging network. When validated we can commit it and save it to the persistent info -CHIP_ERROR GenericThreadDriver::Init() +CHIP_ERROR GenericThreadDriver::Init(Internal::BaseDriver::NetworkStatusChangeCallback * statusChangeCallback) { ByteSpan currentProvision; + ThreadStackMgrImpl().SetNetworkStatusChangeCallback(statusChangeCallback); + VerifyOrReturnError(ThreadStackMgrImpl().IsThreadAttached(), CHIP_NO_ERROR); VerifyOrReturnError(ThreadStackMgrImpl().GetThreadProvision(currentProvision) == CHIP_NO_ERROR, CHIP_NO_ERROR); @@ -47,6 +49,12 @@ CHIP_ERROR GenericThreadDriver::Init() return CHIP_NO_ERROR; } +CHIP_ERROR GenericThreadDriver::Shutdown() +{ + ThreadStackMgrImpl().SetNetworkStatusChangeCallback(nullptr); + return CHIP_NO_ERROR; +} + CHIP_ERROR GenericThreadDriver::CommitConfiguration() { // Note: on AttachToThreadNetwork OpenThread will persist the networks on its own, @@ -150,8 +158,14 @@ void GenericThreadDriver::ScanNetworks(ThreadDriver::ScanCallback * callback) CHIP_ERROR err = DeviceLayer::ThreadStackMgrImpl().StartThreadScan(callback); if (err != CHIP_NO_ERROR) { + mScanStatus.SetValue(Status::kUnknownError); callback->OnFinished(Status::kUnknownError, CharSpan(), nullptr); } + else + { + // OpenThread's "scan" will always success once started, so we can set the value of scan result here. + mScanStatus.SetValue(Status::kSuccess); + } } size_t GenericThreadDriver::ThreadNetworkIterator::Count() diff --git a/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.h b/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.h index be5ad934d7162e..ec801c997bda43 100644 --- a/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.h +++ b/src/platform/OpenThread/GenericNetworkCommissioningThreadDriver.h @@ -84,8 +84,8 @@ class GenericThreadDriver final : public ThreadDriver // BaseDriver NetworkIterator * GetNetworks() override { return new ThreadNetworkIterator(this); } - CHIP_ERROR Init() override; - CHIP_ERROR Shutdown() override { return CHIP_NO_ERROR; } // Nothing to do on EFR32 for shutdown. + CHIP_ERROR Init(Internal::BaseDriver::NetworkStatusChangeCallback * statusChangeCallback) override; + CHIP_ERROR Shutdown() override; // WirelessDriver uint8_t GetMaxNetworks() override { return 1; } @@ -101,12 +101,13 @@ class GenericThreadDriver final : public ThreadDriver // ThreadDriver Status AddOrUpdateNetwork(ByteSpan operationalDataset) override; - void ScanNetworks(ScanCallback * callback) override; + void ScanNetworks(ThreadDriver::ScanCallback * callback) override; private: ThreadNetworkIterator mThreadIterator = ThreadNetworkIterator(this); Thread::OperationalDataset mSavedNetwork = {}; Thread::OperationalDataset mStagingNetwork = {}; + Optional mScanStatus; }; } // namespace NetworkCommissioning diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp index 039c1e759506c8..ffbfa33d1fb185 100644 --- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp +++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.cpp @@ -127,6 +127,8 @@ void GenericThreadStackManagerImpl_OpenThread::OnOpenThreadStateChang { ChipLogError(DeviceLayer, "Failed to post Thread state change: %" CHIP_ERROR_FORMAT, status.Format()); } + + DeviceLayer::SystemLayer().ScheduleLambda([]() { ThreadStackMgrImpl()._UpdateNetworkStatus(); }); } template @@ -1843,6 +1845,36 @@ CHIP_ERROR GenericThreadStackManagerImpl_OpenThread::_JoinerStart(voi return error; } +template +void GenericThreadStackManagerImpl_OpenThread::_UpdateNetworkStatus() +{ + // Thread is not enabled, then we are not trying to connect to the network. + VerifyOrReturn(ThreadStackMgrImpl().IsThreadEnabled() && mpStatusChangeCallback != nullptr); + + ByteSpan datasetTLV; + Thread::OperationalDataset dataset; + uint8_t extpanid[chip::Thread::kSizeExtendedPanId]; + + // If we have not provisioned any Thread network, return the status from last network scan, + // If we have provisioned a network, we assume the ot-br-posix is activitely connecting to that network. + ReturnOnFailure(ThreadStackMgrImpl().GetThreadProvision(datasetTLV)); + ReturnOnFailure(dataset.Init(datasetTLV)); + // The Thread network is not enabled, but has a different extended pan id. + ReturnOnFailure(dataset.GetExtendedPanId(extpanid)); + // If we don't have a valid dataset, we are not attempting to connect the network. + + // We have already connected to the network, thus return success. + if (ThreadStackMgrImpl().IsThreadAttached()) + { + mpStatusChangeCallback->OnNetworkingStatusChange(Status::kSuccess, MakeOptional(ByteSpan(extpanid)), NullOptional); + } + else + { + mpStatusChangeCallback->OnNetworkingStatusChange(Status::kNetworkNotFound, MakeOptional(ByteSpan(extpanid)), + MakeOptional(static_cast(OT_ERROR_DETACHED))); + } +} + #if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT static_assert(OPENTHREAD_API_VERSION >= 156, "SRP Client requires a more recent OpenThread version"); diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h index 5b44e32b668f87..7cd8dac1a4fae9 100644 --- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h +++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h @@ -70,6 +70,11 @@ class GenericThreadStackManagerImpl_OpenThread otInstance * OTInstance() const; static void OnOpenThreadStateChange(uint32_t flags, void * context); inline void OverrunErrorTally(void); + void + SetNetworkStatusChangeCallback(NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback * statusChangeCallback) + { + mpStatusChangeCallback = statusChangeCallback; + } protected: // ===== Methods that implement the ThreadStackManager abstract interface. @@ -92,6 +97,7 @@ class GenericThreadStackManagerImpl_OpenThread CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback); static void _OnNetworkScanFinished(otActiveScanResult * aResult, void * aContext); void _OnNetworkScanFinished(otActiveScanResult * aResult); + void _UpdateNetworkStatus(); #if CHIP_DEVICE_CONFIG_ENABLE_SED CHIP_ERROR _GetSEDPollingConfig(ConnectivityManager::SEDPollingConfig & pollingConfig); @@ -148,6 +154,7 @@ class GenericThreadStackManagerImpl_OpenThread NetworkCommissioning::ThreadDriver::ScanCallback * mpScanCallback; NetworkCommissioning::Internal::WirelessDriver::ConnectCallback * mpConnectCallback; + NetworkCommissioning::Internal::BaseDriver::NetworkStatusChangeCallback * mpStatusChangeCallback = nullptr; #if CHIP_DEVICE_CONFIG_ENABLE_SED ConnectivityManager::SEDPollingConfig mPollingConfig; diff --git a/src/platform/P6/NetworkCommissioningDriver.h b/src/platform/P6/NetworkCommissioningDriver.h index a1c30b4e8488e8..54302bd2410aa8 100644 --- a/src/platform/P6/NetworkCommissioningDriver.h +++ b/src/platform/P6/NetworkCommissioningDriver.h @@ -91,7 +91,7 @@ class P6WiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; + CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) override; CHIP_ERROR Shutdown() override; // WirelessDriver diff --git a/src/platform/P6/NetworkCommissioningWiFiDriver.cpp b/src/platform/P6/NetworkCommissioningWiFiDriver.cpp index fe911c79c687a8..c4b2a826ae4a27 100644 --- a/src/platform/P6/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/P6/NetworkCommissioningWiFiDriver.cpp @@ -39,7 +39,7 @@ constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; cy_wcm_scan_result_t scan_result_list[kWiFiMaxNetworks]; uint8_t NumAP; // no of network scanned -CHIP_ERROR P6WiFiDriver::Init() +CHIP_ERROR P6WiFiDriver::Init(NetworkStatusChangeCallback * networkStatusChangeCallback) { CHIP_ERROR err; size_t ssidLen = 0; diff --git a/src/platform/Tizen/NetworkCommissioningDriver.h b/src/platform/Tizen/NetworkCommissioningDriver.h index c7b23ca33e8020..5c00f8bc8028d1 100644 --- a/src/platform/Tizen/NetworkCommissioningDriver.h +++ b/src/platform/Tizen/NetworkCommissioningDriver.h @@ -52,7 +52,7 @@ class TizenWiFiDriver final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; + CHIP_ERROR Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) override; CHIP_ERROR Shutdown() override { return CHIP_NO_ERROR; } // WirelessDriver diff --git a/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp b/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp index 43a71c84287d44..fa444f99bef2ee 100644 --- a/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/Tizen/NetworkCommissioningWiFiDriver.cpp @@ -38,7 +38,7 @@ constexpr char kWiFiSSIDKeyName[] = "wifi-ssid"; constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; } // namespace -CHIP_ERROR TizenWiFiDriver::Init() +CHIP_ERROR TizenWiFiDriver::Init(BaseDriver::NetworkStatusChangeCallback * networkStatusChangeCallback) { CHIP_ERROR err; size_t ssidLen = 0; diff --git a/src/platform/mbed/ConnectivityManagerImpl_WiFi.cpp b/src/platform/mbed/ConnectivityManagerImpl_WiFi.cpp index 57aca8b67b5183..d5e0200e84c76b 100644 --- a/src/platform/mbed/ConnectivityManagerImpl_WiFi.cpp +++ b/src/platform/mbed/ConnectivityManagerImpl_WiFi.cpp @@ -56,7 +56,7 @@ CHIP_ERROR ConnectivityManagerImpl::InitWiFi() #if CHIP_DEVICE_ENABLE_DATA_MODEL err = sWiFiNetworkCommissioningInstance.Init(); #else - err = NetworkCommissioning::WiFiDriverImpl::GetInstance().Init(); + err = NetworkCommissioning::WiFiDriverImpl::GetInstance().Init(nullptr); #endif VerifyOrExit(err == CHIP_NO_ERROR, ChipLogError(DeviceLayer, "WiFi driver init failed: %s", chip::ErrorStr(err))); @@ -116,7 +116,7 @@ CHIP_ERROR ConnectivityManagerImpl::_SetWiFiStationMode(WiFiStationMode val) { if (mWiFiStationMode == kWiFiStationMode_Enabled) { - NetworkCommissioning::WiFiDriverImpl::GetInstance().Init(); + NetworkCommissioning::WiFiDriverImpl::GetInstance().Init(nullptr); } else if (mWiFiStationMode == kWiFiStationMode_Disabled) { diff --git a/src/platform/mbed/NetworkCommissioningDriver.h b/src/platform/mbed/NetworkCommissioningDriver.h index 1a374f53b25f6c..c7424469460acc 100644 --- a/src/platform/mbed/NetworkCommissioningDriver.h +++ b/src/platform/mbed/NetworkCommissioningDriver.h @@ -93,7 +93,7 @@ class WiFiDriverImpl final : public WiFiDriver // BaseDriver NetworkIterator * GetNetworks() override { return new WiFiNetworkIterator(this); } - CHIP_ERROR Init() override; + CHIP_ERROR Init(NetworkStatusChangeCallback * networkStatusChangeCallback) override; CHIP_ERROR Shutdown() override; // WirelessDriver diff --git a/src/platform/mbed/NetworkCommissioningWiFiDriver.cpp b/src/platform/mbed/NetworkCommissioningWiFiDriver.cpp index f6918e65fc507a..d813b83da7cfb7 100644 --- a/src/platform/mbed/NetworkCommissioningWiFiDriver.cpp +++ b/src/platform/mbed/NetworkCommissioningWiFiDriver.cpp @@ -34,7 +34,7 @@ constexpr char kWiFiSSIDKeyName[] = "wifi-ssid"; constexpr char kWiFiCredentialsKeyName[] = "wifi-pass"; } // namespace -CHIP_ERROR WiFiDriverImpl::Init() +CHIP_ERROR WiFiDriverImpl::Init(NetworkStatusChangeCallback * networkStatusChangeCallback) { size_t ssidLen = 0; size_t credentialsLen = 0; From c793755c70f79e7f83d79187dcedaf4529df1de7 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Wed, 16 Mar 2022 09:28:48 -0400 Subject: [PATCH 19/37] Remove unused mDNSResolver from CASESessionManager. (#16275) --- src/app/CASESessionManager.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/app/CASESessionManager.h b/src/app/CASESessionManager.h index 2f698c3f4e58ce..e2ab839b0df8a6 100644 --- a/src/app/CASESessionManager.h +++ b/src/app/CASESessionManager.h @@ -61,10 +61,10 @@ class CASESessionManager mConfig = params; } - virtual ~CASESessionManager() { mDNSResolver.Shutdown(); } + virtual ~CASESessionManager() {} CHIP_ERROR Init(chip::System::Layer * systemLayer); - void Shutdown() { mDNSResolver.Shutdown(); } + void Shutdown() {} /** * Find an existing session for the given node ID, or trigger a new session request. @@ -98,7 +98,6 @@ class CASESessionManager void ReleaseSession(OperationalDeviceProxy * device); CASESessionManagerConfig mConfig; - Dnssd::ResolverProxy mDNSResolver; }; } // namespace chip From df1bfbc0ca98cc34cad8893e4d6c051c411b1352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20Kr=C3=B3lik?= <66667989+Damian-Nordic@users.noreply.github.com> Date: Wed, 16 Mar 2022 14:32:43 +0100 Subject: [PATCH 20/37] [nrfconnect] Change advertising commencement condition in examples (#16274) Allow to enable advertising on a button press when the device is commissioned to a Thread network, but not to a Matter fabric. --- .../all-clusters-app/nrfconnect/main/AppTask.cpp | 15 +++++---------- examples/lighting-app/nrfconnect/main/AppTask.cpp | 12 ++++-------- examples/lock-app/nrfconnect/main/AppTask.cpp | 12 ++++-------- examples/pump-app/nrfconnect/main/AppTask.cpp | 12 ++++-------- .../nrfconnect/main/AppTask.cpp | 12 ++++-------- 5 files changed, 21 insertions(+), 42 deletions(-) diff --git a/examples/all-clusters-app/nrfconnect/main/AppTask.cpp b/examples/all-clusters-app/nrfconnect/main/AppTask.cpp index 3db133026cabeb..e7590fd6d575b9 100644 --- a/examples/all-clusters-app/nrfconnect/main/AppTask.cpp +++ b/examples/all-clusters-app/nrfconnect/main/AppTask.cpp @@ -63,6 +63,7 @@ constexpr uint32_t kOff_ms{ 950 }; } // namespace StatusLed } // namespace LedConsts +using namespace ::chip; using namespace ::chip::Credentials; using namespace ::chip::DeviceLayer; @@ -277,17 +278,11 @@ void AppTask::FunctionHandler(AppEvent * aEvent) } } -void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) +void AppTask::StartBLEAdvertisementHandler(AppEvent *) { - if (!aEvent) - return; - if (aEvent->ButtonEvent.PinNo != BLE_ADVERTISEMENT_START_BUTTON) - return; - - // Don't allow on starting Matter service BLE advertising after Thread provisioning. - if (ConnectivityMgr().IsThreadProvisioned()) + if (Server::GetInstance().GetFabricTable().FabricCount() != 0) { - LOG_INF("Matter service BLE advertising not started - device is commissioned to a Thread network."); + LOG_INF("Matter service BLE advertising not started - device is already commissioned"); return; } @@ -297,7 +292,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) return; } - if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) + if (Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) { LOG_ERR("OpenBasicCommissioningWindow() failed"); } diff --git a/examples/lighting-app/nrfconnect/main/AppTask.cpp b/examples/lighting-app/nrfconnect/main/AppTask.cpp index c8df2ab10cdd21..8aae4a4487aeb5 100644 --- a/examples/lighting-app/nrfconnect/main/AppTask.cpp +++ b/examples/lighting-app/nrfconnect/main/AppTask.cpp @@ -417,15 +417,11 @@ void AppTask::StartThreadHandler(AppEvent * aEvent) } } -void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) +void AppTask::StartBLEAdvertisementHandler(AppEvent *) { - if (aEvent->ButtonEvent.PinNo != BLE_ADVERTISEMENT_START_BUTTON) - return; - - // Don't allow on starting Matter service BLE advertising after Thread provisioning. - if (ConnectivityMgr().IsThreadProvisioned()) + if (Server::GetInstance().GetFabricTable().FabricCount() != 0) { - LOG_INF("NFC Tag emulation and Matter service BLE advertising not started - device is commissioned to a Thread network."); + LOG_INF("Matter service BLE advertising not started - device is already commissioned"); return; } @@ -435,7 +431,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) return; } - if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) + if (Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) { LOG_ERR("OpenBasicCommissioningWindow() failed"); } diff --git a/examples/lock-app/nrfconnect/main/AppTask.cpp b/examples/lock-app/nrfconnect/main/AppTask.cpp index 09919a72fad01f..6ca2aa26d525e4 100644 --- a/examples/lock-app/nrfconnect/main/AppTask.cpp +++ b/examples/lock-app/nrfconnect/main/AppTask.cpp @@ -393,15 +393,11 @@ void AppTask::StartThreadHandler(AppEvent * aEvent) } } -void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) +void AppTask::StartBLEAdvertisementHandler(AppEvent *) { - if (aEvent->ButtonEvent.PinNo != BLE_ADVERTISEMENT_START_BUTTON) - return; - - // Don't allow on starting Matter service BLE advertising after Thread provisioning. - if (ConnectivityMgr().IsThreadProvisioned()) + if (Server::GetInstance().GetFabricTable().FabricCount() != 0) { - LOG_INF("NFC Tag emulation and Matter service BLE advertising not started - device is commissioned to a Thread network."); + LOG_INF("Matter service BLE advertising not started - device is already commissioned"); return; } @@ -411,7 +407,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) return; } - if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) + if (Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) { LOG_ERR("OpenBasicCommissioningWindow() failed"); } diff --git a/examples/pump-app/nrfconnect/main/AppTask.cpp b/examples/pump-app/nrfconnect/main/AppTask.cpp index 109daba8afddb0..4e8b9012b14406 100644 --- a/examples/pump-app/nrfconnect/main/AppTask.cpp +++ b/examples/pump-app/nrfconnect/main/AppTask.cpp @@ -388,15 +388,11 @@ void AppTask::StartThreadHandler(AppEvent * aEvent) } } -void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) +void AppTask::StartBLEAdvertisementHandler(AppEvent *) { - if (aEvent->ButtonEvent.PinNo != BLE_ADVERTISEMENT_START_BUTTON) - return; - - // Don't allow on starting Matter service BLE advertising after Thread provisioning. - if (ConnectivityMgr().IsThreadProvisioned()) + if (Server::GetInstance().GetFabricTable().FabricCount() != 0) { - LOG_INF("NFC Tag emulation and Matter service BLE advertising not started - device is commissioned to a Thread network."); + LOG_INF("Matter service BLE advertising not started - device is already commissioned"); return; } @@ -406,7 +402,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) return; } - if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) + if (Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) { LOG_ERR("OpenBasicCommissioningWindow() failed"); } diff --git a/examples/pump-controller-app/nrfconnect/main/AppTask.cpp b/examples/pump-controller-app/nrfconnect/main/AppTask.cpp index 8898f065036add..1c7d92c9c0dd3d 100644 --- a/examples/pump-controller-app/nrfconnect/main/AppTask.cpp +++ b/examples/pump-controller-app/nrfconnect/main/AppTask.cpp @@ -385,15 +385,11 @@ void AppTask::StartThreadHandler(AppEvent * aEvent) } } -void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) +void AppTask::StartBLEAdvertisementHandler(AppEvent *) { - if (aEvent->ButtonEvent.PinNo != BLE_ADVERTISEMENT_START_BUTTON) - return; - - // Don't allow on starting Matter service BLE advertising after Thread provisioning. - if (ConnectivityMgr().IsThreadProvisioned()) + if (Server::GetInstance().GetFabricTable().FabricCount() != 0) { - LOG_INF("NFC Tag emulation and Matter service BLE advertising not started - device is commissioned to a Thread network."); + LOG_INF("Matter service BLE advertising not started - device is already commissioned"); return; } @@ -403,7 +399,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent) return; } - if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) + if (Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR) { LOG_ERR("OpenBasicCommissioningWindow() failed"); } From f73db2fb9e99eb8ea964aa86655ad18b2e2b9185 Mon Sep 17 00:00:00 2001 From: "Hui.Li-TCL" Date: Wed, 16 Mar 2022 21:33:14 +0800 Subject: [PATCH 21/37] fix crash error because CommissionableDataProvider null (#16227) --- src/platform/android/AndroidChipPlatform-JNI.cpp | 8 ++------ src/platform/android/ConfigurationManagerImpl.cpp | 5 ----- src/platform/android/ConfigurationManagerImpl.h | 2 -- .../android/java/chip/platform/AndroidChipPlatform.java | 4 ++-- 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/platform/android/AndroidChipPlatform-JNI.cpp b/src/platform/android/AndroidChipPlatform-JNI.cpp index 0848201a981ad6..e655b30140c4b2 100644 --- a/src/platform/android/AndroidChipPlatform-JNI.cpp +++ b/src/platform/android/AndroidChipPlatform-JNI.cpp @@ -99,6 +99,7 @@ void AndroidChipPlatformJNI_OnUnload(JavaVM * jvm, void * reserved) JNI_METHOD(void, initChipStack)(JNIEnv * env, jobject self) { + chip::DeviceLayer::StackLock lock; CHIP_ERROR err = chip::DeviceLayer::PlatformMgr().InitChipStack(); VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(DeviceLayer, "Error initializing CHIP stack: %s", ErrorStr(err))); } @@ -214,12 +215,7 @@ JNI_METHOD(void, setKeyValueStoreManager)(JNIEnv * env, jclass self, jobject man JNI_METHOD(void, setConfigurationManager)(JNIEnv * env, jclass self, jobject manager) { chip::DeviceLayer::StackLock lock; - chip::DeviceLayer::ConfigurationManagerImpl * configurationManagerImpl = - reinterpret_cast(&chip::DeviceLayer::ConfigurationMgr()); - if (configurationManagerImpl != nullptr) - { - configurationManagerImpl->InitializeWithObject(manager); - } + chip::DeviceLayer::ConfigurationManagerImpl::GetDefaultInstance().InitializeWithObject(manager); } // for DiagnosticDataProviderManager diff --git a/src/platform/android/ConfigurationManagerImpl.cpp b/src/platform/android/ConfigurationManagerImpl.cpp index 446db3c81b2fa8..fbcca64417888c 100644 --- a/src/platform/android/ConfigurationManagerImpl.cpp +++ b/src/platform/android/ConfigurationManagerImpl.cpp @@ -58,11 +58,6 @@ void ConfigurationManagerImpl::InitializeWithObject(jobject managerObject) AndroidConfig::InitializeWithObject(managerObject); } -CHIP_ERROR ConfigurationManagerImpl::Init() -{ - return CHIP_NO_ERROR; -} - CHIP_ERROR ConfigurationManagerImpl::GetPrimaryWiFiMACAddress(uint8_t * buf) { return CHIP_ERROR_NOT_IMPLEMENTED; diff --git a/src/platform/android/ConfigurationManagerImpl.h b/src/platform/android/ConfigurationManagerImpl.h index 5f674da0d50786..eca40580e1dab1 100644 --- a/src/platform/android/ConfigurationManagerImpl.h +++ b/src/platform/android/ConfigurationManagerImpl.h @@ -56,8 +56,6 @@ class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImp private: // ===== Members that implement the ConfigurationManager public interface. - - CHIP_ERROR Init() override; CHIP_ERROR GetPrimaryWiFiMACAddress(uint8_t * buf) override; bool CanFactoryReset() override; void InitiateFactoryReset() override; diff --git a/src/platform/android/java/chip/platform/AndroidChipPlatform.java b/src/platform/android/java/chip/platform/AndroidChipPlatform.java index f3f1dbbd27f461..da1ee88423872f 100644 --- a/src/platform/android/java/chip/platform/AndroidChipPlatform.java +++ b/src/platform/android/java/chip/platform/AndroidChipPlatform.java @@ -28,13 +28,13 @@ public AndroidChipPlatform( ChipMdnsCallback chipMdnsCallback, DiagnosticDataProvider dataProvider) { // Order is important here: initChipStack() initializes the BLEManagerImpl, which depends on the - // BLEManager being set. setConfigurationManager() depends on the CHIP stack being initialized. + // BLEManager being set. setBLEManager(ble); - initChipStack(); setKeyValueStoreManager(kvm); setConfigurationManager(cfg); setServiceResolver(resolver, chipMdnsCallback); setDiagnosticDataProviderManager(dataProvider); + initChipStack(); } // for BLEManager From b4697ea290555acb1c25ff2369ffb185c1a22989 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 10:51:24 -0400 Subject: [PATCH 22/37] Fixed swapped app names for ota requestor/provider in build_examples (#16298) --- scripts/build/builders/host.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/build/builders/host.py b/scripts/build/builders/host.py index 0e3561b9fda821..4e787550b4cd56 100644 --- a/scripts/build/builders/host.py +++ b/scripts/build/builders/host.py @@ -102,11 +102,11 @@ def OutputNames(self): yield 'chip-cert' yield 'chip-cert.map' elif self == HostApp.OTA_PROVIDER: - yield 'chip-ota-requestor-app' - yield 'chip-ota-requestor-app.map' - elif self == HostApp.OTA_REQUESTOR: yield 'chip-ota-provider-app' yield 'chip-ota-provider-app.map' + elif self == HostApp.OTA_REQUESTOR: + yield 'chip-ota-requestor-app' + yield 'chip-ota-requestor-app.map' else: raise Exception('Unknown app type: %r' % self) From c01f680cbb01350102c41b903d09c00695a41f3d Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Wed, 16 Mar 2022 10:52:57 -0400 Subject: [PATCH 23/37] Use fixed-size types for Objective C enums/options. (#16264) This makes 64-bit cases work much better. --- .../CHIP/templates/CHIPClustersObjc.zapt | 4 +- .../CHIP/zap-generated/CHIPClustersObjc.h | 366 +++++++++--------- 2 files changed, 185 insertions(+), 185 deletions(-) diff --git a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt index 5cb079ab400f33..4b7ea4d8cf83d2 100644 --- a/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt +++ b/src/darwin/Framework/CHIP/templates/CHIPClustersObjc.zapt @@ -60,7 +60,7 @@ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEs {{#zcl_clusters}} {{#zcl_enums}} -typedef NS_ENUM(NSInteger, {{objCEnumName ../name label}}) { +typedef NS_ENUM({{asUnderlyingZclType type}}, {{objCEnumName ../name label}}) { {{#zcl_enum_items}} {{objCEnumName ../../name ../label}}{{objCEnumItemLabel label}} = {{asHex value 2}}, {{/zcl_enum_items}} @@ -68,7 +68,7 @@ typedef NS_ENUM(NSInteger, {{objCEnumName ../name label}}) { {{/zcl_enums}} {{#zcl_bitmaps}} -typedef NS_OPTIONS(NSUInteger, {{objCEnumName ../name label}}) { +typedef NS_OPTIONS({{asUnderlyingZclType type}}, {{objCEnumName ../name label}}) { {{#zcl_bitmap_items}} {{objCEnumName ../../name ../label}}{{objCEnumItemLabel label}} = {{asHex mask}}, {{/zcl_bitmap_items}} diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h index 825eafe5bf6fb2..d12a958085ba74 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h @@ -14849,7 +14849,7 @@ NS_ASSUME_NONNULL_BEGIN @end -typedef NS_ENUM(NSInteger, CHIPIdentifyEffectIdentifier) { +typedef NS_ENUM(uint8_t, CHIPIdentifyEffectIdentifier) { CHIPIdentifyEffectIdentifierBlink = 0x00, CHIPIdentifyEffectIdentifierBreathe = 0x01, CHIPIdentifyEffectIdentifierOkay = 0x02, @@ -14858,11 +14858,11 @@ typedef NS_ENUM(NSInteger, CHIPIdentifyEffectIdentifier) { CHIPIdentifyEffectIdentifierStopEffect = 0xFF, }; -typedef NS_ENUM(NSInteger, CHIPIdentifyEffectVariant) { +typedef NS_ENUM(uint8_t, CHIPIdentifyEffectVariant) { CHIPIdentifyEffectVariantDefault = 0x00, }; -typedef NS_ENUM(NSInteger, CHIPIdentifyType) { +typedef NS_ENUM(uint8_t, CHIPIdentifyType) { CHIPIdentifyTypeNone = 0x00, CHIPIdentifyTypeVisibleLight = 0x01, CHIPIdentifyTypeVisibleLED = 0x02, @@ -14871,50 +14871,50 @@ typedef NS_ENUM(NSInteger, CHIPIdentifyType) { CHIPIdentifyTypeActuator = 0x05, }; -typedef NS_OPTIONS(NSUInteger, CHIPScenesCopyMode) { +typedef NS_OPTIONS(uint8_t, CHIPScenesCopyMode) { CHIPScenesCopyModeCopyAllScenes = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPOnOffDelayedAllOffEffectVariant) { +typedef NS_ENUM(uint8_t, CHIPOnOffDelayedAllOffEffectVariant) { CHIPOnOffDelayedAllOffEffectVariantFadeToOffIn0p8Seconds = 0x00, CHIPOnOffDelayedAllOffEffectVariantNoFade = 0x01, CHIPOnOffDelayedAllOffEffectVariant50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPOnOffDyingLightEffectVariant) { +typedef NS_ENUM(uint8_t, CHIPOnOffDyingLightEffectVariant) { CHIPOnOffDyingLightEffectVariant20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second = 0x00, }; -typedef NS_ENUM(NSInteger, CHIPOnOffEffectIdentifier) { +typedef NS_ENUM(uint8_t, CHIPOnOffEffectIdentifier) { CHIPOnOffEffectIdentifierDelayedAllOff = 0x00, CHIPOnOffEffectIdentifierDyingLight = 0x01, }; -typedef NS_OPTIONS(NSUInteger, CHIPOnOffControl) { +typedef NS_OPTIONS(uint8_t, CHIPOnOffControl) { CHIPOnOffControlAcceptOnlyWhenOn = 0x1, }; -typedef NS_OPTIONS(NSUInteger, CHIPOnOffFeature) { +typedef NS_OPTIONS(uint32_t, CHIPOnOffFeature) { CHIPOnOffFeatureLighting = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPLevelControlMoveMode) { +typedef NS_ENUM(uint8_t, CHIPLevelControlMoveMode) { CHIPLevelControlMoveModeUp = 0x00, CHIPLevelControlMoveModeDown = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPLevelControlStepMode) { +typedef NS_ENUM(uint8_t, CHIPLevelControlStepMode) { CHIPLevelControlStepModeUp = 0x00, CHIPLevelControlStepModeDown = 0x01, }; -typedef NS_OPTIONS(NSUInteger, CHIPLevelControlFeature) { +typedef NS_OPTIONS(uint32_t, CHIPLevelControlFeature) { CHIPLevelControlFeatureOnOff = 0x1, CHIPLevelControlFeatureLighting = 0x2, CHIPLevelControlFeatureFrequency = 0x4, }; -typedef NS_ENUM(NSInteger, CHIPApplianceControlApplianceStatus) { +typedef NS_ENUM(uint8_t, CHIPApplianceControlApplianceStatus) { CHIPApplianceControlApplianceStatusOff = 0x01, CHIPApplianceControlApplianceStatusStandBy = 0x02, CHIPApplianceControlApplianceStatusProgrammed = 0x03, @@ -14932,7 +14932,7 @@ typedef NS_ENUM(NSInteger, CHIPApplianceControlApplianceStatus) { CHIPApplianceControlApplianceStatusSuperheating = 0x0F, }; -typedef NS_ENUM(NSInteger, CHIPApplianceControlCommandIdentification) { +typedef NS_ENUM(uint8_t, CHIPApplianceControlCommandIdentification) { CHIPApplianceControlCommandIdentificationStart = 0x01, CHIPApplianceControlCommandIdentificationStop = 0x02, CHIPApplianceControlCommandIdentificationPause = 0x03, @@ -14946,7 +14946,7 @@ typedef NS_ENUM(NSInteger, CHIPApplianceControlCommandIdentification) { CHIPApplianceControlCommandIdentificationDisableEnergyControl = 0x0B, }; -typedef NS_ENUM(NSInteger, CHIPApplianceControlWarningEvent) { +typedef NS_ENUM(uint8_t, CHIPApplianceControlWarningEvent) { CHIPApplianceControlWarningEventWarning1OverallPowerAboveAvailablePowerLevel = 0x00, CHIPApplianceControlWarningEventWarning2OverallPowerAbovePowerThresholdLevel = 0x01, CHIPApplianceControlWarningEventWarning3OverallPowerBackBelowTheAvailablePowerLevel = 0x02, @@ -14954,24 +14954,24 @@ typedef NS_ENUM(NSInteger, CHIPApplianceControlWarningEvent) { CHIPApplianceControlWarningEventWarning5OverallPowerWillBePotentiallyAboveAvailablePowerLevelIfTheApplianceStarts = 0x04, }; -typedef NS_OPTIONS(NSUInteger, CHIPApplianceControlRemoteEnableFlagsAndDeviceStatus2) { +typedef NS_OPTIONS(uint8_t, CHIPApplianceControlRemoteEnableFlagsAndDeviceStatus2) { CHIPApplianceControlRemoteEnableFlagsAndDeviceStatus2RemoteEnableFlags = 0xF, CHIPApplianceControlRemoteEnableFlagsAndDeviceStatus2DeviceStatus2Structure = 0xF0, }; -typedef NS_ENUM(NSInteger, CHIPAccessControlAuthMode) { +typedef NS_ENUM(uint8_t, CHIPAccessControlAuthMode) { CHIPAccessControlAuthModePASE = 0x01, CHIPAccessControlAuthModeCASE = 0x02, CHIPAccessControlAuthModeGroup = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPAccessControlChangeType) { +typedef NS_ENUM(uint8_t, CHIPAccessControlChangeType) { CHIPAccessControlChangeTypeChanged = 0x00, CHIPAccessControlChangeTypeAdded = 0x01, CHIPAccessControlChangeTypeRemoved = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPAccessControlPrivilege) { +typedef NS_ENUM(uint8_t, CHIPAccessControlPrivilege) { CHIPAccessControlPrivilegeView = 0x01, CHIPAccessControlPrivilegeProxyView = 0x02, CHIPAccessControlPrivilegeOperate = 0x03, @@ -14979,19 +14979,19 @@ typedef NS_ENUM(NSInteger, CHIPAccessControlPrivilege) { CHIPAccessControlPrivilegeAdminister = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPBridgedActionsActionError) { +typedef NS_ENUM(uint8_t, CHIPBridgedActionsActionError) { CHIPBridgedActionsActionErrorUnknown = 0x00, CHIPBridgedActionsActionErrorInterrupted = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPBridgedActionsActionState) { +typedef NS_ENUM(uint8_t, CHIPBridgedActionsActionState) { CHIPBridgedActionsActionStateInactive = 0x00, CHIPBridgedActionsActionStateActive = 0x01, CHIPBridgedActionsActionStatePaused = 0x02, CHIPBridgedActionsActionStateDisabled = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPBridgedActionsActionType) { +typedef NS_ENUM(uint8_t, CHIPBridgedActionsActionType) { CHIPBridgedActionsActionTypeOther = 0x00, CHIPBridgedActionsActionTypeScene = 0x01, CHIPBridgedActionsActionTypeSequence = 0x02, @@ -15001,13 +15001,13 @@ typedef NS_ENUM(NSInteger, CHIPBridgedActionsActionType) { CHIPBridgedActionsActionTypeAlarm = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPBridgedActionsEndpointListType) { +typedef NS_ENUM(uint8_t, CHIPBridgedActionsEndpointListType) { CHIPBridgedActionsEndpointListTypeOther = 0x00, CHIPBridgedActionsEndpointListTypeRoom = 0x01, CHIPBridgedActionsEndpointListTypeZone = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPBridgedActionsCommandBits) { +typedef NS_OPTIONS(uint16_t, CHIPBridgedActionsCommandBits) { CHIPBridgedActionsCommandBitsInstantAction = 0x1, CHIPBridgedActionsCommandBitsInstantActionWithTransition = 0x2, CHIPBridgedActionsCommandBitsStartAction = 0x4, @@ -15022,33 +15022,33 @@ typedef NS_OPTIONS(NSUInteger, CHIPBridgedActionsCommandBits) { CHIPBridgedActionsCommandBitsDisableActionWithDuration = 0x800, }; -typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateProviderOTAApplyUpdateAction) { +typedef NS_ENUM(uint8_t, CHIPOtaSoftwareUpdateProviderOTAApplyUpdateAction) { CHIPOtaSoftwareUpdateProviderOTAApplyUpdateActionProceed = 0x00, CHIPOtaSoftwareUpdateProviderOTAApplyUpdateActionAwaitNextAction = 0x01, CHIPOtaSoftwareUpdateProviderOTAApplyUpdateActionDiscontinue = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateProviderOTADownloadProtocol) { +typedef NS_ENUM(uint8_t, CHIPOtaSoftwareUpdateProviderOTADownloadProtocol) { CHIPOtaSoftwareUpdateProviderOTADownloadProtocolBDXSynchronous = 0x00, CHIPOtaSoftwareUpdateProviderOTADownloadProtocolBDXAsynchronous = 0x01, CHIPOtaSoftwareUpdateProviderOTADownloadProtocolHTTPS = 0x02, CHIPOtaSoftwareUpdateProviderOTADownloadProtocolVendorSpecific = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateProviderOTAQueryStatus) { +typedef NS_ENUM(uint8_t, CHIPOtaSoftwareUpdateProviderOTAQueryStatus) { CHIPOtaSoftwareUpdateProviderOTAQueryStatusUpdateAvailable = 0x00, CHIPOtaSoftwareUpdateProviderOTAQueryStatusBusy = 0x01, CHIPOtaSoftwareUpdateProviderOTAQueryStatusNotAvailable = 0x02, CHIPOtaSoftwareUpdateProviderOTAQueryStatusDownloadProtocolNotSupported = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateRequestorOTAAnnouncementReason) { +typedef NS_ENUM(uint8_t, CHIPOtaSoftwareUpdateRequestorOTAAnnouncementReason) { CHIPOtaSoftwareUpdateRequestorOTAAnnouncementReasonSimpleAnnouncement = 0x00, CHIPOtaSoftwareUpdateRequestorOTAAnnouncementReasonUpdateAvailable = 0x01, CHIPOtaSoftwareUpdateRequestorOTAAnnouncementReasonUrgentUpdateAvailable = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateRequestorOTAChangeReason) { +typedef NS_ENUM(uint8_t, CHIPOtaSoftwareUpdateRequestorOTAChangeReason) { CHIPOtaSoftwareUpdateRequestorOTAChangeReasonUnknown = 0x00, CHIPOtaSoftwareUpdateRequestorOTAChangeReasonSuccess = 0x01, CHIPOtaSoftwareUpdateRequestorOTAChangeReasonFailure = 0x02, @@ -15056,7 +15056,7 @@ typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateRequestorOTAChangeReason) { CHIPOtaSoftwareUpdateRequestorOTAChangeReasonDelayByProvider = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateRequestorOTAUpdateState) { +typedef NS_ENUM(uint8_t, CHIPOtaSoftwareUpdateRequestorOTAUpdateState) { CHIPOtaSoftwareUpdateRequestorOTAUpdateStateUnknown = 0x00, CHIPOtaSoftwareUpdateRequestorOTAUpdateStateIdle = 0x01, CHIPOtaSoftwareUpdateRequestorOTAUpdateStateQuerying = 0x02, @@ -15068,7 +15068,7 @@ typedef NS_ENUM(NSInteger, CHIPOtaSoftwareUpdateRequestorOTAUpdateState) { CHIPOtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnUserConsent = 0x08, }; -typedef NS_ENUM(NSInteger, CHIPTimeFormatLocalizationCalendarType) { +typedef NS_ENUM(uint8_t, CHIPTimeFormatLocalizationCalendarType) { CHIPTimeFormatLocalizationCalendarTypeBuddhist = 0x00, CHIPTimeFormatLocalizationCalendarTypeChinese = 0x01, CHIPTimeFormatLocalizationCalendarTypeCoptic = 0x02, @@ -15083,22 +15083,22 @@ typedef NS_ENUM(NSInteger, CHIPTimeFormatLocalizationCalendarType) { CHIPTimeFormatLocalizationCalendarTypeTaiwanese = 0x0B, }; -typedef NS_ENUM(NSInteger, CHIPTimeFormatLocalizationHourFormat) { +typedef NS_ENUM(uint8_t, CHIPTimeFormatLocalizationHourFormat) { CHIPTimeFormatLocalizationHourFormat12hr = 0x00, CHIPTimeFormatLocalizationHourFormat24hr = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPUnitLocalizationTempUnit) { +typedef NS_ENUM(uint8_t, CHIPUnitLocalizationTempUnit) { CHIPUnitLocalizationTempUnitFahrenheit = 0x00, CHIPUnitLocalizationTempUnitCelsius = 0x01, CHIPUnitLocalizationTempUnitKelvin = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPUnitLocalizationFeature) { +typedef NS_OPTIONS(uint32_t, CHIPUnitLocalizationFeature) { CHIPUnitLocalizationFeatureTemperatureUnit = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceBatChargeFaultType) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceBatChargeFaultType) { CHIPPowerSourceBatChargeFaultTypeUnspecfied = 0x00, CHIPPowerSourceBatChargeFaultTypeAmbientTooHot = 0x01, CHIPPowerSourceBatChargeFaultTypeAmbientTooCold = 0x02, @@ -15112,58 +15112,58 @@ typedef NS_ENUM(NSInteger, CHIPPowerSourceBatChargeFaultType) { CHIPPowerSourceBatChargeFaultTypeSafetyTimeout = 0x0A, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceBatChargeLevel) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceBatChargeLevel) { CHIPPowerSourceBatChargeLevelOk = 0x00, CHIPPowerSourceBatChargeLevelWarning = 0x01, CHIPPowerSourceBatChargeLevelCritical = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceBatChargeState) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceBatChargeState) { CHIPPowerSourceBatChargeStateUnknown = 0x00, CHIPPowerSourceBatChargeStateIsCharging = 0x01, CHIPPowerSourceBatChargeStateIsAtFullCharge = 0x02, CHIPPowerSourceBatChargeStateIsNotCharging = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceBatFaultType) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceBatFaultType) { CHIPPowerSourceBatFaultTypeUnspecfied = 0x00, CHIPPowerSourceBatFaultTypeOverTemp = 0x01, CHIPPowerSourceBatFaultTypeUnderTemp = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceBatReplaceability) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceBatReplaceability) { CHIPPowerSourceBatReplaceabilityUnspecified = 0x00, CHIPPowerSourceBatReplaceabilityNotReplaceable = 0x01, CHIPPowerSourceBatReplaceabilityUserReplaceable = 0x02, CHIPPowerSourceBatReplaceabilityFactoryReplaceable = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceStatus) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceStatus) { CHIPPowerSourceStatusUnspecfied = 0x00, CHIPPowerSourceStatusActive = 0x01, CHIPPowerSourceStatusStandby = 0x02, CHIPPowerSourceStatusUnavailable = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceWiredCurrentType) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceWiredCurrentType) { CHIPPowerSourceWiredCurrentTypeAC = 0x00, CHIPPowerSourceWiredCurrentTypeDC = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPPowerSourceWiredFaultType) { +typedef NS_ENUM(uint8_t, CHIPPowerSourceWiredFaultType) { CHIPPowerSourceWiredFaultTypeUnspecfied = 0x00, CHIPPowerSourceWiredFaultTypeOverVoltage = 0x01, CHIPPowerSourceWiredFaultTypeUnderVoltage = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPPowerSourceFeature) { +typedef NS_OPTIONS(uint32_t, CHIPPowerSourceFeature) { CHIPPowerSourceFeatureWired = 0x1, CHIPPowerSourceFeatureBattery = 0x2, CHIPPowerSourceFeatureRechargeable = 0x4, CHIPPowerSourceFeatureReplaceable = 0x8, }; -typedef NS_ENUM(NSInteger, CHIPGeneralCommissioningCommissioningError) { +typedef NS_ENUM(uint8_t, CHIPGeneralCommissioningCommissioningError) { CHIPGeneralCommissioningCommissioningErrorOk = 0x00, CHIPGeneralCommissioningCommissioningErrorValueOutsideRange = 0x01, CHIPGeneralCommissioningCommissioningErrorInvalidAuthentication = 0x02, @@ -15171,13 +15171,13 @@ typedef NS_ENUM(NSInteger, CHIPGeneralCommissioningCommissioningError) { CHIPGeneralCommissioningCommissioningErrorBusyWithOtherAdmin = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPGeneralCommissioningRegulatoryLocationType) { +typedef NS_ENUM(uint8_t, CHIPGeneralCommissioningRegulatoryLocationType) { CHIPGeneralCommissioningRegulatoryLocationTypeIndoor = 0x00, CHIPGeneralCommissioningRegulatoryLocationTypeOutdoor = 0x01, CHIPGeneralCommissioningRegulatoryLocationTypeIndoorOutdoor = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPNetworkCommissioningStatus) { +typedef NS_ENUM(uint8_t, CHIPNetworkCommissioningStatus) { CHIPNetworkCommissioningStatusSuccess = 0x00, CHIPNetworkCommissioningStatusOutOfRange = 0x01, CHIPNetworkCommissioningStatusBoundsExceeded = 0x02, @@ -15193,7 +15193,7 @@ typedef NS_ENUM(NSInteger, CHIPNetworkCommissioningStatus) { CHIPNetworkCommissioningStatusUnknownError = 0x0C, }; -typedef NS_ENUM(NSInteger, CHIPNetworkCommissioningWiFiBand) { +typedef NS_ENUM(uint8_t, CHIPNetworkCommissioningWiFiBand) { CHIPNetworkCommissioningWiFiBand2G4 = 0x00, CHIPNetworkCommissioningWiFiBand3G65 = 0x01, CHIPNetworkCommissioningWiFiBand5G = 0x02, @@ -15201,19 +15201,19 @@ typedef NS_ENUM(NSInteger, CHIPNetworkCommissioningWiFiBand) { CHIPNetworkCommissioningWiFiBand60G = 0x04, }; -typedef NS_OPTIONS(NSUInteger, CHIPNetworkCommissioningFeature) { +typedef NS_OPTIONS(uint32_t, CHIPNetworkCommissioningFeature) { CHIPNetworkCommissioningFeatureWiFiNetworkInterface = 0x1, CHIPNetworkCommissioningFeatureThreadNetworkInterface = 0x2, CHIPNetworkCommissioningFeatureEthernetNetworkInterface = 0x4, }; -typedef NS_ENUM(NSInteger, CHIPDiagnosticLogsLogsIntent) { +typedef NS_ENUM(uint8_t, CHIPDiagnosticLogsLogsIntent) { CHIPDiagnosticLogsLogsIntentEndUserSupport = 0x00, CHIPDiagnosticLogsLogsIntentNetworkDiag = 0x01, CHIPDiagnosticLogsLogsIntentCrashLogs = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPDiagnosticLogsLogsStatus) { +typedef NS_ENUM(uint8_t, CHIPDiagnosticLogsLogsStatus) { CHIPDiagnosticLogsLogsStatusSuccess = 0x00, CHIPDiagnosticLogsLogsStatusExhausted = 0x01, CHIPDiagnosticLogsLogsStatusNoLogs = 0x02, @@ -15221,12 +15221,12 @@ typedef NS_ENUM(NSInteger, CHIPDiagnosticLogsLogsStatus) { CHIPDiagnosticLogsLogsStatusDenied = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPDiagnosticLogsLogsTransferProtocol) { +typedef NS_ENUM(uint8_t, CHIPDiagnosticLogsLogsTransferProtocol) { CHIPDiagnosticLogsLogsTransferProtocolResponsePayload = 0x00, CHIPDiagnosticLogsLogsTransferProtocolBDX = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsBootReasonType) { +typedef NS_ENUM(uint8_t, CHIPGeneralDiagnosticsBootReasonType) { CHIPGeneralDiagnosticsBootReasonTypeUnspecified = 0x00, CHIPGeneralDiagnosticsBootReasonTypePowerOnReboot = 0x01, CHIPGeneralDiagnosticsBootReasonTypeBrownOutReset = 0x02, @@ -15236,7 +15236,7 @@ typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsBootReasonType) { CHIPGeneralDiagnosticsBootReasonTypeSoftwareReset = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsHardwareFaultType) { +typedef NS_ENUM(uint8_t, CHIPGeneralDiagnosticsHardwareFaultType) { CHIPGeneralDiagnosticsHardwareFaultTypeUnspecified = 0x00, CHIPGeneralDiagnosticsHardwareFaultTypeRadio = 0x01, CHIPGeneralDiagnosticsHardwareFaultTypeSensor = 0x02, @@ -15250,7 +15250,7 @@ typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsHardwareFaultType) { CHIPGeneralDiagnosticsHardwareFaultTypeTamperDetected = 0x0A, }; -typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsInterfaceType) { +typedef NS_ENUM(uint8_t, CHIPGeneralDiagnosticsInterfaceType) { CHIPGeneralDiagnosticsInterfaceTypeUnspecified = 0x00, CHIPGeneralDiagnosticsInterfaceTypeWiFi = 0x01, CHIPGeneralDiagnosticsInterfaceTypeEthernet = 0x02, @@ -15258,14 +15258,14 @@ typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsInterfaceType) { CHIPGeneralDiagnosticsInterfaceTypeThread = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsNetworkFaultType) { +typedef NS_ENUM(uint8_t, CHIPGeneralDiagnosticsNetworkFaultType) { CHIPGeneralDiagnosticsNetworkFaultTypeUnspecified = 0x00, CHIPGeneralDiagnosticsNetworkFaultTypeHardwareFailure = 0x01, CHIPGeneralDiagnosticsNetworkFaultTypeNetworkJammed = 0x02, CHIPGeneralDiagnosticsNetworkFaultTypeConnectionFailed = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsRadioFaultType) { +typedef NS_ENUM(uint8_t, CHIPGeneralDiagnosticsRadioFaultType) { CHIPGeneralDiagnosticsRadioFaultTypeUnspecified = 0x00, CHIPGeneralDiagnosticsRadioFaultTypeWiFiFault = 0x01, CHIPGeneralDiagnosticsRadioFaultTypeCellularFault = 0x02, @@ -15275,14 +15275,14 @@ typedef NS_ENUM(NSInteger, CHIPGeneralDiagnosticsRadioFaultType) { CHIPGeneralDiagnosticsRadioFaultTypeEthernetFault = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPThreadNetworkDiagnosticsNetworkFault) { +typedef NS_ENUM(uint8_t, CHIPThreadNetworkDiagnosticsNetworkFault) { CHIPThreadNetworkDiagnosticsNetworkFaultUnspecified = 0x00, CHIPThreadNetworkDiagnosticsNetworkFaultLinkDown = 0x01, CHIPThreadNetworkDiagnosticsNetworkFaultHardwareFailure = 0x02, CHIPThreadNetworkDiagnosticsNetworkFaultNetworkJammed = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPThreadNetworkDiagnosticsRoutingRole) { +typedef NS_ENUM(uint8_t, CHIPThreadNetworkDiagnosticsRoutingRole) { CHIPThreadNetworkDiagnosticsRoutingRoleUnspecified = 0x00, CHIPThreadNetworkDiagnosticsRoutingRoleUnassigned = 0x01, CHIPThreadNetworkDiagnosticsRoutingRoleSleepyEndDevice = 0x02, @@ -15292,26 +15292,26 @@ typedef NS_ENUM(NSInteger, CHIPThreadNetworkDiagnosticsRoutingRole) { CHIPThreadNetworkDiagnosticsRoutingRoleLeader = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPThreadNetworkDiagnosticsThreadConnectionStatus) { +typedef NS_ENUM(uint8_t, CHIPThreadNetworkDiagnosticsThreadConnectionStatus) { CHIPThreadNetworkDiagnosticsThreadConnectionStatusConnected = 0x00, CHIPThreadNetworkDiagnosticsThreadConnectionStatusNotConnected = 0x01, }; -typedef NS_OPTIONS(NSUInteger, CHIPThreadNetworkDiagnosticsFeature) { +typedef NS_OPTIONS(uint32_t, CHIPThreadNetworkDiagnosticsFeature) { CHIPThreadNetworkDiagnosticsFeaturePacketCounts = 0x1, CHIPThreadNetworkDiagnosticsFeatureErrorCounts = 0x2, CHIPThreadNetworkDiagnosticsFeatureMLECounts = 0x4, CHIPThreadNetworkDiagnosticsFeatureMACCounts = 0x8, }; -typedef NS_ENUM(NSInteger, CHIPWiFiNetworkDiagnosticsAssociationFailureCause) { +typedef NS_ENUM(uint8_t, CHIPWiFiNetworkDiagnosticsAssociationFailureCause) { CHIPWiFiNetworkDiagnosticsAssociationFailureCauseUnknown = 0x00, CHIPWiFiNetworkDiagnosticsAssociationFailureCauseAssociationFailed = 0x01, CHIPWiFiNetworkDiagnosticsAssociationFailureCauseAuthenticationFailed = 0x02, CHIPWiFiNetworkDiagnosticsAssociationFailureCauseSsidNotFound = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPWiFiNetworkDiagnosticsSecurityType) { +typedef NS_ENUM(uint8_t, CHIPWiFiNetworkDiagnosticsSecurityType) { CHIPWiFiNetworkDiagnosticsSecurityTypeUnspecified = 0x00, CHIPWiFiNetworkDiagnosticsSecurityTypeNone = 0x01, CHIPWiFiNetworkDiagnosticsSecurityTypeWEP = 0x02, @@ -15320,12 +15320,12 @@ typedef NS_ENUM(NSInteger, CHIPWiFiNetworkDiagnosticsSecurityType) { CHIPWiFiNetworkDiagnosticsSecurityTypeWPA3 = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPWiFiNetworkDiagnosticsWiFiConnectionStatus) { +typedef NS_ENUM(uint8_t, CHIPWiFiNetworkDiagnosticsWiFiConnectionStatus) { CHIPWiFiNetworkDiagnosticsWiFiConnectionStatusConnected = 0x00, CHIPWiFiNetworkDiagnosticsWiFiConnectionStatusNotConnected = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPWiFiNetworkDiagnosticsWiFiVersionType) { +typedef NS_ENUM(uint8_t, CHIPWiFiNetworkDiagnosticsWiFiVersionType) { CHIPWiFiNetworkDiagnosticsWiFiVersionType80211a = 0x00, CHIPWiFiNetworkDiagnosticsWiFiVersionType80211b = 0x01, CHIPWiFiNetworkDiagnosticsWiFiVersionType80211g = 0x02, @@ -15334,7 +15334,7 @@ typedef NS_ENUM(NSInteger, CHIPWiFiNetworkDiagnosticsWiFiVersionType) { CHIPWiFiNetworkDiagnosticsWiFiVersionType80211ax = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPEthernetNetworkDiagnosticsPHYRateType) { +typedef NS_ENUM(uint8_t, CHIPEthernetNetworkDiagnosticsPHYRateType) { CHIPEthernetNetworkDiagnosticsPHYRateType10M = 0x00, CHIPEthernetNetworkDiagnosticsPHYRateType100M = 0x01, CHIPEthernetNetworkDiagnosticsPHYRateType1000M = 0x02, @@ -15347,19 +15347,19 @@ typedef NS_ENUM(NSInteger, CHIPEthernetNetworkDiagnosticsPHYRateType) { CHIPEthernetNetworkDiagnosticsPHYRateType400G = 0x09, }; -typedef NS_ENUM(NSInteger, CHIPAdministratorCommissioningCommissioningWindowStatus) { +typedef NS_ENUM(uint8_t, CHIPAdministratorCommissioningCommissioningWindowStatus) { CHIPAdministratorCommissioningCommissioningWindowStatusWindowNotOpen = 0x00, CHIPAdministratorCommissioningCommissioningWindowStatusEnhancedWindowOpen = 0x01, CHIPAdministratorCommissioningCommissioningWindowStatusBasicWindowOpen = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPAdministratorCommissioningStatusCode) { +typedef NS_ENUM(uint8_t, CHIPAdministratorCommissioningStatusCode) { CHIPAdministratorCommissioningStatusCodeBusy = 0x01, CHIPAdministratorCommissioningStatusCodePAKEParameterError = 0x02, CHIPAdministratorCommissioningStatusCodeWindowNotOpen = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPOperationalCredentialsOperationalCertStatus) { +typedef NS_ENUM(uint8_t, CHIPOperationalCredentialsOperationalCertStatus) { CHIPOperationalCredentialsOperationalCertStatusSUCCESS = 0x00, CHIPOperationalCredentialsOperationalCertStatusInvalidPublicKey = 0x01, CHIPOperationalCredentialsOperationalCertStatusInvalidNodeOpId = 0x02, @@ -15372,12 +15372,12 @@ typedef NS_ENUM(NSInteger, CHIPOperationalCredentialsOperationalCertStatus) { CHIPOperationalCredentialsOperationalCertStatusInvalidFabricIndex = 0x0B, }; -typedef NS_ENUM(NSInteger, CHIPGroupKeyManagementGroupKeySecurityPolicy) { +typedef NS_ENUM(uint8_t, CHIPGroupKeyManagementGroupKeySecurityPolicy) { CHIPGroupKeyManagementGroupKeySecurityPolicyTrustFirst = 0x00, CHIPGroupKeyManagementGroupKeySecurityPolicyCacheAndSync = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlAlarmCode) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlAlarmCode) { CHIPDoorLockDlAlarmCodeLockJammed = 0x00, CHIPDoorLockDlAlarmCodeLockFactoryReset = 0x01, CHIPDoorLockDlAlarmCodeLockRadioPowerCycled = 0x03, @@ -15388,13 +15388,13 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlAlarmCode) { CHIPDoorLockDlAlarmCodeForcedUser = 0x08, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlCredentialRule) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlCredentialRule) { CHIPDoorLockDlCredentialRuleSingle = 0x00, CHIPDoorLockDlCredentialRuleDouble = 0x01, CHIPDoorLockDlCredentialRuleTri = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlCredentialType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlCredentialType) { CHIPDoorLockDlCredentialTypeProgrammingPIN = 0x00, CHIPDoorLockDlCredentialTypePIN = 0x01, CHIPDoorLockDlCredentialTypeRFID = 0x02, @@ -15403,13 +15403,13 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlCredentialType) { CHIPDoorLockDlCredentialTypeFace = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlDataOperationType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlDataOperationType) { CHIPDoorLockDlDataOperationTypeAdd = 0x00, CHIPDoorLockDlDataOperationTypeClear = 0x01, CHIPDoorLockDlDataOperationTypeModify = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlDoorState) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlDoorState) { CHIPDoorLockDlDoorStateDoorOpen = 0x00, CHIPDoorLockDlDoorStateDoorClosed = 0x01, CHIPDoorLockDlDoorStateDoorJammed = 0x02, @@ -15418,7 +15418,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlDoorState) { CHIPDoorLockDlDoorStateDoorAjar = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlLockDataType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlLockDataType) { CHIPDoorLockDlLockDataTypeUnspecified = 0x00, CHIPDoorLockDlLockDataTypeProgrammingCode = 0x01, CHIPDoorLockDlLockDataTypeUserIndex = 0x02, @@ -15430,20 +15430,20 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlLockDataType) { CHIPDoorLockDlLockDataTypeFingerprint = 0x08, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlLockOperationType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlLockOperationType) { CHIPDoorLockDlLockOperationTypeLock = 0x00, CHIPDoorLockDlLockOperationTypeUnlock = 0x01, CHIPDoorLockDlLockOperationTypeNonAccessUserEvent = 0x02, CHIPDoorLockDlLockOperationTypeForcedUserEvent = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlLockState) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlLockState) { CHIPDoorLockDlLockStateNotFullyLocked = 0x00, CHIPDoorLockDlLockStateLocked = 0x01, CHIPDoorLockDlLockStateUnlocked = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlLockType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlLockType) { CHIPDoorLockDlLockTypeDeadBolt = 0x00, CHIPDoorLockDlLockTypeMagnetic = 0x01, CHIPDoorLockDlLockTypeOther = 0x02, @@ -15457,7 +15457,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlLockType) { CHIPDoorLockDlLockTypeDoorFurniture = 0x0A, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlOperatingMode) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlOperatingMode) { CHIPDoorLockDlOperatingModeNormal = 0x00, CHIPDoorLockDlOperatingModeVacation = 0x01, CHIPDoorLockDlOperatingModePrivacy = 0x02, @@ -15465,7 +15465,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlOperatingMode) { CHIPDoorLockDlOperatingModePassage = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlOperationError) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlOperationError) { CHIPDoorLockDlOperationErrorUnspecified = 0x00, CHIPDoorLockDlOperationErrorInvalidCredential = 0x01, CHIPDoorLockDlOperationErrorDisabledUserDenied = 0x02, @@ -15473,7 +15473,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlOperationError) { CHIPDoorLockDlOperationErrorInsufficientBattery = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlOperationSource) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlOperationSource) { CHIPDoorLockDlOperationSourceUnspecified = 0x00, CHIPDoorLockDlOperationSourceManual = 0x01, CHIPDoorLockDlOperationSourceProprietaryRemote = 0x02, @@ -15486,7 +15486,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlOperationSource) { CHIPDoorLockDlOperationSourceBiometric = 0x09, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlStatus) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlStatus) { CHIPDoorLockDlStatusSuccess = 0x00, CHIPDoorLockDlStatusFailure = 0x01, CHIPDoorLockDlStatusDuplicate = 0x02, @@ -15495,13 +15495,13 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlStatus) { CHIPDoorLockDlStatusNotFound = 0x8B, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlUserStatus) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlUserStatus) { CHIPDoorLockDlUserStatusAvailable = 0x00, CHIPDoorLockDlUserStatusOccupiedEnabled = 0x01, CHIPDoorLockDlUserStatusOccupiedDisabled = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockDlUserType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockDlUserType) { CHIPDoorLockDlUserTypeUnrestrictedUser = 0x00, CHIPDoorLockDlUserTypeYearDayScheduleUser = 0x01, CHIPDoorLockDlUserTypeWeekDayScheduleUser = 0x02, @@ -15514,7 +15514,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockDlUserType) { CHIPDoorLockDlUserTypeRemoteOnlyUser = 0x09, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockOperationEventCode) { +typedef NS_ENUM(uint8_t, CHIPDoorLockOperationEventCode) { CHIPDoorLockOperationEventCodeUnknownOrMfgSpecific = 0x00, CHIPDoorLockOperationEventCodeLock = 0x01, CHIPDoorLockOperationEventCodeUnlock = 0x02, @@ -15532,7 +15532,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockOperationEventCode) { CHIPDoorLockOperationEventCodeManualUnlock = 0x0E, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockProgrammingEventCode) { +typedef NS_ENUM(uint8_t, CHIPDoorLockProgrammingEventCode) { CHIPDoorLockProgrammingEventCodeUnknownOrMfgSpecific = 0x00, CHIPDoorLockProgrammingEventCodeMasterCodeChanged = 0x01, CHIPDoorLockProgrammingEventCodePinAdded = 0x02, @@ -15542,21 +15542,21 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockProgrammingEventCode) { CHIPDoorLockProgrammingEventCodeIdDeleted = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockSetPinOrIdStatus) { +typedef NS_ENUM(uint8_t, CHIPDoorLockSetPinOrIdStatus) { CHIPDoorLockSetPinOrIdStatusSuccess = 0x00, CHIPDoorLockSetPinOrIdStatusGeneralFailure = 0x01, CHIPDoorLockSetPinOrIdStatusMemoryFull = 0x02, CHIPDoorLockSetPinOrIdStatusDuplicateCodeError = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockUserStatus) { +typedef NS_ENUM(uint8_t, CHIPDoorLockUserStatus) { CHIPDoorLockUserStatusAvailable = 0x00, CHIPDoorLockUserStatusOccupiedEnabled = 0x01, CHIPDoorLockUserStatusOccupiedDisabled = 0x03, CHIPDoorLockUserStatusNotSupported = 0xFF, }; -typedef NS_ENUM(NSInteger, CHIPDoorLockUserType) { +typedef NS_ENUM(uint8_t, CHIPDoorLockUserType) { CHIPDoorLockUserTypeUnrestricted = 0x00, CHIPDoorLockUserTypeYearDayScheduleUser = 0x01, CHIPDoorLockUserTypeWeekDayScheduleUser = 0x02, @@ -15565,7 +15565,7 @@ typedef NS_ENUM(NSInteger, CHIPDoorLockUserType) { CHIPDoorLockUserTypeNotSupported = 0xFF, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlAlarmMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlAlarmMask) { CHIPDoorLockDlAlarmMaskLockingMechanismJammed = 0x1, CHIPDoorLockDlAlarmMaskLockResetToFactoryDefaults = 0x2, CHIPDoorLockDlAlarmMaskReserved = 0x4, @@ -15575,19 +15575,19 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlAlarmMask) { CHIPDoorLockDlAlarmMaskForcedDoorOpenUnderDoorLockedCondition = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlCredentialRuleMask) { +typedef NS_OPTIONS(uint8_t, CHIPDoorLockDlCredentialRuleMask) { CHIPDoorLockDlCredentialRuleMaskSingle = 0x1, CHIPDoorLockDlCredentialRuleMaskDual = 0x2, CHIPDoorLockDlCredentialRuleMaskTri = 0x4, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlCredentialRulesSupport) { +typedef NS_OPTIONS(uint8_t, CHIPDoorLockDlCredentialRulesSupport) { CHIPDoorLockDlCredentialRulesSupportSingle = 0x1, CHIPDoorLockDlCredentialRulesSupportDual = 0x2, CHIPDoorLockDlCredentialRulesSupportTri = 0x4, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlDaysMaskMap) { +typedef NS_OPTIONS(uint8_t, CHIPDoorLockDlDaysMaskMap) { CHIPDoorLockDlDaysMaskMapSunday = 0x1, CHIPDoorLockDlDaysMaskMapMonday = 0x2, CHIPDoorLockDlDaysMaskMapTuesday = 0x4, @@ -15597,7 +15597,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlDaysMaskMap) { CHIPDoorLockDlDaysMaskMapSaturday = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlDefaultConfigurationRegister) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlDefaultConfigurationRegister) { CHIPDoorLockDlDefaultConfigurationRegisterEnableLocalProgrammingEnabled = 0x1, CHIPDoorLockDlDefaultConfigurationRegisterKeypadInterfaceDefaultAccessEnabled = 0x2, CHIPDoorLockDlDefaultConfigurationRegisterRemoteInterfaceDefaultAccessIsEnabled = 0x4, @@ -15606,7 +15606,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlDefaultConfigurationRegister) { CHIPDoorLockDlDefaultConfigurationRegisterLEDSettingsSet = 0x80, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlKeypadOperationEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlKeypadOperationEventMask) { CHIPDoorLockDlKeypadOperationEventMaskUnknown = 0x1, CHIPDoorLockDlKeypadOperationEventMaskLock = 0x2, CHIPDoorLockDlKeypadOperationEventMaskUnlock = 0x4, @@ -15617,7 +15617,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlKeypadOperationEventMask) { CHIPDoorLockDlKeypadOperationEventMaskNonAccessUserOpEvent = 0x80, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlKeypadProgrammingEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlKeypadProgrammingEventMask) { CHIPDoorLockDlKeypadProgrammingEventMaskUnknown = 0x1, CHIPDoorLockDlKeypadProgrammingEventMaskProgrammingPINChanged = 0x2, CHIPDoorLockDlKeypadProgrammingEventMaskPINAdded = 0x4, @@ -15625,14 +15625,14 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlKeypadProgrammingEventMask) { CHIPDoorLockDlKeypadProgrammingEventMaskPINChanged = 0x10, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlLocalProgrammingFeatures) { +typedef NS_OPTIONS(uint8_t, CHIPDoorLockDlLocalProgrammingFeatures) { CHIPDoorLockDlLocalProgrammingFeaturesAddUsersCredentialsSchedulesLocally = 0x1, CHIPDoorLockDlLocalProgrammingFeaturesModifyUsersCredentialsSchedulesLocally = 0x2, CHIPDoorLockDlLocalProgrammingFeaturesClearUsersCredentialsSchedulesLocally = 0x4, CHIPDoorLockDlLocalProgrammingFeaturesAdjustLockSettingsLocally = 0x8, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlManualOperationEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlManualOperationEventMask) { CHIPDoorLockDlManualOperationEventMaskUnknown = 0x1, CHIPDoorLockDlManualOperationEventMaskThumbturnLock = 0x2, CHIPDoorLockDlManualOperationEventMaskThumbturnUnlock = 0x4, @@ -15646,7 +15646,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlManualOperationEventMask) { CHIPDoorLockDlManualOperationEventMaskManualUnlock = 0x400, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRFIDOperationEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlRFIDOperationEventMask) { CHIPDoorLockDlRFIDOperationEventMaskUnknown = 0x1, CHIPDoorLockDlRFIDOperationEventMaskLock = 0x2, CHIPDoorLockDlRFIDOperationEventMaskUnlock = 0x4, @@ -15656,13 +15656,13 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRFIDOperationEventMask) { CHIPDoorLockDlRFIDOperationEventMaskUnlockInvalidSchedule = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRFIDProgrammingEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlRFIDProgrammingEventMask) { CHIPDoorLockDlRFIDProgrammingEventMaskUnknown = 0x1, CHIPDoorLockDlRFIDProgrammingEventMaskRFIDCodeAdded = 0x20, CHIPDoorLockDlRFIDProgrammingEventMaskRFIDCodeCleared = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRemoteOperationEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlRemoteOperationEventMask) { CHIPDoorLockDlRemoteOperationEventMaskUnknown = 0x1, CHIPDoorLockDlRemoteOperationEventMaskLock = 0x2, CHIPDoorLockDlRemoteOperationEventMaskUnlock = 0x4, @@ -15672,7 +15672,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRemoteOperationEventMask) { CHIPDoorLockDlRemoteOperationEventMaskUnlockInvalidSchedule = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRemoteProgrammingEventMask) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlRemoteProgrammingEventMask) { CHIPDoorLockDlRemoteProgrammingEventMaskUnknown = 0x1, CHIPDoorLockDlRemoteProgrammingEventMaskProgrammingPINChanged = 0x2, CHIPDoorLockDlRemoteProgrammingEventMaskPINAdded = 0x4, @@ -15682,7 +15682,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlRemoteProgrammingEventMask) { CHIPDoorLockDlRemoteProgrammingEventMaskRFIDCodeCleared = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlSupportedOperatingModes) { +typedef NS_OPTIONS(uint16_t, CHIPDoorLockDlSupportedOperatingModes) { CHIPDoorLockDlSupportedOperatingModesNormal = 0x1, CHIPDoorLockDlSupportedOperatingModesVacation = 0x2, CHIPDoorLockDlSupportedOperatingModesPrivacy = 0x4, @@ -15690,7 +15690,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDlSupportedOperatingModes) { CHIPDoorLockDlSupportedOperatingModesPassage = 0x10, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDayOfWeek) { +typedef NS_OPTIONS(uint8_t, CHIPDoorLockDayOfWeek) { CHIPDoorLockDayOfWeekSunday = 0x1, CHIPDoorLockDayOfWeekMonday = 0x2, CHIPDoorLockDayOfWeekTuesday = 0x4, @@ -15700,7 +15700,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockDayOfWeek) { CHIPDoorLockDayOfWeekSaturday = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPDoorLockFeature) { +typedef NS_OPTIONS(uint32_t, CHIPDoorLockFeature) { CHIPDoorLockFeaturePINCredentials = 0x1, CHIPDoorLockFeatureRFIDCredentials = 0x2, CHIPDoorLockFeatureFingerCredentials = 0x4, @@ -15713,7 +15713,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPDoorLockFeature) { CHIPDoorLockFeatureNotifications = 0x200, }; -typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcConfigStatus) { +typedef NS_OPTIONS(uint8_t, CHIPWindowCoveringWcConfigStatus) { CHIPWindowCoveringWcConfigStatusOperational = 0x1, CHIPWindowCoveringWcConfigStatusOnline = 0x2, CHIPWindowCoveringWcConfigStatusOpenAndUpCommandsReversed = 0x4, @@ -15723,7 +15723,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcConfigStatus) { CHIPWindowCoveringWcConfigStatusTiltEncoderControlled = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcFeature) { +typedef NS_OPTIONS(uint32_t, CHIPWindowCoveringWcFeature) { CHIPWindowCoveringWcFeatureLift = 0x1, CHIPWindowCoveringWcFeatureTilt = 0x2, CHIPWindowCoveringWcFeaturePositionAwareLift = 0x4, @@ -15731,20 +15731,20 @@ typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcFeature) { CHIPWindowCoveringWcFeaturePositionAwareTilt = 0x10, }; -typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcMode) { +typedef NS_OPTIONS(uint8_t, CHIPWindowCoveringWcMode) { CHIPWindowCoveringWcModeMotorDirectionReversed = 0x1, CHIPWindowCoveringWcModeCalibrationMode = 0x2, CHIPWindowCoveringWcModeMaintenanceMode = 0x4, CHIPWindowCoveringWcModeLEDFeedback = 0x8, }; -typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcOperationalStatus) { +typedef NS_OPTIONS(uint8_t, CHIPWindowCoveringWcOperationalStatus) { CHIPWindowCoveringWcOperationalStatusGlobal = 0x3, CHIPWindowCoveringWcOperationalStatusLift = 0xC, CHIPWindowCoveringWcOperationalStatusTilt = 0x30, }; -typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcSafetyStatus) { +typedef NS_OPTIONS(uint16_t, CHIPWindowCoveringWcSafetyStatus) { CHIPWindowCoveringWcSafetyStatusRemoteLockout = 0x1, CHIPWindowCoveringWcSafetyStatusTamperDetection = 0x2, CHIPWindowCoveringWcSafetyStatusFailedCommunication = 0x4, @@ -15759,7 +15759,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPWindowCoveringWcSafetyStatus) { CHIPWindowCoveringWcSafetyStatusProtection = 0x800, }; -typedef NS_ENUM(NSInteger, CHIPPumpConfigurationAndControlPumpControlMode) { +typedef NS_ENUM(uint8_t, CHIPPumpConfigurationAndControlPumpControlMode) { CHIPPumpConfigurationAndControlPumpControlModeConstantSpeed = 0x00, CHIPPumpConfigurationAndControlPumpControlModeConstantPressure = 0x01, CHIPPumpConfigurationAndControlPumpControlModeProportionalPressure = 0x02, @@ -15768,14 +15768,14 @@ typedef NS_ENUM(NSInteger, CHIPPumpConfigurationAndControlPumpControlMode) { CHIPPumpConfigurationAndControlPumpControlModeAutomatic = 0x07, }; -typedef NS_ENUM(NSInteger, CHIPPumpConfigurationAndControlPumpOperationMode) { +typedef NS_ENUM(uint8_t, CHIPPumpConfigurationAndControlPumpOperationMode) { CHIPPumpConfigurationAndControlPumpOperationModeNormal = 0x00, CHIPPumpConfigurationAndControlPumpOperationModeMinimum = 0x01, CHIPPumpConfigurationAndControlPumpOperationModeMaximum = 0x02, CHIPPumpConfigurationAndControlPumpOperationModeLocal = 0x03, }; -typedef NS_OPTIONS(NSUInteger, CHIPPumpConfigurationAndControlPumpStatus) { +typedef NS_OPTIONS(uint16_t, CHIPPumpConfigurationAndControlPumpStatus) { CHIPPumpConfigurationAndControlPumpStatusDeviceFault = 0x1, CHIPPumpConfigurationAndControlPumpStatusSupplyfault = 0x2, CHIPPumpConfigurationAndControlPumpStatusSpeedLow = 0x4, @@ -15787,13 +15787,13 @@ typedef NS_OPTIONS(NSUInteger, CHIPPumpConfigurationAndControlPumpStatus) { CHIPPumpConfigurationAndControlPumpStatusRemoteTemperature = 0x100, }; -typedef NS_ENUM(NSInteger, CHIPThermostatSetpointAdjustMode) { +typedef NS_ENUM(uint8_t, CHIPThermostatSetpointAdjustMode) { CHIPThermostatSetpointAdjustModeHeatSetpoint = 0x00, CHIPThermostatSetpointAdjustModeCoolSetpoint = 0x01, CHIPThermostatSetpointAdjustModeHeatAndCoolSetpoints = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPThermostatControlSequence) { +typedef NS_ENUM(uint8_t, CHIPThermostatControlSequence) { CHIPThermostatControlSequenceCoolingOnly = 0x00, CHIPThermostatControlSequenceCoolingWithReheat = 0x01, CHIPThermostatControlSequenceHeatingOnly = 0x02, @@ -15802,13 +15802,13 @@ typedef NS_ENUM(NSInteger, CHIPThermostatControlSequence) { CHIPThermostatControlSequenceCoolingAndHeatingWithReheat = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPThermostatRunningMode) { +typedef NS_ENUM(uint8_t, CHIPThermostatRunningMode) { CHIPThermostatRunningModeOff = 0x00, CHIPThermostatRunningModeCool = 0x03, CHIPThermostatRunningModeHeat = 0x04, }; -typedef NS_ENUM(NSInteger, CHIPThermostatSystemMode) { +typedef NS_ENUM(uint8_t, CHIPThermostatSystemMode) { CHIPThermostatSystemModeOff = 0x00, CHIPThermostatSystemModeAuto = 0x01, CHIPThermostatSystemModeCool = 0x03, @@ -15818,7 +15818,7 @@ typedef NS_ENUM(NSInteger, CHIPThermostatSystemMode) { CHIPThermostatSystemModeFanOnly = 0x07, }; -typedef NS_OPTIONS(NSUInteger, CHIPThermostatDayOfWeek) { +typedef NS_OPTIONS(uint8_t, CHIPThermostatDayOfWeek) { CHIPThermostatDayOfWeekSunday = 0x1, CHIPThermostatDayOfWeekMonday = 0x2, CHIPThermostatDayOfWeekTuesday = 0x4, @@ -15829,12 +15829,12 @@ typedef NS_OPTIONS(NSUInteger, CHIPThermostatDayOfWeek) { CHIPThermostatDayOfWeekAwayOrVacation = 0x80, }; -typedef NS_OPTIONS(NSUInteger, CHIPThermostatModeForSequence) { +typedef NS_OPTIONS(uint8_t, CHIPThermostatModeForSequence) { CHIPThermostatModeForSequenceHeatSetpointFieldPresent = 0x1, CHIPThermostatModeForSequenceCoolSetpointFieldPresent = 0x2, }; -typedef NS_OPTIONS(NSUInteger, CHIPThermostatFeature) { +typedef NS_OPTIONS(uint32_t, CHIPThermostatFeature) { CHIPThermostatFeatureHeating = 0x1, CHIPThermostatFeatureCooling = 0x2, CHIPThermostatFeatureOccupancy = 0x4, @@ -15843,53 +15843,53 @@ typedef NS_OPTIONS(NSUInteger, CHIPThermostatFeature) { CHIPThermostatFeatureAutomode = 0x20, }; -typedef NS_ENUM(NSInteger, CHIPColorControlColorLoopAction) { +typedef NS_ENUM(uint8_t, CHIPColorControlColorLoopAction) { CHIPColorControlColorLoopActionDeactivate = 0x00, CHIPColorControlColorLoopActionActivateFromColorLoopStartEnhancedHue = 0x01, CHIPColorControlColorLoopActionActivateFromEnhancedCurrentHue = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPColorControlColorLoopDirection) { +typedef NS_ENUM(uint8_t, CHIPColorControlColorLoopDirection) { CHIPColorControlColorLoopDirectionDecrementHue = 0x00, CHIPColorControlColorLoopDirectionIncrementHue = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPColorControlColorMode) { +typedef NS_ENUM(uint8_t, CHIPColorControlColorMode) { CHIPColorControlColorModeCurrentHueAndCurrentSaturation = 0x00, CHIPColorControlColorModeCurrentXAndCurrentY = 0x01, CHIPColorControlColorModeColorTemperature = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPColorControlHueDirection) { +typedef NS_ENUM(uint8_t, CHIPColorControlHueDirection) { CHIPColorControlHueDirectionShortestDistance = 0x00, CHIPColorControlHueDirectionLongestDistance = 0x01, CHIPColorControlHueDirectionUp = 0x02, CHIPColorControlHueDirectionDown = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPColorControlHueMoveMode) { +typedef NS_ENUM(uint8_t, CHIPColorControlHueMoveMode) { CHIPColorControlHueMoveModeStop = 0x00, CHIPColorControlHueMoveModeUp = 0x01, CHIPColorControlHueMoveModeDown = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPColorControlHueStepMode) { +typedef NS_ENUM(uint8_t, CHIPColorControlHueStepMode) { CHIPColorControlHueStepModeUp = 0x01, CHIPColorControlHueStepModeDown = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPColorControlSaturationMoveMode) { +typedef NS_ENUM(uint8_t, CHIPColorControlSaturationMoveMode) { CHIPColorControlSaturationMoveModeStop = 0x00, CHIPColorControlSaturationMoveModeUp = 0x01, CHIPColorControlSaturationMoveModeDown = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPColorControlSaturationStepMode) { +typedef NS_ENUM(uint8_t, CHIPColorControlSaturationStepMode) { CHIPColorControlSaturationStepModeUp = 0x01, CHIPColorControlSaturationStepModeDown = 0x03, }; -typedef NS_OPTIONS(NSUInteger, CHIPColorControlColorCapabilities) { +typedef NS_OPTIONS(uint16_t, CHIPColorControlColorCapabilities) { CHIPColorControlColorCapabilitiesHueSaturationSupported = 0x1, CHIPColorControlColorCapabilitiesEnhancedHueSupported = 0x2, CHIPColorControlColorCapabilitiesColorLoopSupported = 0x4, @@ -15897,30 +15897,30 @@ typedef NS_OPTIONS(NSUInteger, CHIPColorControlColorCapabilities) { CHIPColorControlColorCapabilitiesColorTemperatureSupported = 0x10, }; -typedef NS_OPTIONS(NSUInteger, CHIPColorControlColorLoopUpdateFlags) { +typedef NS_OPTIONS(uint8_t, CHIPColorControlColorLoopUpdateFlags) { CHIPColorControlColorLoopUpdateFlagsUpdateAction = 0x1, CHIPColorControlColorLoopUpdateFlagsUpdateDirection = 0x2, CHIPColorControlColorLoopUpdateFlagsUpdateTime = 0x4, CHIPColorControlColorLoopUpdateFlagsUpdateStartHue = 0x8, }; -typedef NS_ENUM(NSInteger, CHIPIlluminanceMeasurementLightSensorType) { +typedef NS_ENUM(uint8_t, CHIPIlluminanceMeasurementLightSensorType) { CHIPIlluminanceMeasurementLightSensorTypePhotodiode = 0x00, CHIPIlluminanceMeasurementLightSensorTypeCMOS = 0x01, }; -typedef NS_OPTIONS(NSUInteger, CHIPPressureMeasurementPressureFeature) { +typedef NS_OPTIONS(uint32_t, CHIPPressureMeasurementPressureFeature) { CHIPPressureMeasurementPressureFeatureEXT = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPIasZoneIasEnrollResponseCode) { +typedef NS_ENUM(uint8_t, CHIPIasZoneIasEnrollResponseCode) { CHIPIasZoneIasEnrollResponseCodeSuccess = 0x00, CHIPIasZoneIasEnrollResponseCodeNotSupported = 0x01, CHIPIasZoneIasEnrollResponseCodeNoEnrollPermit = 0x02, CHIPIasZoneIasEnrollResponseCodeTooManyZones = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPIasZoneType) { +typedef NS_ENUM(uint16_t, CHIPIasZoneType) { CHIPIasZoneTypeStandardCie = 0x00, CHIPIasZoneTypeMotionSensor = 0x0D, CHIPIasZoneTypeContactSwitch = 0x15, @@ -15939,7 +15939,7 @@ typedef NS_ENUM(NSInteger, CHIPIasZoneType) { CHIPIasZoneTypeInvalidZoneType = 0xFFFF, }; -typedef NS_OPTIONS(NSUInteger, CHIPIasZoneStatus) { +typedef NS_OPTIONS(uint16_t, CHIPIasZoneStatus) { CHIPIasZoneStatusAlarm1 = 0x1, CHIPIasZoneStatusAlarm2 = 0x2, CHIPIasZoneStatusTamper = 0x4, @@ -15952,7 +15952,7 @@ typedef NS_OPTIONS(NSUInteger, CHIPIasZoneStatus) { CHIPIasZoneStatusBatteryDefect = 0x200, }; -typedef NS_ENUM(NSInteger, CHIPIasAceAlarmStatus) { +typedef NS_ENUM(uint8_t, CHIPIasAceAlarmStatus) { CHIPIasAceAlarmStatusNoAlarm = 0x00, CHIPIasAceAlarmStatusBurglar = 0x01, CHIPIasAceAlarmStatusFire = 0x02, @@ -15962,14 +15962,14 @@ typedef NS_ENUM(NSInteger, CHIPIasAceAlarmStatus) { CHIPIasAceAlarmStatusEmergencyPanic = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPIasAceArmMode) { +typedef NS_ENUM(uint8_t, CHIPIasAceArmMode) { CHIPIasAceArmModeDisarm = 0x00, CHIPIasAceArmModeArmDayHomeZonesOnly = 0x01, CHIPIasAceArmModeArmNightSleepZonesOnly = 0x02, CHIPIasAceArmModeArmAllZones = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPIasAceArmNotification) { +typedef NS_ENUM(uint8_t, CHIPIasAceArmNotification) { CHIPIasAceArmNotificationAllZonesDisarmed = 0x00, CHIPIasAceArmNotificationOnlyDayHomeZonesArmed = 0x01, CHIPIasAceArmNotificationOnlyNightSleepZonesArmed = 0x02, @@ -15979,12 +15979,12 @@ typedef NS_ENUM(NSInteger, CHIPIasAceArmNotification) { CHIPIasAceArmNotificationAlreadyDisarmed = 0x06, }; -typedef NS_ENUM(NSInteger, CHIPIasAceAudibleNotification) { +typedef NS_ENUM(uint8_t, CHIPIasAceAudibleNotification) { CHIPIasAceAudibleNotificationMute = 0x00, CHIPIasAceAudibleNotificationDefaultSound = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPIasAceBypassResult) { +typedef NS_ENUM(uint8_t, CHIPIasAceBypassResult) { CHIPIasAceBypassResultZoneBypassed = 0x00, CHIPIasAceBypassResultZoneNotBypassed = 0x01, CHIPIasAceBypassResultNotAllowed = 0x02, @@ -15993,7 +15993,7 @@ typedef NS_ENUM(NSInteger, CHIPIasAceBypassResult) { CHIPIasAceBypassResultInvalidArmDisarmCode = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPIasAcePanelStatus) { +typedef NS_ENUM(uint8_t, CHIPIasAcePanelStatus) { CHIPIasAcePanelStatusPanelDisarmed = 0x00, CHIPIasAcePanelStatusArmedStay = 0x01, CHIPIasAcePanelStatusArmedNight = 0x02, @@ -16007,7 +16007,7 @@ typedef NS_ENUM(NSInteger, CHIPIasAcePanelStatus) { CHIPIasAcePanelStatusArmingAway = 0x0A, }; -typedef NS_ENUM(NSInteger, CHIPIasAceIasZoneType) { +typedef NS_ENUM(uint16_t, CHIPIasAceIasZoneType) { CHIPIasAceIasZoneTypeStandardCie = 0x00, CHIPIasAceIasZoneTypeMotionSensor = 0x0D, CHIPIasAceIasZoneTypeContactSwitch = 0x15, @@ -16026,7 +16026,7 @@ typedef NS_ENUM(NSInteger, CHIPIasAceIasZoneType) { CHIPIasAceIasZoneTypeInvalidZoneType = 0xFFFF, }; -typedef NS_OPTIONS(NSUInteger, CHIPIasAceIasZoneStatus) { +typedef NS_OPTIONS(uint16_t, CHIPIasAceIasZoneStatus) { CHIPIasAceIasZoneStatusAlarm1 = 0x1, CHIPIasAceIasZoneStatusAlarm2 = 0x2, CHIPIasAceIasZoneStatusTamper = 0x4, @@ -16039,47 +16039,47 @@ typedef NS_OPTIONS(NSUInteger, CHIPIasAceIasZoneStatus) { CHIPIasAceIasZoneStatusBatteryDefect = 0x200, }; -typedef NS_OPTIONS(NSUInteger, CHIPIasWdSquawkInfo) { +typedef NS_OPTIONS(uint8_t, CHIPIasWdSquawkInfo) { CHIPIasWdSquawkInfoMode = 0xF0, CHIPIasWdSquawkInfoStrobe = 0x8, CHIPIasWdSquawkInfoLevel = 0x3, }; -typedef NS_OPTIONS(NSUInteger, CHIPIasWdWarningInfo) { +typedef NS_OPTIONS(uint8_t, CHIPIasWdWarningInfo) { CHIPIasWdWarningInfoMode = 0xF0, CHIPIasWdWarningInfoStrobe = 0xC, CHIPIasWdWarningInfoSirenLevel = 0x3, }; -typedef NS_ENUM(NSInteger, CHIPChannelLineupInfoType) { +typedef NS_ENUM(uint8_t, CHIPChannelLineupInfoType) { CHIPChannelLineupInfoTypeMso = 0x00, }; -typedef NS_ENUM(NSInteger, CHIPChannelStatus) { +typedef NS_ENUM(uint8_t, CHIPChannelStatus) { CHIPChannelStatusSuccess = 0x00, CHIPChannelStatusMultipleMatches = 0x01, CHIPChannelStatusNoMatches = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPChannelFeature) { +typedef NS_OPTIONS(uint32_t, CHIPChannelFeature) { CHIPChannelFeatureChannelList = 0x1, CHIPChannelFeatureLineupInfo = 0x2, }; -typedef NS_ENUM(NSInteger, CHIPTargetNavigatorStatus) { +typedef NS_ENUM(uint8_t, CHIPTargetNavigatorStatus) { CHIPTargetNavigatorStatusSuccess = 0x00, CHIPTargetNavigatorStatusTargetNotFound = 0x01, CHIPTargetNavigatorStatusNotAllowed = 0x02, }; -typedef NS_ENUM(NSInteger, CHIPMediaPlaybackPlaybackState) { +typedef NS_ENUM(uint8_t, CHIPMediaPlaybackPlaybackState) { CHIPMediaPlaybackPlaybackStatePlaying = 0x00, CHIPMediaPlaybackPlaybackStatePaused = 0x01, CHIPMediaPlaybackPlaybackStateNotPlaying = 0x02, CHIPMediaPlaybackPlaybackStateBuffering = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPMediaPlaybackStatus) { +typedef NS_ENUM(uint8_t, CHIPMediaPlaybackStatus) { CHIPMediaPlaybackStatusSuccess = 0x00, CHIPMediaPlaybackStatusInvalidStateForCommand = 0x01, CHIPMediaPlaybackStatusNotAllowed = 0x02, @@ -16088,7 +16088,7 @@ typedef NS_ENUM(NSInteger, CHIPMediaPlaybackStatus) { CHIPMediaPlaybackStatusSeekOutOfRange = 0x05, }; -typedef NS_ENUM(NSInteger, CHIPMediaInputInputType) { +typedef NS_ENUM(uint8_t, CHIPMediaInputInputType) { CHIPMediaInputInputTypeInternal = 0x00, CHIPMediaInputInputTypeAux = 0x01, CHIPMediaInputInputTypeCoax = 0x02, @@ -16103,11 +16103,11 @@ typedef NS_ENUM(NSInteger, CHIPMediaInputInputType) { CHIPMediaInputInputTypeOther = 0x0B, }; -typedef NS_OPTIONS(NSUInteger, CHIPMediaInputFeature) { +typedef NS_OPTIONS(uint32_t, CHIPMediaInputFeature) { CHIPMediaInputFeatureNameUpdates = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPKeypadInputCecKeyCode) { +typedef NS_ENUM(uint8_t, CHIPKeypadInputCecKeyCode) { CHIPKeypadInputCecKeyCodeSelect = 0x00, CHIPKeypadInputCecKeyCodeUp = 0x01, CHIPKeypadInputCecKeyCodeDown = 0x02, @@ -16196,24 +16196,24 @@ typedef NS_ENUM(NSInteger, CHIPKeypadInputCecKeyCode) { CHIPKeypadInputCecKeyCodeData = 0x76, }; -typedef NS_ENUM(NSInteger, CHIPKeypadInputStatus) { +typedef NS_ENUM(uint8_t, CHIPKeypadInputStatus) { CHIPKeypadInputStatusSuccess = 0x00, CHIPKeypadInputStatusUnsupportedKey = 0x01, CHIPKeypadInputStatusInvalidKeyInCurrentState = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPKeypadInputFeature) { +typedef NS_OPTIONS(uint32_t, CHIPKeypadInputFeature) { CHIPKeypadInputFeatureNavigationKeyCodes = 0x1, CHIPKeypadInputFeatureLocationKeys = 0x2, CHIPKeypadInputFeatureNumberKeys = 0x4, }; -typedef NS_ENUM(NSInteger, CHIPContentLauncherMetricType) { +typedef NS_ENUM(uint8_t, CHIPContentLauncherMetricType) { CHIPContentLauncherMetricTypePIXELS = 0x00, CHIPContentLauncherMetricTypePERCENTAGE = 0x01, }; -typedef NS_ENUM(NSInteger, CHIPContentLauncherParameter) { +typedef NS_ENUM(uint8_t, CHIPContentLauncherParameter) { CHIPContentLauncherParameterActor = 0x00, CHIPContentLauncherParameterChannel = 0x01, CHIPContentLauncherParameterCharacter = 0x02, @@ -16229,23 +16229,23 @@ typedef NS_ENUM(NSInteger, CHIPContentLauncherParameter) { CHIPContentLauncherParameterType = 0x0C, }; -typedef NS_ENUM(NSInteger, CHIPContentLauncherStatus) { +typedef NS_ENUM(uint8_t, CHIPContentLauncherStatus) { CHIPContentLauncherStatusSuccess = 0x00, CHIPContentLauncherStatusUrlNotAvailable = 0x01, CHIPContentLauncherStatusAuthFailed = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPContentLauncherFeature) { +typedef NS_OPTIONS(uint32_t, CHIPContentLauncherFeature) { CHIPContentLauncherFeatureContentSearch = 0x1, CHIPContentLauncherFeatureURLPlayback = 0x2, }; -typedef NS_OPTIONS(NSUInteger, CHIPContentLauncherSupportedStreamingProtocol) { +typedef NS_OPTIONS(uint32_t, CHIPContentLauncherSupportedStreamingProtocol) { CHIPContentLauncherSupportedStreamingProtocolDASH = 0x1, CHIPContentLauncherSupportedStreamingProtocolHLS = 0x2, }; -typedef NS_ENUM(NSInteger, CHIPAudioOutputOutputType) { +typedef NS_ENUM(uint8_t, CHIPAudioOutputOutputType) { CHIPAudioOutputOutputTypeHdmi = 0x00, CHIPAudioOutputOutputTypeBt = 0x01, CHIPAudioOutputOutputTypeOptical = 0x02, @@ -16254,69 +16254,69 @@ typedef NS_ENUM(NSInteger, CHIPAudioOutputOutputType) { CHIPAudioOutputOutputTypeOther = 0x05, }; -typedef NS_OPTIONS(NSUInteger, CHIPAudioOutputAudiouOutputFeature) { +typedef NS_OPTIONS(uint32_t, CHIPAudioOutputAudiouOutputFeature) { CHIPAudioOutputAudiouOutputFeatureNameUpdates = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPApplicationLauncherStatus) { +typedef NS_ENUM(uint8_t, CHIPApplicationLauncherStatus) { CHIPApplicationLauncherStatusSuccess = 0x00, CHIPApplicationLauncherStatusAppNotAvailable = 0x01, CHIPApplicationLauncherStatusSystemBusy = 0x02, }; -typedef NS_OPTIONS(NSUInteger, CHIPApplicationLauncherFeature) { +typedef NS_OPTIONS(uint32_t, CHIPApplicationLauncherFeature) { CHIPApplicationLauncherFeatureApplicationPlatform = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPApplicationBasicApplicationStatus) { +typedef NS_ENUM(uint8_t, CHIPApplicationBasicApplicationStatus) { CHIPApplicationBasicApplicationStatusStopped = 0x00, CHIPApplicationBasicApplicationStatusActiveVisibleFocus = 0x01, CHIPApplicationBasicApplicationStatusActiveHidden = 0x02, CHIPApplicationBasicApplicationStatusActiveVisibleNotFocus = 0x03, }; -typedef NS_ENUM(NSInteger, CHIPTestClusterSimple) { +typedef NS_ENUM(uint8_t, CHIPTestClusterSimple) { CHIPTestClusterSimpleUnspecified = 0x00, CHIPTestClusterSimpleValueA = 0x01, CHIPTestClusterSimpleValueB = 0x02, CHIPTestClusterSimpleValueC = 0x03, }; -typedef NS_OPTIONS(NSUInteger, CHIPTestClusterBitmap16MaskMap) { +typedef NS_OPTIONS(uint16_t, CHIPTestClusterBitmap16MaskMap) { CHIPTestClusterBitmap16MaskMapMaskVal1 = 0x1, CHIPTestClusterBitmap16MaskMapMaskVal2 = 0x2, CHIPTestClusterBitmap16MaskMapMaskVal3 = 0x4, CHIPTestClusterBitmap16MaskMapMaskVal4 = 0x4000, }; -typedef NS_OPTIONS(NSUInteger, CHIPTestClusterBitmap32MaskMap) { +typedef NS_OPTIONS(uint32_t, CHIPTestClusterBitmap32MaskMap) { CHIPTestClusterBitmap32MaskMapMaskVal1 = 0x1, CHIPTestClusterBitmap32MaskMapMaskVal2 = 0x2, CHIPTestClusterBitmap32MaskMapMaskVal3 = 0x4, CHIPTestClusterBitmap32MaskMapMaskVal4 = 0x40000000, }; -typedef NS_OPTIONS(NSUInteger, CHIPTestClusterBitmap64MaskMap) { +typedef NS_OPTIONS(uint64_t, CHIPTestClusterBitmap64MaskMap) { CHIPTestClusterBitmap64MaskMapMaskVal1 = 0x1, CHIPTestClusterBitmap64MaskMapMaskVal2 = 0x2, CHIPTestClusterBitmap64MaskMapMaskVal3 = 0x4, CHIPTestClusterBitmap64MaskMapMaskVal4 = 0x4000000000000000, }; -typedef NS_OPTIONS(NSUInteger, CHIPTestClusterBitmap8MaskMap) { +typedef NS_OPTIONS(uint8_t, CHIPTestClusterBitmap8MaskMap) { CHIPTestClusterBitmap8MaskMapMaskVal1 = 0x1, CHIPTestClusterBitmap8MaskMapMaskVal2 = 0x2, CHIPTestClusterBitmap8MaskMapMaskVal3 = 0x4, CHIPTestClusterBitmap8MaskMapMaskVal4 = 0x40, }; -typedef NS_OPTIONS(NSUInteger, CHIPTestClusterSimpleBitmap) { +typedef NS_OPTIONS(uint8_t, CHIPTestClusterSimpleBitmap) { CHIPTestClusterSimpleBitmapValueA = 0x1, CHIPTestClusterSimpleBitmapValueB = 0x2, CHIPTestClusterSimpleBitmapValueC = 0x4, }; -typedef NS_ENUM(NSInteger, CHIPMessagingEventId) { +typedef NS_ENUM(uint8_t, CHIPMessagingEventId) { CHIPMessagingEventIdMeterCoverRemoved = 0x00, CHIPMessagingEventIdMeterCoverClosed = 0x01, CHIPMessagingEventIdStrongMagneticField = 0x02, @@ -16400,47 +16400,47 @@ typedef NS_ENUM(NSInteger, CHIPMessagingEventId) { CHIPMessagingEventIdManufacturerSpecificI = 0xE8, }; -typedef NS_ENUM(NSInteger, CHIPMessagingControlConfirmation) { +typedef NS_ENUM(uint8_t, CHIPMessagingControlConfirmation) { CHIPMessagingControlConfirmationNotRequired = 0x00, CHIPMessagingControlConfirmationRequired = 0x80, }; -typedef NS_ENUM(NSInteger, CHIPMessagingControlEnhancedConfirmation) { +typedef NS_ENUM(uint8_t, CHIPMessagingControlEnhancedConfirmation) { CHIPMessagingControlEnhancedConfirmationNotRequired = 0x00, CHIPMessagingControlEnhancedConfirmationRequired = 0x20, }; -typedef NS_ENUM(NSInteger, CHIPMessagingControlImportance) { +typedef NS_ENUM(uint8_t, CHIPMessagingControlImportance) { CHIPMessagingControlImportanceLow = 0x00, CHIPMessagingControlImportanceMedium = 0x04, CHIPMessagingControlImportanceHigh = 0x08, CHIPMessagingControlImportanceCritical = 0x0C, }; -typedef NS_ENUM(NSInteger, CHIPMessagingControlTransmission) { +typedef NS_ENUM(uint8_t, CHIPMessagingControlTransmission) { CHIPMessagingControlTransmissionNormal = 0x00, CHIPMessagingControlTransmissionNormalAndAnonymous = 0x01, CHIPMessagingControlTransmissionAnonymous = 0x02, CHIPMessagingControlTransmissionReserved = 0x03, }; -typedef NS_OPTIONS(NSUInteger, CHIPMessagingConfirmationControl) { +typedef NS_OPTIONS(uint8_t, CHIPMessagingConfirmationControl) { CHIPMessagingConfirmationControlNoReturned = 0x1, CHIPMessagingConfirmationControlYesReturned = 0x2, }; -typedef NS_OPTIONS(NSUInteger, CHIPMessagingControlMask) { +typedef NS_OPTIONS(uint8_t, CHIPMessagingControlMask) { CHIPMessagingControlMaskTransMechanism = 0x3, CHIPMessagingControlMaskMessageUrgency = 0xC, CHIPMessagingControlMaskEnhancedConfirmationRequest = 0x20, CHIPMessagingControlMaskMessageConfirmation = 0x80, }; -typedef NS_OPTIONS(NSUInteger, CHIPMessagingExtendedControlMask) { +typedef NS_OPTIONS(uint8_t, CHIPMessagingExtendedControlMask) { CHIPMessagingExtendedControlMaskMessageConfirmationStatus = 0x1, }; -typedef NS_ENUM(NSInteger, CHIPApplianceEventsAndAlertEventIdentification) { +typedef NS_ENUM(uint8_t, CHIPApplianceEventsAndAlertEventIdentification) { CHIPApplianceEventsAndAlertEventIdentificationEndOfCycle = 0x01, CHIPApplianceEventsAndAlertEventIdentificationTemperatureReached = 0x04, CHIPApplianceEventsAndAlertEventIdentificationEndOfCooking = 0x05, @@ -16448,12 +16448,12 @@ typedef NS_ENUM(NSInteger, CHIPApplianceEventsAndAlertEventIdentification) { CHIPApplianceEventsAndAlertEventIdentificationWrongData = 0x07, }; -typedef NS_OPTIONS(NSUInteger, CHIPApplianceEventsAndAlertAlertCount) { +typedef NS_OPTIONS(uint8_t, CHIPApplianceEventsAndAlertAlertCount) { CHIPApplianceEventsAndAlertAlertCountNumberOfAlerts = 0xF, CHIPApplianceEventsAndAlertAlertCountTypeOfAlert = 0xF0, }; -typedef NS_OPTIONS(NSUInteger, CHIPApplianceEventsAndAlertAlertStructure) { +typedef NS_OPTIONS(uint32_t, CHIPApplianceEventsAndAlertAlertStructure) { CHIPApplianceEventsAndAlertAlertStructureAlertId = 0xFF, CHIPApplianceEventsAndAlertAlertStructureCategory = 0xF00, CHIPApplianceEventsAndAlertAlertStructurePresenceRecovery = 0x3000, From ce71ad8c89e7f3e0071ebdba4bf99baae2dbef23 Mon Sep 17 00:00:00 2001 From: Zang MingJie Date: Wed, 16 Mar 2022 22:53:24 +0800 Subject: [PATCH 24/37] Rename IV to nonce (#16216) --- src/crypto/CHIPCryptoPAL.h | 14 +- src/crypto/CHIPCryptoPALOpenSSL.cpp | 34 +- src/crypto/CHIPCryptoPALmbedTLS.cpp | 22 +- src/crypto/tests/AES_CCM_128_test_vectors.h | 1320 ++++----- src/crypto/tests/AES_CCM_256_test_vectors.h | 2719 +++++++++---------- src/crypto/tests/CHIPCryptoPALTest.cpp | 50 +- src/transport/CryptoContext.cpp | 28 +- src/transport/CryptoContext.h | 2 +- 8 files changed, 2081 insertions(+), 2108 deletions(-) diff --git a/src/crypto/CHIPCryptoPAL.h b/src/crypto/CHIPCryptoPAL.h index e7d8f8429e4bed..c21384b4e49fe1 100644 --- a/src/crypto/CHIPCryptoPAL.h +++ b/src/crypto/CHIPCryptoPAL.h @@ -552,15 +552,15 @@ CHIP_ERROR ConvertIntegerRawToDerWithoutTag(const ByteSpan & raw_integer, Mutabl * @param aad_length Length of additional authentication data * @param key Encryption key * @param key_length Length of encryption key (in bytes) - * @param iv Initial vector - * @param iv_length Length of initial vector + * @param nonce Encryption nonce + * @param nonce_length Length of encryption nonce * @param ciphertext Buffer to write ciphertext into. Caller must ensure this is large enough to hold the ciphertext * @param tag Buffer to write tag into. Caller must ensure this is large enough to hold the tag * @param tag_length Expected length of tag * @return Returns a CHIP_ERROR on error, CHIP_NO_ERROR otherwise * */ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, const uint8_t * aad, size_t aad_length, - const uint8_t * key, size_t key_length, const uint8_t * iv, size_t iv_length, uint8_t * ciphertext, + const uint8_t * key, size_t key_length, const uint8_t * nonce, size_t nonce_length, uint8_t * ciphertext, uint8_t * tag, size_t tag_length); /** @@ -579,15 +579,15 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c * @param tag_length Length of tag * @param key Decryption key * @param key_length Length of Decryption key (in bytes) - * @param iv Initial vector - * @param iv_length Length of initial vector + * @param nonce Encryption nonce + * @param nonce_length Length of encryption nonce * @param plaintext Buffer to write plaintext into * @return Returns a CHIP_ERROR on error, CHIP_NO_ERROR otherwise **/ CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_length, const uint8_t * aad, size_t aad_length, - const uint8_t * tag, size_t tag_length, const uint8_t * key, size_t key_length, const uint8_t * iv, - size_t iv_length, uint8_t * plaintext); + const uint8_t * tag, size_t tag_length, const uint8_t * key, size_t key_length, const uint8_t * nonce, + size_t nonce_length, uint8_t * plaintext); /** * @brief Verify the Certificate Signing Request (CSR). If successfully verified, it outputs the public key from the CSR. diff --git a/src/crypto/CHIPCryptoPALOpenSSL.cpp b/src/crypto/CHIPCryptoPALOpenSSL.cpp index b9597a63c6be52..814b90a56980f5 100644 --- a/src/crypto/CHIPCryptoPALOpenSSL.cpp +++ b/src/crypto/CHIPCryptoPALOpenSSL.cpp @@ -125,7 +125,7 @@ static const EVP_MD * _digestForType(DigestType digestType) } CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, const uint8_t * aad, size_t aad_length, - const uint8_t * key, size_t key_length, const uint8_t * iv, size_t iv_length, uint8_t * ciphertext, + const uint8_t * key, size_t key_length, const uint8_t * nonce, size_t nonce_length, uint8_t * ciphertext, uint8_t * tag, size_t tag_length) { EVP_CIPHER_CTX * context = nullptr; @@ -166,9 +166,9 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c VerifyOrExit(ciphertext != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(key != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(_isValidKeyLength(key_length), error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(iv != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(iv_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(CanCastTo(iv_length), error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(CanCastTo(nonce_length), error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(tag != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(_isValidTagLength(tag_length), error = CHIP_ERROR_INVALID_ARGUMENT); @@ -183,16 +183,16 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c result = EVP_EncryptInit_ex(context, type, nullptr, nullptr, nullptr); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); - // Pass in IV length. Cast is safe because we checked with CanCastTo. - result = EVP_CIPHER_CTX_ctrl(context, EVP_CTRL_CCM_SET_IVLEN, static_cast(iv_length), nullptr); + // Pass in nonce length. Cast is safe because we checked with CanCastTo. + result = EVP_CIPHER_CTX_ctrl(context, EVP_CTRL_CCM_SET_IVLEN, static_cast(nonce_length), nullptr); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); // Pass in tag length. Cast is safe because we checked _isValidTagLength. result = EVP_CIPHER_CTX_ctrl(context, EVP_CTRL_CCM_SET_TAG, static_cast(tag_length), nullptr); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); - // Pass in key + iv - result = EVP_EncryptInit_ex(context, nullptr, nullptr, Uint8::to_const_uchar(key), Uint8::to_const_uchar(iv)); + // Pass in key + nonce + result = EVP_EncryptInit_ex(context, nullptr, nullptr, Uint8::to_const_uchar(key), Uint8::to_const_uchar(nonce)); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); // Pass in plain text length @@ -237,8 +237,8 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c } CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_length, const uint8_t * aad, size_t aad_length, - const uint8_t * tag, size_t tag_length, const uint8_t * key, size_t key_length, const uint8_t * iv, - size_t iv_length, uint8_t * plaintext) + const uint8_t * tag, size_t tag_length, const uint8_t * key, size_t key_length, const uint8_t * nonce, + size_t nonce_length, uint8_t * plaintext) { EVP_CIPHER_CTX * context = nullptr; CHIP_ERROR error = CHIP_NO_ERROR; @@ -278,8 +278,8 @@ CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_length, VerifyOrExit(_isValidTagLength(tag_length), error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(key != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(_isValidKeyLength(key_length), error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(iv != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(iv_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); // TODO: Remove support for AES-256 since not in 1.0 // Determine crypto type by key length @@ -292,9 +292,9 @@ CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_length, result = EVP_DecryptInit_ex(context, type, nullptr, nullptr, nullptr); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); - // Pass in IV length - VerifyOrExit(CanCastTo(iv_length), error = CHIP_ERROR_INVALID_ARGUMENT); - result = EVP_CIPHER_CTX_ctrl(context, EVP_CTRL_CCM_SET_IVLEN, static_cast(iv_length), nullptr); + // Pass in nonce length + VerifyOrExit(CanCastTo(nonce_length), error = CHIP_ERROR_INVALID_ARGUMENT); + result = EVP_CIPHER_CTX_ctrl(context, EVP_CTRL_CCM_SET_IVLEN, static_cast(nonce_length), nullptr); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); // Pass in expected tag @@ -305,8 +305,8 @@ CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_length, const_cast(static_cast(tag))); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); - // Pass in key + iv - result = EVP_DecryptInit_ex(context, nullptr, nullptr, Uint8::to_const_uchar(key), Uint8::to_const_uchar(iv)); + // Pass in key + nonce + result = EVP_DecryptInit_ex(context, nullptr, nullptr, Uint8::to_const_uchar(key), Uint8::to_const_uchar(nonce)); VerifyOrExit(result == 1, error = CHIP_ERROR_INTERNAL); // Pass in cipher text length diff --git a/src/crypto/CHIPCryptoPALmbedTLS.cpp b/src/crypto/CHIPCryptoPALmbedTLS.cpp index f56e7b0fcd21f4..5b1a7709fb590b 100644 --- a/src/crypto/CHIPCryptoPALmbedTLS.cpp +++ b/src/crypto/CHIPCryptoPALmbedTLS.cpp @@ -111,7 +111,7 @@ static bool _isValidKeyLength(size_t length) } CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, const uint8_t * aad, size_t aad_length, - const uint8_t * key, size_t key_length, const uint8_t * iv, size_t iv_length, uint8_t * ciphertext, + const uint8_t * key, size_t key_length, const uint8_t * nonce, size_t nonce_length, uint8_t * ciphertext, uint8_t * tag, size_t tag_length) { CHIP_ERROR error = CHIP_NO_ERROR; @@ -124,8 +124,8 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c VerifyOrExit(ciphertext != nullptr || plaintext_length == 0, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(key != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(_isValidKeyLength(key_length), error = CHIP_ERROR_UNSUPPORTED_ENCRYPTION_TYPE); - VerifyOrExit(iv != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(iv_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(tag != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(_isValidTagLength(tag_length), error = CHIP_ERROR_INVALID_ARGUMENT); if (aad_length > 0) @@ -140,7 +140,7 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c VerifyOrExit(result == 0, error = CHIP_ERROR_INTERNAL); // Encrypt - result = mbedtls_ccm_encrypt_and_tag(&context, plaintext_length, Uint8::to_const_uchar(iv), iv_length, + result = mbedtls_ccm_encrypt_and_tag(&context, plaintext_length, Uint8::to_const_uchar(nonce), nonce_length, Uint8::to_const_uchar(aad), aad_length, Uint8::to_const_uchar(plaintext), Uint8::to_uchar(ciphertext), Uint8::to_uchar(tag), tag_length); _log_mbedTLS_error(result); @@ -152,8 +152,8 @@ CHIP_ERROR AES_CCM_encrypt(const uint8_t * plaintext, size_t plaintext_length, c } CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_len, const uint8_t * aad, size_t aad_len, - const uint8_t * tag, size_t tag_length, const uint8_t * key, size_t key_length, const uint8_t * iv, - size_t iv_length, uint8_t * plaintext) + const uint8_t * tag, size_t tag_length, const uint8_t * key, size_t key_length, const uint8_t * nonce, + size_t nonce_length, uint8_t * plaintext) { CHIP_ERROR error = CHIP_NO_ERROR; int result = 1; @@ -167,8 +167,8 @@ CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_len, co VerifyOrExit(_isValidTagLength(tag_length), error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(key != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); VerifyOrExit(_isValidKeyLength(key_length), error = CHIP_ERROR_UNSUPPORTED_ENCRYPTION_TYPE); - VerifyOrExit(iv != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); - VerifyOrExit(iv_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrExit(nonce_length > 0, error = CHIP_ERROR_INVALID_ARGUMENT); if (aad_len > 0) { VerifyOrExit(aad != nullptr, error = CHIP_ERROR_INVALID_ARGUMENT); @@ -181,9 +181,9 @@ CHIP_ERROR AES_CCM_decrypt(const uint8_t * ciphertext, size_t ciphertext_len, co VerifyOrExit(result == 0, error = CHIP_ERROR_INTERNAL); // Decrypt - result = mbedtls_ccm_auth_decrypt(&context, ciphertext_len, Uint8::to_const_uchar(iv), iv_length, Uint8::to_const_uchar(aad), - aad_len, Uint8::to_const_uchar(ciphertext), Uint8::to_uchar(plaintext), - Uint8::to_const_uchar(tag), tag_length); + result = mbedtls_ccm_auth_decrypt(&context, ciphertext_len, Uint8::to_const_uchar(nonce), nonce_length, + Uint8::to_const_uchar(aad), aad_len, Uint8::to_const_uchar(ciphertext), + Uint8::to_uchar(plaintext), Uint8::to_const_uchar(tag), tag_length); _log_mbedTLS_error(result); VerifyOrExit(result == 0, error = CHIP_ERROR_INTERNAL); diff --git a/src/crypto/tests/AES_CCM_128_test_vectors.h b/src/crypto/tests/AES_CCM_128_test_vectors.h index 757df8b1771094..59f5c574756b2e 100644 --- a/src/crypto/tests/AES_CCM_128_test_vectors.h +++ b/src/crypto/tests/AES_CCM_128_test_vectors.h @@ -33,8 +33,8 @@ struct ccm_128_test_vector size_t aad_len; const uint8_t * key; size_t key_len; - const uint8_t * iv; - size_t iv_len; + const uint8_t * nonce; + size_t nonce_len; const uint8_t * ct; size_t ct_len; const uint8_t * tag; @@ -47,910 +47,910 @@ static const uint8_t chiptest_dac9e1195a0d_pt_1[] = { static const uint8_t chiptest_dac9e1195a0d_aad_2[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_3[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_4[] = { 0x75, 0xc7, 0xc1, 0x23, 0xb3, 0x9b, 0x8a, 0x7e }; +static const uint8_t chiptest_dac9e1195a0d_nonce_4[] = { 0x75, 0xc7, 0xc1, 0x23, 0xb3, 0x9b, 0x8a, 0x7e }; static const uint8_t chiptest_dac9e1195a0d_ct_5[] = { 0x74 }; static const uint8_t chiptest_dac9e1195a0d_tag_6[] = { 0x32, 0xf0, 0xc8, 0xf7, 0xdc, 0x07, 0x7c, 0xb8 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_7 = { .pt = chiptest_dac9e1195a0d_pt_1, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_2, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_3, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_4, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_5, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_6, - .tag_len = 8, - .tcId = 1, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_7 = { .pt = chiptest_dac9e1195a0d_pt_1, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_2, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_3, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_4, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_5, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_6, + .tag_len = 8, + .tcId = 1, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_8[] = { 0xee }; static const uint8_t chiptest_dac9e1195a0d_aad_9[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_10[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_11[] = { 0x75, 0xc7, 0xc1, 0x23, 0xb3, 0x9b, 0x8a, 0x7e }; +static const uint8_t chiptest_dac9e1195a0d_nonce_11[] = { 0x75, 0xc7, 0xc1, 0x23, 0xb3, 0x9b, 0x8a, 0x7e }; static const uint8_t chiptest_dac9e1195a0d_ct_12[] = { 0x74 }; static const uint8_t chiptest_dac9e1195a0d_tag_13[] = { 0xc0, 0x1c, 0x51, 0x81, 0x8d, 0x2a, 0x93, 0x57, 0xb4, 0x69, 0x2b, 0x24 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_14 = { .pt = chiptest_dac9e1195a0d_pt_8, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_9, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_10, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_11, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_12, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_13, - .tag_len = 12, - .tcId = 2, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_14 = { .pt = chiptest_dac9e1195a0d_pt_8, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_9, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_10, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_11, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_12, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_13, + .tag_len = 12, + .tcId = 2, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_15[] = { 0xee }; static const uint8_t chiptest_dac9e1195a0d_aad_16[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_17[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_18[] = { 0x75, 0xc7, 0xc1, 0x23, 0xb3, 0x9b, 0x8a, 0x7e }; +static const uint8_t chiptest_dac9e1195a0d_nonce_18[] = { 0x75, 0xc7, 0xc1, 0x23, 0xb3, 0x9b, 0x8a, 0x7e }; static const uint8_t chiptest_dac9e1195a0d_ct_19[] = { 0x74 }; static const uint8_t chiptest_dac9e1195a0d_tag_20[] = { 0x35, 0x5e, 0x27, 0x43, 0xb6, 0x79, 0x36, 0x94, 0xca, 0x78, 0xd6, 0xd9, 0xc8, 0xdc, 0x14, 0x6c }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_21 = { .pt = chiptest_dac9e1195a0d_pt_15, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_16, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_17, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_18, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_19, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_20, - .tag_len = 16, - .tcId = 3, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_21 = { .pt = chiptest_dac9e1195a0d_pt_15, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_16, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_17, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_18, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_19, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_20, + .tag_len = 16, + .tcId = 3, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_22[] = { 0xcd }; static const uint8_t chiptest_dac9e1195a0d_aad_23[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_24[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_25[] = { 0x56, 0x59, 0x39, 0x7e, 0x06, 0x02, 0x8b, 0x14, 0x9d, 0x0b, 0x2b, 0x2b }; -static const uint8_t chiptest_dac9e1195a0d_ct_26[] = { 0xf5 }; -static const uint8_t chiptest_dac9e1195a0d_tag_27[] = { 0x24, 0x70, 0x9e, 0xaf, 0x87, 0x95, 0x80, 0xe8 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_28 = { .pt = chiptest_dac9e1195a0d_pt_22, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_23, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_24, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_25, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_26, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_27, - .tag_len = 8, - .tcId = 4, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_nonce_25[] = { 0x56, 0x59, 0x39, 0x7e, 0x06, 0x02, 0x8b, 0x14, 0x9d, 0x0b, 0x2b, 0x2b }; +static const uint8_t chiptest_dac9e1195a0d_ct_26[] = { 0xf5 }; +static const uint8_t chiptest_dac9e1195a0d_tag_27[] = { 0x24, 0x70, 0x9e, 0xaf, 0x87, 0x95, 0x80, 0xe8 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_28 = { .pt = chiptest_dac9e1195a0d_pt_22, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_23, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_24, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_25, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_26, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_27, + .tag_len = 8, + .tcId = 4, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_29[] = { 0xcd }; static const uint8_t chiptest_dac9e1195a0d_aad_30[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_31[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_32[] = { 0x56, 0x59, 0x39, 0x7e, 0x06, 0x02, 0x8b, 0x14, 0x9d, 0x0b, 0x2b, 0x2b }; -static const uint8_t chiptest_dac9e1195a0d_ct_33[] = { 0xf5 }; -static const uint8_t chiptest_dac9e1195a0d_tag_34[] = { 0x9a, 0x23, 0xec, 0x3e, 0xac, 0xef, 0x72, 0xc2, 0x2c, 0x6a, 0x37, 0x08 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_35 = { .pt = chiptest_dac9e1195a0d_pt_29, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_30, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_31, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_32, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_33, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_34, - .tag_len = 12, - .tcId = 5, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_nonce_32[] = { 0x56, 0x59, 0x39, 0x7e, 0x06, 0x02, 0x8b, 0x14, 0x9d, 0x0b, 0x2b, 0x2b }; +static const uint8_t chiptest_dac9e1195a0d_ct_33[] = { 0xf5 }; +static const uint8_t chiptest_dac9e1195a0d_tag_34[] = { 0x9a, 0x23, 0xec, 0x3e, 0xac, 0xef, 0x72, 0xc2, 0x2c, 0x6a, 0x37, 0x08 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_35 = { .pt = chiptest_dac9e1195a0d_pt_29, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_30, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_31, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_32, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_33, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_34, + .tag_len = 12, + .tcId = 5, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_36[] = { 0xcd }; static const uint8_t chiptest_dac9e1195a0d_aad_37[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_38[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_39[] = { 0x56, 0x59, 0x39, 0x7e, 0x06, 0x02, 0x8b, 0x14, 0x9d, 0x0b, 0x2b, 0x2b }; -static const uint8_t chiptest_dac9e1195a0d_ct_40[] = { 0xf5 }; -static const uint8_t chiptest_dac9e1195a0d_tag_41[] = { 0x9f, 0x5c, 0xd7, 0x4a, 0x83, 0x60, 0xc7, 0x76, +static const uint8_t chiptest_dac9e1195a0d_nonce_39[] = { 0x56, 0x59, 0x39, 0x7e, 0x06, 0x02, 0x8b, 0x14, 0x9d, 0x0b, 0x2b, 0x2b }; +static const uint8_t chiptest_dac9e1195a0d_ct_40[] = { 0xf5 }; +static const uint8_t chiptest_dac9e1195a0d_tag_41[] = { 0x9f, 0x5c, 0xd7, 0x4a, 0x83, 0x60, 0xc7, 0x76, 0xe7, 0x16, 0x7d, 0xe2, 0xdb, 0xef, 0xac, 0x98 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_42 = { .pt = chiptest_dac9e1195a0d_pt_36, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_37, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_38, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_39, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_40, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_41, - .tag_len = 16, - .tcId = 6, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_42 = { .pt = chiptest_dac9e1195a0d_pt_36, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_37, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_38, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_39, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_40, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_41, + .tag_len = 16, + .tcId = 6, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_43[] = { 0xf4 }; static const uint8_t chiptest_dac9e1195a0d_aad_44[] = { 0xb3, 0x3f, 0xa8, 0xae, 0x4b, 0xc6, 0xea, 0xe4, 0x5f, 0x28, 0x61, 0x9a, 0xc8, 0xd3, 0xae, 0x79 }; static const uint8_t chiptest_dac9e1195a0d_key_45[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_46[] = { 0x6d, 0x4c, 0x91, 0x17, 0x0d, 0xc6, 0x21, 0x7e }; +static const uint8_t chiptest_dac9e1195a0d_nonce_46[] = { 0x6d, 0x4c, 0x91, 0x17, 0x0d, 0xc6, 0x21, 0x7e }; static const uint8_t chiptest_dac9e1195a0d_ct_47[] = { 0x7f }; static const uint8_t chiptest_dac9e1195a0d_tag_48[] = { 0xc6, 0x3e, 0x43, 0xfc, 0x80, 0x03, 0x60, 0xf5 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_49 = { .pt = chiptest_dac9e1195a0d_pt_43, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_44, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_45, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_46, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_47, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_48, - .tag_len = 8, - .tcId = 7, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_49 = { .pt = chiptest_dac9e1195a0d_pt_43, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_44, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_45, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_46, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_47, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_48, + .tag_len = 8, + .tcId = 7, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_50[] = { 0xf4 }; static const uint8_t chiptest_dac9e1195a0d_aad_51[] = { 0xb3, 0x3f, 0xa8, 0xae, 0x4b, 0xc6, 0xea, 0xe4, 0x5f, 0x28, 0x61, 0x9a, 0xc8, 0xd3, 0xae, 0x79 }; static const uint8_t chiptest_dac9e1195a0d_key_52[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_53[] = { 0x6d, 0x4c, 0x91, 0x17, 0x0d, 0xc6, 0x21, 0x7e }; +static const uint8_t chiptest_dac9e1195a0d_nonce_53[] = { 0x6d, 0x4c, 0x91, 0x17, 0x0d, 0xc6, 0x21, 0x7e }; static const uint8_t chiptest_dac9e1195a0d_ct_54[] = { 0x7f }; static const uint8_t chiptest_dac9e1195a0d_tag_55[] = { 0xcf, 0x3d, 0x2c, 0xe6, 0x3c, 0xf3, 0x38, 0x07, 0x67, 0x36, 0xd1, 0x1c }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_56 = { .pt = chiptest_dac9e1195a0d_pt_50, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_51, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_52, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_53, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_54, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_55, - .tag_len = 12, - .tcId = 8, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_56 = { .pt = chiptest_dac9e1195a0d_pt_50, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_51, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_52, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_53, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_54, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_55, + .tag_len = 12, + .tcId = 8, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_57[] = { 0xf4 }; static const uint8_t chiptest_dac9e1195a0d_aad_58[] = { 0xb3, 0x3f, 0xa8, 0xae, 0x4b, 0xc6, 0xea, 0xe4, 0x5f, 0x28, 0x61, 0x9a, 0xc8, 0xd3, 0xae, 0x79 }; static const uint8_t chiptest_dac9e1195a0d_key_59[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_60[] = { 0x6d, 0x4c, 0x91, 0x17, 0x0d, 0xc6, 0x21, 0x7e }; +static const uint8_t chiptest_dac9e1195a0d_nonce_60[] = { 0x6d, 0x4c, 0x91, 0x17, 0x0d, 0xc6, 0x21, 0x7e }; static const uint8_t chiptest_dac9e1195a0d_ct_61[] = { 0x7f }; static const uint8_t chiptest_dac9e1195a0d_tag_62[] = { 0x08, 0x85, 0x6b, 0x4a, 0x5d, 0x73, 0x56, 0xc4, 0xf0, 0x46, 0x3e, 0xa9, 0x0e, 0x3c, 0x36, 0x77 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_63 = { .pt = chiptest_dac9e1195a0d_pt_57, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_58, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_59, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_60, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_61, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_62, - .tag_len = 16, - .tcId = 9, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_63 = { .pt = chiptest_dac9e1195a0d_pt_57, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_58, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_59, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_60, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_61, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_62, + .tag_len = 16, + .tcId = 9, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_64[] = { 0x38 }; static const uint8_t chiptest_dac9e1195a0d_aad_65[] = { 0xf4, 0xc7, 0xa8, 0x88, 0x22, 0x1e, 0xef, 0xf4, 0xc8, 0x15, 0x51, 0xdc, 0x15, 0xd4, 0x10, 0xfb }; static const uint8_t chiptest_dac9e1195a0d_key_66[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_67[] = { 0x7f, 0xf3, 0x44, 0xc6, 0xb3, 0x64, 0xc4, 0x4e, 0x4f, 0xe0, 0xaa, 0xa7 }; -static const uint8_t chiptest_dac9e1195a0d_ct_68[] = { 0x55 }; -static const uint8_t chiptest_dac9e1195a0d_tag_69[] = { 0x4b, 0xae, 0xdd, 0xe7, 0xe8, 0xc1, 0x48, 0xed }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_70 = { .pt = chiptest_dac9e1195a0d_pt_64, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_65, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_66, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_67, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_68, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_69, - .tag_len = 8, - .tcId = 10, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_nonce_67[] = { 0x7f, 0xf3, 0x44, 0xc6, 0xb3, 0x64, 0xc4, 0x4e, 0x4f, 0xe0, 0xaa, 0xa7 }; +static const uint8_t chiptest_dac9e1195a0d_ct_68[] = { 0x55 }; +static const uint8_t chiptest_dac9e1195a0d_tag_69[] = { 0x4b, 0xae, 0xdd, 0xe7, 0xe8, 0xc1, 0x48, 0xed }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_70 = { .pt = chiptest_dac9e1195a0d_pt_64, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_65, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_66, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_67, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_68, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_69, + .tag_len = 8, + .tcId = 10, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_71[] = { 0x38 }; static const uint8_t chiptest_dac9e1195a0d_aad_72[] = { 0xf4, 0xc7, 0xa8, 0x88, 0x22, 0x1e, 0xef, 0xf4, 0xc8, 0x15, 0x51, 0xdc, 0x15, 0xd4, 0x10, 0xfb }; static const uint8_t chiptest_dac9e1195a0d_key_73[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_74[] = { 0x7f, 0xf3, 0x44, 0xc6, 0xb3, 0x64, 0xc4, 0x4e, 0x4f, 0xe0, 0xaa, 0xa7 }; -static const uint8_t chiptest_dac9e1195a0d_ct_75[] = { 0x55 }; -static const uint8_t chiptest_dac9e1195a0d_tag_76[] = { 0xdd, 0x3a, 0x04, 0xbc, 0xe4, 0x50, 0xa7, 0xe9, 0x84, 0x26, 0xd2, 0x5c }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_77 = { .pt = chiptest_dac9e1195a0d_pt_71, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_72, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_73, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_74, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_75, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_76, - .tag_len = 12, - .tcId = 11, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_nonce_74[] = { 0x7f, 0xf3, 0x44, 0xc6, 0xb3, 0x64, 0xc4, 0x4e, 0x4f, 0xe0, 0xaa, 0xa7 }; +static const uint8_t chiptest_dac9e1195a0d_ct_75[] = { 0x55 }; +static const uint8_t chiptest_dac9e1195a0d_tag_76[] = { 0xdd, 0x3a, 0x04, 0xbc, 0xe4, 0x50, 0xa7, 0xe9, 0x84, 0x26, 0xd2, 0x5c }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_77 = { .pt = chiptest_dac9e1195a0d_pt_71, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_72, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_73, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_74, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_75, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_76, + .tag_len = 12, + .tcId = 11, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_78[] = { 0x38 }; static const uint8_t chiptest_dac9e1195a0d_aad_79[] = { 0xf4, 0xc7, 0xa8, 0x88, 0x22, 0x1e, 0xef, 0xf4, 0xc8, 0x15, 0x51, 0xdc, 0x15, 0xd4, 0x10, 0xfb }; static const uint8_t chiptest_dac9e1195a0d_key_80[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_81[] = { 0x7f, 0xf3, 0x44, 0xc6, 0xb3, 0x64, 0xc4, 0x4e, 0x4f, 0xe0, 0xaa, 0xa7 }; -static const uint8_t chiptest_dac9e1195a0d_ct_82[] = { 0x55 }; -static const uint8_t chiptest_dac9e1195a0d_tag_83[] = { 0x20, 0xc7, 0xb9, 0x71, 0xfb, 0xf3, 0x6f, 0x9c, +static const uint8_t chiptest_dac9e1195a0d_nonce_81[] = { 0x7f, 0xf3, 0x44, 0xc6, 0xb3, 0x64, 0xc4, 0x4e, 0x4f, 0xe0, 0xaa, 0xa7 }; +static const uint8_t chiptest_dac9e1195a0d_ct_82[] = { 0x55 }; +static const uint8_t chiptest_dac9e1195a0d_tag_83[] = { 0x20, 0xc7, 0xb9, 0x71, 0xfb, 0xf3, 0x6f, 0x9c, 0x44, 0x24, 0x78, 0x12, 0xd3, 0x99, 0xb1, 0x45 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_84 = { .pt = chiptest_dac9e1195a0d_pt_78, - .pt_len = 1, - .aad = chiptest_dac9e1195a0d_aad_79, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_80, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_81, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_82, - .ct_len = 1, - .tag = chiptest_dac9e1195a0d_tag_83, - .tag_len = 16, - .tcId = 12, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_84 = { .pt = chiptest_dac9e1195a0d_pt_78, + .pt_len = 1, + .aad = chiptest_dac9e1195a0d_aad_79, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_80, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_81, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_82, + .ct_len = 1, + .tag = chiptest_dac9e1195a0d_tag_83, + .tag_len = 16, + .tcId = 12, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_85[] = { 0x86, 0x74, 0x64, 0xe5, 0x0b, 0xd4, 0x0d, 0x90, 0xe1, 0x17, 0xa3, 0x2d, 0x4b, 0xd4, 0xe1, 0xe6 }; static const uint8_t chiptest_dac9e1195a0d_aad_86[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_87[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_88[] = { 0xf2, 0xf0, 0x11, 0x4f, 0xe7, 0x9a, 0x24, 0xfb }; +static const uint8_t chiptest_dac9e1195a0d_nonce_88[] = { 0xf2, 0xf0, 0x11, 0x4f, 0xe7, 0x9a, 0x24, 0xfb }; static const uint8_t chiptest_dac9e1195a0d_ct_89[] = { 0x17, 0x8d, 0xfc, 0xe4, 0xe8, 0x7b, 0xeb, 0x87, 0x63, 0xe3, 0xdd, 0xc8, 0x68, 0xfa, 0x73, 0x88 }; static const uint8_t chiptest_dac9e1195a0d_tag_90[] = { 0x7f, 0x10, 0xcf, 0x6c, 0x9b, 0x22, 0xb3, 0x96 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_91 = { .pt = chiptest_dac9e1195a0d_pt_85, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_86, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_87, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_88, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_89, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_90, - .tag_len = 8, - .tcId = 13, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_91 = { .pt = chiptest_dac9e1195a0d_pt_85, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_86, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_87, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_88, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_89, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_90, + .tag_len = 8, + .tcId = 13, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_92[] = { 0x86, 0x74, 0x64, 0xe5, 0x0b, 0xd4, 0x0d, 0x90, 0xe1, 0x17, 0xa3, 0x2d, 0x4b, 0xd4, 0xe1, 0xe6 }; static const uint8_t chiptest_dac9e1195a0d_aad_93[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_94[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_95[] = { 0xf2, 0xf0, 0x11, 0x4f, 0xe7, 0x9a, 0x24, 0xfb }; +static const uint8_t chiptest_dac9e1195a0d_nonce_95[] = { 0xf2, 0xf0, 0x11, 0x4f, 0xe7, 0x9a, 0x24, 0xfb }; static const uint8_t chiptest_dac9e1195a0d_ct_96[] = { 0x17, 0x8d, 0xfc, 0xe4, 0xe8, 0x7b, 0xeb, 0x87, 0x63, 0xe3, 0xdd, 0xc8, 0x68, 0xfa, 0x73, 0x88 }; static const uint8_t chiptest_dac9e1195a0d_tag_97[] = { 0x6f, 0x4c, 0x9a, 0x68, 0x32, 0x37, 0x33, 0x1d, 0x6a, 0x98, 0x74, 0xbc }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_98 = { .pt = chiptest_dac9e1195a0d_pt_92, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_93, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_94, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_95, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_96, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_97, - .tag_len = 12, - .tcId = 14, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_98 = { .pt = chiptest_dac9e1195a0d_pt_92, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_93, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_94, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_95, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_96, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_97, + .tag_len = 12, + .tcId = 14, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_99[] = { 0x86, 0x74, 0x64, 0xe5, 0x0b, 0xd4, 0x0d, 0x90, 0xe1, 0x17, 0xa3, 0x2d, 0x4b, 0xd4, 0xe1, 0xe6 }; static const uint8_t chiptest_dac9e1195a0d_aad_100[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_101[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_102[] = { 0xf2, 0xf0, 0x11, 0x4f, 0xe7, 0x9a, 0x24, 0xfb }; +static const uint8_t chiptest_dac9e1195a0d_nonce_102[] = { 0xf2, 0xf0, 0x11, 0x4f, 0xe7, 0x9a, 0x24, 0xfb }; static const uint8_t chiptest_dac9e1195a0d_ct_103[] = { 0x17, 0x8d, 0xfc, 0xe4, 0xe8, 0x7b, 0xeb, 0x87, 0x63, 0xe3, 0xdd, 0xc8, 0x68, 0xfa, 0x73, 0x88 }; static const uint8_t chiptest_dac9e1195a0d_tag_104[] = { 0x7e, 0x04, 0x2a, 0x69, 0xd0, 0x1b, 0x87, 0x26, 0xac, 0xe1, 0x31, 0xde, 0x34, 0x22, 0xc6, 0xae }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_105 = { .pt = chiptest_dac9e1195a0d_pt_99, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_100, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_101, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_102, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_103, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_104, - .tag_len = 16, - .tcId = 14, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_105 = { .pt = chiptest_dac9e1195a0d_pt_99, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_100, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_101, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_102, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_103, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_104, + .tag_len = 16, + .tcId = 14, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_106[] = { 0xab, 0xf9, 0x8a, 0x73, 0x5c, 0xd5, 0x47, 0x8b, 0x9d, 0x6d, 0x3d, 0xdf, 0x02, 0x56, 0x5a, 0xe0 }; static const uint8_t chiptest_dac9e1195a0d_aad_107[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_108[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_109[] = { 0xc7, 0xcf, 0x09, 0xa8, 0xe2, 0x3b, 0xaa, 0xc1, 0xb6, 0x95, 0xc0, 0x42 }; -static const uint8_t chiptest_dac9e1195a0d_ct_110[] = { 0xf8, 0x86, 0xc0, 0x74, 0xae, 0x03, 0xe9, 0x02, +static const uint8_t chiptest_dac9e1195a0d_nonce_109[] = { 0xc7, 0xcf, 0x09, 0xa8, 0xe2, 0x3b, 0xaa, 0xc1, 0xb6, 0x95, 0xc0, 0x42 }; +static const uint8_t chiptest_dac9e1195a0d_ct_110[] = { 0xf8, 0x86, 0xc0, 0x74, 0xae, 0x03, 0xe9, 0x02, 0xf3, 0x3d, 0x0c, 0x91, 0x9e, 0xd7, 0xb5, 0xee }; -static const uint8_t chiptest_dac9e1195a0d_tag_111[] = { 0x44, 0x45, 0x35, 0xc9, 0x73, 0xc9, 0x2b, 0xbb }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_112 = { .pt = chiptest_dac9e1195a0d_pt_106, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_107, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_108, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_109, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_110, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_111, - .tag_len = 8, - .tcId = 15, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_tag_111[] = { 0x44, 0x45, 0x35, 0xc9, 0x73, 0xc9, 0x2b, 0xbb }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_112 = { .pt = chiptest_dac9e1195a0d_pt_106, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_107, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_108, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_109, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_110, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_111, + .tag_len = 8, + .tcId = 15, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_113[] = { 0xab, 0xf9, 0x8a, 0x73, 0x5c, 0xd5, 0x47, 0x8b, 0x9d, 0x6d, 0x3d, 0xdf, 0x02, 0x56, 0x5a, 0xe0 }; static const uint8_t chiptest_dac9e1195a0d_aad_114[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_115[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_116[] = { 0xc7, 0xcf, 0x09, 0xa8, 0xe2, 0x3b, 0xaa, 0xc1, 0xb6, 0x95, 0xc0, 0x42 }; -static const uint8_t chiptest_dac9e1195a0d_ct_117[] = { 0xf8, 0x86, 0xc0, 0x74, 0xae, 0x03, 0xe9, 0x02, +static const uint8_t chiptest_dac9e1195a0d_nonce_116[] = { 0xc7, 0xcf, 0x09, 0xa8, 0xe2, 0x3b, 0xaa, 0xc1, 0xb6, 0x95, 0xc0, 0x42 }; +static const uint8_t chiptest_dac9e1195a0d_ct_117[] = { 0xf8, 0x86, 0xc0, 0x74, 0xae, 0x03, 0xe9, 0x02, 0xf3, 0x3d, 0x0c, 0x91, 0x9e, 0xd7, 0xb5, 0xee }; -static const uint8_t chiptest_dac9e1195a0d_tag_118[] = { 0xc9, 0xa7, 0x79, 0xa1, 0xaa, 0x43, 0x0c, 0x7a, 0x4a, 0x43, 0x2f, 0x49 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_119 = { .pt = chiptest_dac9e1195a0d_pt_113, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_114, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_115, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_116, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_117, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_118, - .tag_len = 12, - .tcId = 16, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_tag_118[] = { 0xc9, 0xa7, 0x79, 0xa1, 0xaa, 0x43, 0x0c, 0x7a, 0x4a, 0x43, 0x2f, 0x49 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_119 = { .pt = chiptest_dac9e1195a0d_pt_113, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_114, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_115, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_116, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_117, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_118, + .tag_len = 12, + .tcId = 16, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_120[] = { 0xab, 0xf9, 0x8a, 0x73, 0x5c, 0xd5, 0x47, 0x8b, 0x9d, 0x6d, 0x3d, 0xdf, 0x02, 0x56, 0x5a, 0xe0 }; static const uint8_t chiptest_dac9e1195a0d_aad_121[] = {}; static const uint8_t chiptest_dac9e1195a0d_key_122[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_123[] = { 0xc7, 0xcf, 0x09, 0xa8, 0xe2, 0x3b, 0xaa, 0xc1, 0xb6, 0x95, 0xc0, 0x42 }; -static const uint8_t chiptest_dac9e1195a0d_ct_124[] = { 0xf8, 0x86, 0xc0, 0x74, 0xae, 0x03, 0xe9, 0x02, +static const uint8_t chiptest_dac9e1195a0d_nonce_123[] = { 0xc7, 0xcf, 0x09, 0xa8, 0xe2, 0x3b, 0xaa, 0xc1, 0xb6, 0x95, 0xc0, 0x42 }; +static const uint8_t chiptest_dac9e1195a0d_ct_124[] = { 0xf8, 0x86, 0xc0, 0x74, 0xae, 0x03, 0xe9, 0x02, 0xf3, 0x3d, 0x0c, 0x91, 0x9e, 0xd7, 0xb5, 0xee }; -static const uint8_t chiptest_dac9e1195a0d_tag_125[] = { 0x1f, 0x5d, 0xdb, 0xdd, 0x5b, 0xcf, 0xc5, 0x4f, +static const uint8_t chiptest_dac9e1195a0d_tag_125[] = { 0x1f, 0x5d, 0xdb, 0xdd, 0x5b, 0xcf, 0xc5, 0x4f, 0x0c, 0xbc, 0xf4, 0x7f, 0x46, 0x34, 0x63, 0x67 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_126 = { .pt = chiptest_dac9e1195a0d_pt_120, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_121, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_122, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_123, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_124, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_125, - .tag_len = 16, - .tcId = 17, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_126 = { .pt = chiptest_dac9e1195a0d_pt_120, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_121, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_122, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_123, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_124, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_125, + .tag_len = 16, + .tcId = 17, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_127[] = { 0x0a, 0x61, 0xf2, 0xb4, 0xd6, 0x13, 0x5e, 0x2f, 0x63, 0xd3, 0xae, 0x42, 0xc3, 0x08, 0x08, 0x3e }; static const uint8_t chiptest_dac9e1195a0d_aad_128[] = { 0x2c, 0xa7, 0x1b, 0x23, 0x18, 0xdd, 0x96, 0xb2, 0x43, 0xc8, 0x70, 0xa3, 0xdd, 0xa9, 0xfa, 0x0d }; static const uint8_t chiptest_dac9e1195a0d_key_129[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_130[] = { 0x60, 0x66, 0x73, 0x03, 0x90, 0xc3, 0xae, 0x06 }; +static const uint8_t chiptest_dac9e1195a0d_nonce_130[] = { 0x60, 0x66, 0x73, 0x03, 0x90, 0xc3, 0xae, 0x06 }; static const uint8_t chiptest_dac9e1195a0d_ct_131[] = { 0xc2, 0xaf, 0x35, 0x3b, 0x99, 0x82, 0xc3, 0x9f, 0x6d, 0x91, 0x4a, 0xef, 0x8c, 0xf4, 0x97, 0x19 }; static const uint8_t chiptest_dac9e1195a0d_tag_132[] = { 0xce, 0xb1, 0x1e, 0x3a, 0x99, 0xeb, 0x3b, 0xcd }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_133 = { .pt = chiptest_dac9e1195a0d_pt_127, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_128, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_129, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_130, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_131, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_132, - .tag_len = 8, - .tcId = 18, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_133 = { .pt = chiptest_dac9e1195a0d_pt_127, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_128, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_129, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_130, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_131, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_132, + .tag_len = 8, + .tcId = 18, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_134[] = { 0x0a, 0x61, 0xf2, 0xb4, 0xd6, 0x13, 0x5e, 0x2f, 0x63, 0xd3, 0xae, 0x42, 0xc3, 0x08, 0x08, 0x3e }; static const uint8_t chiptest_dac9e1195a0d_aad_135[] = { 0x2c, 0xa7, 0x1b, 0x23, 0x18, 0xdd, 0x96, 0xb2, 0x43, 0xc8, 0x70, 0xa3, 0xdd, 0xa9, 0xfa, 0x0d }; static const uint8_t chiptest_dac9e1195a0d_key_136[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_137[] = { 0x60, 0x66, 0x73, 0x03, 0x90, 0xc3, 0xae, 0x06 }; +static const uint8_t chiptest_dac9e1195a0d_nonce_137[] = { 0x60, 0x66, 0x73, 0x03, 0x90, 0xc3, 0xae, 0x06 }; static const uint8_t chiptest_dac9e1195a0d_ct_138[] = { 0xc2, 0xaf, 0x35, 0x3b, 0x99, 0x82, 0xc3, 0x9f, 0x6d, 0x91, 0x4a, 0xef, 0x8c, 0xf4, 0x97, 0x19 }; static const uint8_t chiptest_dac9e1195a0d_tag_139[] = { 0x54, 0x26, 0x39, 0x94, 0xd2, 0x41, 0xe4, 0xff, 0x06, 0x0c, 0xcb, 0x0f }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_140 = { .pt = chiptest_dac9e1195a0d_pt_134, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_135, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_136, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_137, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_138, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_139, - .tag_len = 12, - .tcId = 19, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_140 = { .pt = chiptest_dac9e1195a0d_pt_134, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_135, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_136, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_137, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_138, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_139, + .tag_len = 12, + .tcId = 19, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_141[] = { 0x0a, 0x61, 0xf2, 0xb4, 0xd6, 0x13, 0x5e, 0x2f, 0x63, 0xd3, 0xae, 0x42, 0xc3, 0x08, 0x08, 0x3e }; static const uint8_t chiptest_dac9e1195a0d_aad_142[] = { 0x2c, 0xa7, 0x1b, 0x23, 0x18, 0xdd, 0x96, 0xb2, 0x43, 0xc8, 0x70, 0xa3, 0xdd, 0xa9, 0xfa, 0x0d }; static const uint8_t chiptest_dac9e1195a0d_key_143[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_144[] = { 0x60, 0x66, 0x73, 0x03, 0x90, 0xc3, 0xae, 0x06 }; +static const uint8_t chiptest_dac9e1195a0d_nonce_144[] = { 0x60, 0x66, 0x73, 0x03, 0x90, 0xc3, 0xae, 0x06 }; static const uint8_t chiptest_dac9e1195a0d_ct_145[] = { 0xc2, 0xaf, 0x35, 0x3b, 0x99, 0x82, 0xc3, 0x9f, 0x6d, 0x91, 0x4a, 0xef, 0x8c, 0xf4, 0x97, 0x19 }; static const uint8_t chiptest_dac9e1195a0d_tag_146[] = { 0x08, 0x68, 0x46, 0xcc, 0x2f, 0x72, 0xa4, 0x90, 0x23, 0xc3, 0x0f, 0xc6, 0x9a, 0xac, 0x4b, 0x7f }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_147 = { .pt = chiptest_dac9e1195a0d_pt_141, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_142, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_143, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_144, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_145, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_146, - .tag_len = 16, - .tcId = 20, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_147 = { .pt = chiptest_dac9e1195a0d_pt_141, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_142, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_143, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_144, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_145, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_146, + .tag_len = 16, + .tcId = 20, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_148[] = { 0x33, 0x23, 0x11, 0xb6, 0xae, 0xb2, 0x15, 0x2e, 0xb8, 0x44, 0x59, 0x4f, 0x41, 0xf8, 0xec, 0x69 }; static const uint8_t chiptest_dac9e1195a0d_aad_149[] = { 0xa4, 0x08, 0xf7, 0x5d, 0xdc, 0x1a, 0x13, 0x31, 0x3d, 0xfb, 0x35, 0x5f, 0x79, 0xcc, 0x36, 0x55 }; static const uint8_t chiptest_dac9e1195a0d_key_150[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_151[] = { 0x63, 0x90, 0x36, 0xf0, 0xad, 0x89, 0x82, 0x51, 0x58, 0xb0, 0x49, 0xca }; -static const uint8_t chiptest_dac9e1195a0d_ct_152[] = { 0x4f, 0x19, 0xc6, 0xa3, 0xbc, 0x09, 0x99, 0x34, +static const uint8_t chiptest_dac9e1195a0d_nonce_151[] = { 0x63, 0x90, 0x36, 0xf0, 0xad, 0x89, 0x82, 0x51, 0x58, 0xb0, 0x49, 0xca }; +static const uint8_t chiptest_dac9e1195a0d_ct_152[] = { 0x4f, 0x19, 0xc6, 0xa3, 0xbc, 0x09, 0x99, 0x34, 0xe3, 0x5b, 0x32, 0x9b, 0x89, 0xa8, 0x5e, 0x18 }; -static const uint8_t chiptest_dac9e1195a0d_tag_153[] = { 0x92, 0x62, 0xb1, 0x84, 0xe2, 0xec, 0xe1, 0xd4 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_154 = { .pt = chiptest_dac9e1195a0d_pt_148, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_149, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_150, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_151, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_152, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_153, - .tag_len = 8, - .tcId = 21, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_tag_153[] = { 0x92, 0x62, 0xb1, 0x84, 0xe2, 0xec, 0xe1, 0xd4 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_154 = { .pt = chiptest_dac9e1195a0d_pt_148, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_149, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_150, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_151, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_152, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_153, + .tag_len = 8, + .tcId = 21, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_155[] = { 0x33, 0x23, 0x11, 0xb6, 0xae, 0xb2, 0x15, 0x2e, 0xb8, 0x44, 0x59, 0x4f, 0x41, 0xf8, 0xec, 0x69 }; static const uint8_t chiptest_dac9e1195a0d_aad_156[] = { 0xa4, 0x08, 0xf7, 0x5d, 0xdc, 0x1a, 0x13, 0x31, 0x3d, 0xfb, 0x35, 0x5f, 0x79, 0xcc, 0x36, 0x55 }; static const uint8_t chiptest_dac9e1195a0d_key_157[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_158[] = { 0x63, 0x90, 0x36, 0xf0, 0xad, 0x89, 0x82, 0x51, 0x58, 0xb0, 0x49, 0xca }; -static const uint8_t chiptest_dac9e1195a0d_ct_159[] = { 0x4f, 0x19, 0xc6, 0xa3, 0xbc, 0x09, 0x99, 0x34, +static const uint8_t chiptest_dac9e1195a0d_nonce_158[] = { 0x63, 0x90, 0x36, 0xf0, 0xad, 0x89, 0x82, 0x51, 0x58, 0xb0, 0x49, 0xca }; +static const uint8_t chiptest_dac9e1195a0d_ct_159[] = { 0x4f, 0x19, 0xc6, 0xa3, 0xbc, 0x09, 0x99, 0x34, 0xe3, 0x5b, 0x32, 0x9b, 0x89, 0xa8, 0x5e, 0x18 }; -static const uint8_t chiptest_dac9e1195a0d_tag_160[] = { 0x0c, 0xc2, 0xc1, 0x5e, 0x0e, 0x93, 0x5a, 0x64, 0x9a, 0xfe, 0x4c, 0xce }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_161 = { .pt = chiptest_dac9e1195a0d_pt_155, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_156, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_157, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_158, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_159, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_160, - .tag_len = 12, - .tcId = 22, - .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_tag_160[] = { 0x0c, 0xc2, 0xc1, 0x5e, 0x0e, 0x93, 0x5a, 0x64, 0x9a, 0xfe, 0x4c, 0xce }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_161 = { .pt = chiptest_dac9e1195a0d_pt_155, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_156, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_157, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_158, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_159, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_160, + .tag_len = 12, + .tcId = 22, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_162[] = { 0x33, 0x23, 0x11, 0xb6, 0xae, 0xb2, 0x15, 0x2e, 0xb8, 0x44, 0x59, 0x4f, 0x41, 0xf8, 0xec, 0x69 }; static const uint8_t chiptest_dac9e1195a0d_aad_163[] = { 0xa4, 0x08, 0xf7, 0x5d, 0xdc, 0x1a, 0x13, 0x31, 0x3d, 0xfb, 0x35, 0x5f, 0x79, 0xcc, 0x36, 0x55 }; static const uint8_t chiptest_dac9e1195a0d_key_164[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_165[] = { 0x63, 0x90, 0x36, 0xf0, 0xad, 0x89, 0x82, 0x51, 0x58, 0xb0, 0x49, 0xca }; -static const uint8_t chiptest_dac9e1195a0d_ct_166[] = { 0x4f, 0x19, 0xc6, 0xa3, 0xbc, 0x09, 0x99, 0x34, +static const uint8_t chiptest_dac9e1195a0d_nonce_165[] = { 0x63, 0x90, 0x36, 0xf0, 0xad, 0x89, 0x82, 0x51, 0x58, 0xb0, 0x49, 0xca }; +static const uint8_t chiptest_dac9e1195a0d_ct_166[] = { 0x4f, 0x19, 0xc6, 0xa3, 0xbc, 0x09, 0x99, 0x34, 0xe3, 0x5b, 0x32, 0x9b, 0x89, 0xa8, 0x5e, 0x18 }; -static const uint8_t chiptest_dac9e1195a0d_tag_167[] = { 0xbd, 0x90, 0x92, 0xa8, 0xdb, 0x2e, 0x78, 0x0b, +static const uint8_t chiptest_dac9e1195a0d_tag_167[] = { 0xbd, 0x90, 0x92, 0xa8, 0xdb, 0x2e, 0x78, 0x0b, 0x5a, 0x93, 0xa0, 0xfb, 0xe3, 0x3a, 0x5a, 0x38 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_168 = { .pt = chiptest_dac9e1195a0d_pt_162, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_163, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_164, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_165, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_166, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_167, - .tag_len = 16, - .tcId = 23, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_169[] = { 0x3b, 0xc5, 0xc4, 0xda, 0x04, 0xd8, 0xa5, 0x15, 0x67, 0x9c, 0x5c, +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_168 = { .pt = chiptest_dac9e1195a0d_pt_162, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_163, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_164, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_165, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_166, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_167, + .tag_len = 16, + .tcId = 23, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_169[] = { 0x3b, 0xc5, 0xc4, 0xda, 0x04, 0xd8, 0xa5, 0x15, 0x67, 0x9c, 0x5c, 0x40, 0xc0, 0xfd, 0x7d, 0x9e, 0x2b, 0x52, 0x22, 0x3f, 0xeb, 0x1f, 0x61, 0x99, 0x78, 0xe7, 0xce, 0x84, 0xdc, 0x3f, 0xbe, 0x85, 0xf2 }; -static const uint8_t chiptest_dac9e1195a0d_aad_170[] = {}; -static const uint8_t chiptest_dac9e1195a0d_key_171[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_aad_170[] = {}; +static const uint8_t chiptest_dac9e1195a0d_key_171[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_172[] = { 0x7b, 0x05, 0xbc, 0x8b, 0xcf, 0xc1, 0x6c, 0xc1 }; -static const uint8_t chiptest_dac9e1195a0d_ct_173[] = { 0xf1, 0x46, 0xa7, 0xb0, 0xf4, 0xff, 0x02, 0x3a, 0x23, 0xc3, 0xfe, +static const uint8_t chiptest_dac9e1195a0d_nonce_172[] = { 0x7b, 0x05, 0xbc, 0x8b, 0xcf, 0xc1, 0x6c, 0xc1 }; +static const uint8_t chiptest_dac9e1195a0d_ct_173[] = { 0xf1, 0x46, 0xa7, 0xb0, 0xf4, 0xff, 0x02, 0x3a, 0x23, 0xc3, 0xfe, 0xd5, 0x60, 0x4c, 0xdf, 0xe5, 0x09, 0x3e, 0x3c, 0x7b, 0x91, 0x4a, 0x68, 0xa5, 0xab, 0xff, 0x1a, 0x14, 0x96, 0x1e, 0x82, 0xb3, 0xb9 }; -static const uint8_t chiptest_dac9e1195a0d_tag_174[] = { 0x32, 0x6f, 0xff, 0xcc, 0xce, 0x78, 0x97, 0x57 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_175 = { .pt = chiptest_dac9e1195a0d_pt_169, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_170, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_171, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_172, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_173, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_174, - .tag_len = 8, - .tcId = 24, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_176[] = { 0x3b, 0xc5, 0xc4, 0xda, 0x04, 0xd8, 0xa5, 0x15, 0x67, 0x9c, 0x5c, +static const uint8_t chiptest_dac9e1195a0d_tag_174[] = { 0x32, 0x6f, 0xff, 0xcc, 0xce, 0x78, 0x97, 0x57 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_175 = { .pt = chiptest_dac9e1195a0d_pt_169, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_170, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_171, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_172, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_173, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_174, + .tag_len = 8, + .tcId = 24, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_176[] = { 0x3b, 0xc5, 0xc4, 0xda, 0x04, 0xd8, 0xa5, 0x15, 0x67, 0x9c, 0x5c, 0x40, 0xc0, 0xfd, 0x7d, 0x9e, 0x2b, 0x52, 0x22, 0x3f, 0xeb, 0x1f, 0x61, 0x99, 0x78, 0xe7, 0xce, 0x84, 0xdc, 0x3f, 0xbe, 0x85, 0xf2 }; -static const uint8_t chiptest_dac9e1195a0d_aad_177[] = {}; -static const uint8_t chiptest_dac9e1195a0d_key_178[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_aad_177[] = {}; +static const uint8_t chiptest_dac9e1195a0d_key_178[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_179[] = { 0x7b, 0x05, 0xbc, 0x8b, 0xcf, 0xc1, 0x6c, 0xc1 }; -static const uint8_t chiptest_dac9e1195a0d_ct_180[] = { 0xf1, 0x46, 0xa7, 0xb0, 0xf4, 0xff, 0x02, 0x3a, 0x23, 0xc3, 0xfe, +static const uint8_t chiptest_dac9e1195a0d_nonce_179[] = { 0x7b, 0x05, 0xbc, 0x8b, 0xcf, 0xc1, 0x6c, 0xc1 }; +static const uint8_t chiptest_dac9e1195a0d_ct_180[] = { 0xf1, 0x46, 0xa7, 0xb0, 0xf4, 0xff, 0x02, 0x3a, 0x23, 0xc3, 0xfe, 0xd5, 0x60, 0x4c, 0xdf, 0xe5, 0x09, 0x3e, 0x3c, 0x7b, 0x91, 0x4a, 0x68, 0xa5, 0xab, 0xff, 0x1a, 0x14, 0x96, 0x1e, 0x82, 0xb3, 0xb9 }; -static const uint8_t chiptest_dac9e1195a0d_tag_181[] = { 0x5d, 0xca, 0x99, 0xed, 0x22, 0x49, 0x97, 0x05, 0x48, 0x57, 0x6e, 0x8b }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_182 = { .pt = chiptest_dac9e1195a0d_pt_176, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_177, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_178, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_179, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_180, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_181, - .tag_len = 12, - .tcId = 25, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_183[] = { 0x3b, 0xc5, 0xc4, 0xda, 0x04, 0xd8, 0xa5, 0x15, 0x67, 0x9c, 0x5c, +static const uint8_t chiptest_dac9e1195a0d_tag_181[] = { 0x5d, 0xca, 0x99, 0xed, 0x22, 0x49, 0x97, 0x05, 0x48, 0x57, 0x6e, 0x8b }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_182 = { .pt = chiptest_dac9e1195a0d_pt_176, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_177, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_178, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_179, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_180, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_181, + .tag_len = 12, + .tcId = 25, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_183[] = { 0x3b, 0xc5, 0xc4, 0xda, 0x04, 0xd8, 0xa5, 0x15, 0x67, 0x9c, 0x5c, 0x40, 0xc0, 0xfd, 0x7d, 0x9e, 0x2b, 0x52, 0x22, 0x3f, 0xeb, 0x1f, 0x61, 0x99, 0x78, 0xe7, 0xce, 0x84, 0xdc, 0x3f, 0xbe, 0x85, 0xf2 }; -static const uint8_t chiptest_dac9e1195a0d_aad_184[] = {}; -static const uint8_t chiptest_dac9e1195a0d_key_185[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_aad_184[] = {}; +static const uint8_t chiptest_dac9e1195a0d_key_185[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_186[] = { 0x7b, 0x05, 0xbc, 0x8b, 0xcf, 0xc1, 0x6c, 0xc1 }; -static const uint8_t chiptest_dac9e1195a0d_ct_187[] = { 0xf1, 0x46, 0xa7, 0xb0, 0xf4, 0xff, 0x02, 0x3a, 0x23, 0xc3, 0xfe, +static const uint8_t chiptest_dac9e1195a0d_nonce_186[] = { 0x7b, 0x05, 0xbc, 0x8b, 0xcf, 0xc1, 0x6c, 0xc1 }; +static const uint8_t chiptest_dac9e1195a0d_ct_187[] = { 0xf1, 0x46, 0xa7, 0xb0, 0xf4, 0xff, 0x02, 0x3a, 0x23, 0xc3, 0xfe, 0xd5, 0x60, 0x4c, 0xdf, 0xe5, 0x09, 0x3e, 0x3c, 0x7b, 0x91, 0x4a, 0x68, 0xa5, 0xab, 0xff, 0x1a, 0x14, 0x96, 0x1e, 0x82, 0xb3, 0xb9 }; -static const uint8_t chiptest_dac9e1195a0d_tag_188[] = { 0x31, 0x4c, 0xc7, 0xf3, 0x36, 0x41, 0x54, 0x55, +static const uint8_t chiptest_dac9e1195a0d_tag_188[] = { 0x31, 0x4c, 0xc7, 0xf3, 0x36, 0x41, 0x54, 0x55, 0xd8, 0xf5, 0xfb, 0x36, 0xea, 0x1b, 0x73, 0xd8 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_189 = { .pt = chiptest_dac9e1195a0d_pt_183, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_184, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_185, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_186, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_187, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_188, - .tag_len = 16, - .tcId = 26, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_190[] = { 0x58, 0x07, 0xa2, 0x32, 0x31, 0x77, 0xa6, 0xba, 0xc6, 0x77, 0x3c, +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_189 = { .pt = chiptest_dac9e1195a0d_pt_183, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_184, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_185, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_186, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_187, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_188, + .tag_len = 16, + .tcId = 26, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_190[] = { 0x58, 0x07, 0xa2, 0x32, 0x31, 0x77, 0xa6, 0xba, 0xc6, 0x77, 0x3c, 0xd9, 0x28, 0x9b, 0xc1, 0x20, 0x14, 0xb8, 0x95, 0xa4, 0xbc, 0xa7, 0x8f, 0x93, 0x50, 0x86, 0xe1, 0x49, 0x7a, 0x38, 0xcc, 0x02, 0x42 }; -static const uint8_t chiptest_dac9e1195a0d_aad_191[] = {}; -static const uint8_t chiptest_dac9e1195a0d_key_192[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_aad_191[] = {}; +static const uint8_t chiptest_dac9e1195a0d_key_192[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_193[] = { 0xee, 0xbc, 0x7d, 0x0c, 0xce, 0x8d, 0x7f, 0xd6, 0xa5, 0x72, 0x6e, 0x49 }; -static const uint8_t chiptest_dac9e1195a0d_ct_194[] = { 0xb4, 0x48, 0x21, 0x1c, 0x9d, 0xa8, 0xc3, 0x31, 0x6c, 0x52, 0x69, +static const uint8_t chiptest_dac9e1195a0d_nonce_193[] = { 0xee, 0xbc, 0x7d, 0x0c, 0xce, 0x8d, 0x7f, 0xd6, 0xa5, 0x72, 0x6e, 0x49 }; +static const uint8_t chiptest_dac9e1195a0d_ct_194[] = { 0xb4, 0x48, 0x21, 0x1c, 0x9d, 0xa8, 0xc3, 0x31, 0x6c, 0x52, 0x69, 0xe5, 0xc4, 0xf6, 0x65, 0x78, 0x67, 0x3f, 0x1d, 0xfc, 0x03, 0x8a, 0x4f, 0x3f, 0x13, 0x2c, 0x85, 0x76, 0x2a, 0x89, 0x32, 0x06, 0xd4 }; -static const uint8_t chiptest_dac9e1195a0d_tag_195[] = { 0xae, 0x93, 0x77, 0x15, 0xa6, 0x5b, 0x80, 0xd5 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_196 = { .pt = chiptest_dac9e1195a0d_pt_190, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_191, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_192, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_193, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_194, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_195, - .tag_len = 8, - .tcId = 27, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_197[] = { 0x58, 0x07, 0xa2, 0x32, 0x31, 0x77, 0xa6, 0xba, 0xc6, 0x77, 0x3c, +static const uint8_t chiptest_dac9e1195a0d_tag_195[] = { 0xae, 0x93, 0x77, 0x15, 0xa6, 0x5b, 0x80, 0xd5 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_196 = { .pt = chiptest_dac9e1195a0d_pt_190, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_191, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_192, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_193, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_194, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_195, + .tag_len = 8, + .tcId = 27, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_197[] = { 0x58, 0x07, 0xa2, 0x32, 0x31, 0x77, 0xa6, 0xba, 0xc6, 0x77, 0x3c, 0xd9, 0x28, 0x9b, 0xc1, 0x20, 0x14, 0xb8, 0x95, 0xa4, 0xbc, 0xa7, 0x8f, 0x93, 0x50, 0x86, 0xe1, 0x49, 0x7a, 0x38, 0xcc, 0x02, 0x42 }; -static const uint8_t chiptest_dac9e1195a0d_aad_198[] = {}; -static const uint8_t chiptest_dac9e1195a0d_key_199[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_aad_198[] = {}; +static const uint8_t chiptest_dac9e1195a0d_key_199[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_200[] = { 0xee, 0xbc, 0x7d, 0x0c, 0xce, 0x8d, 0x7f, 0xd6, 0xa5, 0x72, 0x6e, 0x49 }; -static const uint8_t chiptest_dac9e1195a0d_ct_201[] = { 0xb4, 0x48, 0x21, 0x1c, 0x9d, 0xa8, 0xc3, 0x31, 0x6c, 0x52, 0x69, +static const uint8_t chiptest_dac9e1195a0d_nonce_200[] = { 0xee, 0xbc, 0x7d, 0x0c, 0xce, 0x8d, 0x7f, 0xd6, 0xa5, 0x72, 0x6e, 0x49 }; +static const uint8_t chiptest_dac9e1195a0d_ct_201[] = { 0xb4, 0x48, 0x21, 0x1c, 0x9d, 0xa8, 0xc3, 0x31, 0x6c, 0x52, 0x69, 0xe5, 0xc4, 0xf6, 0x65, 0x78, 0x67, 0x3f, 0x1d, 0xfc, 0x03, 0x8a, 0x4f, 0x3f, 0x13, 0x2c, 0x85, 0x76, 0x2a, 0x89, 0x32, 0x06, 0xd4 }; -static const uint8_t chiptest_dac9e1195a0d_tag_202[] = { 0xc4, 0xa7, 0xd3, 0x61, 0x19, 0xeb, 0x20, 0x96, 0xaf, 0x5b, 0x39, 0x73 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_203 = { .pt = chiptest_dac9e1195a0d_pt_197, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_198, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_199, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_200, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_201, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_202, - .tag_len = 12, - .tcId = 28, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_204[] = { 0x58, 0x07, 0xa2, 0x32, 0x31, 0x77, 0xa6, 0xba, 0xc6, 0x77, 0x3c, +static const uint8_t chiptest_dac9e1195a0d_tag_202[] = { 0xc4, 0xa7, 0xd3, 0x61, 0x19, 0xeb, 0x20, 0x96, 0xaf, 0x5b, 0x39, 0x73 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_203 = { .pt = chiptest_dac9e1195a0d_pt_197, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_198, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_199, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_200, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_201, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_202, + .tag_len = 12, + .tcId = 28, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_204[] = { 0x58, 0x07, 0xa2, 0x32, 0x31, 0x77, 0xa6, 0xba, 0xc6, 0x77, 0x3c, 0xd9, 0x28, 0x9b, 0xc1, 0x20, 0x14, 0xb8, 0x95, 0xa4, 0xbc, 0xa7, 0x8f, 0x93, 0x50, 0x86, 0xe1, 0x49, 0x7a, 0x38, 0xcc, 0x02, 0x42 }; -static const uint8_t chiptest_dac9e1195a0d_aad_205[] = {}; -static const uint8_t chiptest_dac9e1195a0d_key_206[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_aad_205[] = {}; +static const uint8_t chiptest_dac9e1195a0d_key_206[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_207[] = { 0xee, 0xbc, 0x7d, 0x0c, 0xce, 0x8d, 0x7f, 0xd6, 0xa5, 0x72, 0x6e, 0x49 }; -static const uint8_t chiptest_dac9e1195a0d_ct_208[] = { 0xb4, 0x48, 0x21, 0x1c, 0x9d, 0xa8, 0xc3, 0x31, 0x6c, 0x52, 0x69, +static const uint8_t chiptest_dac9e1195a0d_nonce_207[] = { 0xee, 0xbc, 0x7d, 0x0c, 0xce, 0x8d, 0x7f, 0xd6, 0xa5, 0x72, 0x6e, 0x49 }; +static const uint8_t chiptest_dac9e1195a0d_ct_208[] = { 0xb4, 0x48, 0x21, 0x1c, 0x9d, 0xa8, 0xc3, 0x31, 0x6c, 0x52, 0x69, 0xe5, 0xc4, 0xf6, 0x65, 0x78, 0x67, 0x3f, 0x1d, 0xfc, 0x03, 0x8a, 0x4f, 0x3f, 0x13, 0x2c, 0x85, 0x76, 0x2a, 0x89, 0x32, 0x06, 0xd4 }; -static const uint8_t chiptest_dac9e1195a0d_tag_209[] = { 0x09, 0xbd, 0x22, 0x93, 0x58, 0xcb, 0x85, 0x4a, +static const uint8_t chiptest_dac9e1195a0d_tag_209[] = { 0x09, 0xbd, 0x22, 0x93, 0x58, 0xcb, 0x85, 0x4a, 0x72, 0x2d, 0xc1, 0x5d, 0x98, 0x32, 0x7c, 0xe6 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_210 = { .pt = chiptest_dac9e1195a0d_pt_204, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_205, - .aad_len = 0, - .key = chiptest_dac9e1195a0d_key_206, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_207, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_208, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_209, - .tag_len = 16, - .tcId = 29, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_211[] = { 0x84, 0x4f, 0xf8, 0x35, 0xe3, 0xac, 0x66, 0x7b, 0x28, 0x84, 0xf3, +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_210 = { .pt = chiptest_dac9e1195a0d_pt_204, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_205, + .aad_len = 0, + .key = chiptest_dac9e1195a0d_key_206, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_207, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_208, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_209, + .tag_len = 16, + .tcId = 29, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_211[] = { 0x84, 0x4f, 0xf8, 0x35, 0xe3, 0xac, 0x66, 0x7b, 0x28, 0x84, 0xf3, 0x47, 0xf8, 0x88, 0xf5, 0x70, 0x91, 0x9d, 0xab, 0xc3, 0xd9, 0x75, 0x54, 0xe0, 0x87, 0x9c, 0xc5, 0x89, 0x43, 0x36, 0xcc, 0x19, 0x2d }; -static const uint8_t chiptest_dac9e1195a0d_aad_212[] = { 0x62, 0x55, 0xa0, 0x07, 0x9e, 0x72, 0xc9, 0x5c, +static const uint8_t chiptest_dac9e1195a0d_aad_212[] = { 0x62, 0x55, 0xa0, 0x07, 0x9e, 0x72, 0xc9, 0x5c, 0x20, 0xf7, 0x0b, 0x6a, 0x09, 0xbb, 0x54, 0x13 }; -static const uint8_t chiptest_dac9e1195a0d_key_213[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_key_213[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_214[] = { 0x2d, 0xbf, 0xc3, 0xa1, 0x2e, 0x4d, 0x2a, 0x86 }; -static const uint8_t chiptest_dac9e1195a0d_ct_215[] = { 0x2e, 0x6c, 0x47, 0x78, 0xf0, 0xcd, 0x09, 0x50, 0x95, 0xfa, 0xb4, +static const uint8_t chiptest_dac9e1195a0d_nonce_214[] = { 0x2d, 0xbf, 0xc3, 0xa1, 0x2e, 0x4d, 0x2a, 0x86 }; +static const uint8_t chiptest_dac9e1195a0d_ct_215[] = { 0x2e, 0x6c, 0x47, 0x78, 0xf0, 0xcd, 0x09, 0x50, 0x95, 0xfa, 0xb4, 0xfb, 0x68, 0xb5, 0x59, 0xbf, 0xe6, 0xff, 0x2d, 0x09, 0xea, 0x7b, 0x66, 0x45, 0xfc, 0x1a, 0x25, 0x59, 0x5f, 0xd4, 0x48, 0x3e, 0xea }; -static const uint8_t chiptest_dac9e1195a0d_tag_216[] = { 0xe9, 0xb7, 0x04, 0x88, 0xaa, 0xf0, 0x23, 0x91 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_217 = { .pt = chiptest_dac9e1195a0d_pt_211, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_212, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_213, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_214, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_215, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_216, - .tag_len = 8, - .tcId = 30, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_218[] = { 0x84, 0x4f, 0xf8, 0x35, 0xe3, 0xac, 0x66, 0x7b, 0x28, 0x84, 0xf3, +static const uint8_t chiptest_dac9e1195a0d_tag_216[] = { 0xe9, 0xb7, 0x04, 0x88, 0xaa, 0xf0, 0x23, 0x91 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_217 = { .pt = chiptest_dac9e1195a0d_pt_211, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_212, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_213, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_214, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_215, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_216, + .tag_len = 8, + .tcId = 30, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_218[] = { 0x84, 0x4f, 0xf8, 0x35, 0xe3, 0xac, 0x66, 0x7b, 0x28, 0x84, 0xf3, 0x47, 0xf8, 0x88, 0xf5, 0x70, 0x91, 0x9d, 0xab, 0xc3, 0xd9, 0x75, 0x54, 0xe0, 0x87, 0x9c, 0xc5, 0x89, 0x43, 0x36, 0xcc, 0x19, 0x2d }; -static const uint8_t chiptest_dac9e1195a0d_aad_219[] = { 0x62, 0x55, 0xa0, 0x07, 0x9e, 0x72, 0xc9, 0x5c, +static const uint8_t chiptest_dac9e1195a0d_aad_219[] = { 0x62, 0x55, 0xa0, 0x07, 0x9e, 0x72, 0xc9, 0x5c, 0x20, 0xf7, 0x0b, 0x6a, 0x09, 0xbb, 0x54, 0x13 }; -static const uint8_t chiptest_dac9e1195a0d_key_220[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_key_220[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_221[] = { 0x2d, 0xbf, 0xc3, 0xa1, 0x2e, 0x4d, 0x2a, 0x86 }; -static const uint8_t chiptest_dac9e1195a0d_ct_222[] = { 0x2e, 0x6c, 0x47, 0x78, 0xf0, 0xcd, 0x09, 0x50, 0x95, 0xfa, 0xb4, +static const uint8_t chiptest_dac9e1195a0d_nonce_221[] = { 0x2d, 0xbf, 0xc3, 0xa1, 0x2e, 0x4d, 0x2a, 0x86 }; +static const uint8_t chiptest_dac9e1195a0d_ct_222[] = { 0x2e, 0x6c, 0x47, 0x78, 0xf0, 0xcd, 0x09, 0x50, 0x95, 0xfa, 0xb4, 0xfb, 0x68, 0xb5, 0x59, 0xbf, 0xe6, 0xff, 0x2d, 0x09, 0xea, 0x7b, 0x66, 0x45, 0xfc, 0x1a, 0x25, 0x59, 0x5f, 0xd4, 0x48, 0x3e, 0xea }; -static const uint8_t chiptest_dac9e1195a0d_tag_223[] = { 0x1e, 0xe1, 0xda, 0x23, 0xcf, 0x3d, 0x1d, 0xb0, 0xd2, 0x01, 0x0e, 0x3d }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_224 = { .pt = chiptest_dac9e1195a0d_pt_218, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_219, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_220, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_221, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_222, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_223, - .tag_len = 12, - .tcId = 31, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_225[] = { 0x84, 0x4f, 0xf8, 0x35, 0xe3, 0xac, 0x66, 0x7b, 0x28, 0x84, 0xf3, +static const uint8_t chiptest_dac9e1195a0d_tag_223[] = { 0x1e, 0xe1, 0xda, 0x23, 0xcf, 0x3d, 0x1d, 0xb0, 0xd2, 0x01, 0x0e, 0x3d }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_224 = { .pt = chiptest_dac9e1195a0d_pt_218, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_219, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_220, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_221, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_222, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_223, + .tag_len = 12, + .tcId = 31, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_225[] = { 0x84, 0x4f, 0xf8, 0x35, 0xe3, 0xac, 0x66, 0x7b, 0x28, 0x84, 0xf3, 0x47, 0xf8, 0x88, 0xf5, 0x70, 0x91, 0x9d, 0xab, 0xc3, 0xd9, 0x75, 0x54, 0xe0, 0x87, 0x9c, 0xc5, 0x89, 0x43, 0x36, 0xcc, 0x19, 0x2d }; -static const uint8_t chiptest_dac9e1195a0d_aad_226[] = { 0x62, 0x55, 0xa0, 0x07, 0x9e, 0x72, 0xc9, 0x5c, +static const uint8_t chiptest_dac9e1195a0d_aad_226[] = { 0x62, 0x55, 0xa0, 0x07, 0x9e, 0x72, 0xc9, 0x5c, 0x20, 0xf7, 0x0b, 0x6a, 0x09, 0xbb, 0x54, 0x13 }; -static const uint8_t chiptest_dac9e1195a0d_key_227[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_key_227[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_228[] = { 0x2d, 0xbf, 0xc3, 0xa1, 0x2e, 0x4d, 0x2a, 0x86 }; -static const uint8_t chiptest_dac9e1195a0d_ct_229[] = { 0x2e, 0x6c, 0x47, 0x78, 0xf0, 0xcd, 0x09, 0x50, 0x95, 0xfa, 0xb4, +static const uint8_t chiptest_dac9e1195a0d_nonce_228[] = { 0x2d, 0xbf, 0xc3, 0xa1, 0x2e, 0x4d, 0x2a, 0x86 }; +static const uint8_t chiptest_dac9e1195a0d_ct_229[] = { 0x2e, 0x6c, 0x47, 0x78, 0xf0, 0xcd, 0x09, 0x50, 0x95, 0xfa, 0xb4, 0xfb, 0x68, 0xb5, 0x59, 0xbf, 0xe6, 0xff, 0x2d, 0x09, 0xea, 0x7b, 0x66, 0x45, 0xfc, 0x1a, 0x25, 0x59, 0x5f, 0xd4, 0x48, 0x3e, 0xea }; -static const uint8_t chiptest_dac9e1195a0d_tag_230[] = { 0xa5, 0x63, 0x5f, 0x07, 0x86, 0xe5, 0x08, 0x8c, +static const uint8_t chiptest_dac9e1195a0d_tag_230[] = { 0xa5, 0x63, 0x5f, 0x07, 0x86, 0xe5, 0x08, 0x8c, 0xf9, 0x90, 0x07, 0x20, 0x59, 0x94, 0x5f, 0xe9 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_231 = { .pt = chiptest_dac9e1195a0d_pt_225, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_226, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_227, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_228, - .iv_len = 8, - .ct = chiptest_dac9e1195a0d_ct_229, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_230, - .tag_len = 16, - .tcId = 32, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_232[] = { 0xd8, 0xc1, 0x36, 0xcc, 0x07, 0x01, 0x9d, 0x34, 0xcd, 0xca, 0xd0, +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_231 = { .pt = chiptest_dac9e1195a0d_pt_225, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_226, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_227, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_228, + .nonce_len = 8, + .ct = chiptest_dac9e1195a0d_ct_229, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_230, + .tag_len = 16, + .tcId = 32, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_232[] = { 0xd8, 0xc1, 0x36, 0xcc, 0x07, 0x01, 0x9d, 0x34, 0xcd, 0xca, 0xd0, 0xa0, 0x42, 0xfc, 0x3d, 0x75, 0x19, 0xe3, 0x0b, 0x5d, 0xdc, 0xb9, 0x10, 0xde, 0x53, 0xe6, 0x24, 0x12, 0x36, 0x36, 0xda, 0x52, 0x7b }; -static const uint8_t chiptest_dac9e1195a0d_aad_233[] = { 0x89, 0x3c, 0xd3, 0xe3, 0x53, 0x4d, 0xe7, 0x0d, +static const uint8_t chiptest_dac9e1195a0d_aad_233[] = { 0x89, 0x3c, 0xd3, 0xe3, 0x53, 0x4d, 0xe7, 0x0d, 0x0f, 0x29, 0x39, 0xe7, 0xae, 0x69, 0x62, 0x7d }; -static const uint8_t chiptest_dac9e1195a0d_key_234[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_key_234[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_235[] = { 0xb9, 0xb2, 0xeb, 0x2f, 0x55, 0x59, 0xba, 0xfd, 0x5d, 0xbb, 0xda, 0xf3 }; -static const uint8_t chiptest_dac9e1195a0d_ct_236[] = { 0xf9, 0x9f, 0x6a, 0x7c, 0x88, 0x86, 0x4d, 0x21, 0x2c, 0x12, 0x27, +static const uint8_t chiptest_dac9e1195a0d_nonce_235[] = { 0xb9, 0xb2, 0xeb, 0x2f, 0x55, 0x59, 0xba, 0xfd, 0x5d, 0xbb, 0xda, 0xf3 }; +static const uint8_t chiptest_dac9e1195a0d_ct_236[] = { 0xf9, 0x9f, 0x6a, 0x7c, 0x88, 0x86, 0x4d, 0x21, 0x2c, 0x12, 0x27, 0x91, 0x70, 0x23, 0xda, 0x36, 0xf1, 0xfa, 0x11, 0xf8, 0x26, 0x2d, 0x75, 0xb6, 0xc2, 0x0c, 0x4c, 0x19, 0xdb, 0x92, 0x14, 0xcc, 0x19 }; -static const uint8_t chiptest_dac9e1195a0d_tag_237[] = { 0x61, 0xaf, 0x0a, 0xf3, 0xe3, 0x2a, 0x8a, 0x82 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_238 = { .pt = chiptest_dac9e1195a0d_pt_232, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_233, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_234, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_235, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_236, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_237, - .tag_len = 8, - .tcId = 33, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_239[] = { 0xd8, 0xc1, 0x36, 0xcc, 0x07, 0x01, 0x9d, 0x34, 0xcd, 0xca, 0xd0, +static const uint8_t chiptest_dac9e1195a0d_tag_237[] = { 0x61, 0xaf, 0x0a, 0xf3, 0xe3, 0x2a, 0x8a, 0x82 }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_238 = { .pt = chiptest_dac9e1195a0d_pt_232, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_233, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_234, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_235, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_236, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_237, + .tag_len = 8, + .tcId = 33, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_239[] = { 0xd8, 0xc1, 0x36, 0xcc, 0x07, 0x01, 0x9d, 0x34, 0xcd, 0xca, 0xd0, 0xa0, 0x42, 0xfc, 0x3d, 0x75, 0x19, 0xe3, 0x0b, 0x5d, 0xdc, 0xb9, 0x10, 0xde, 0x53, 0xe6, 0x24, 0x12, 0x36, 0x36, 0xda, 0x52, 0x7b }; -static const uint8_t chiptest_dac9e1195a0d_aad_240[] = { 0x89, 0x3c, 0xd3, 0xe3, 0x53, 0x4d, 0xe7, 0x0d, +static const uint8_t chiptest_dac9e1195a0d_aad_240[] = { 0x89, 0x3c, 0xd3, 0xe3, 0x53, 0x4d, 0xe7, 0x0d, 0x0f, 0x29, 0x39, 0xe7, 0xae, 0x69, 0x62, 0x7d }; -static const uint8_t chiptest_dac9e1195a0d_key_241[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_key_241[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_242[] = { 0xb9, 0xb2, 0xeb, 0x2f, 0x55, 0x59, 0xba, 0xfd, 0x5d, 0xbb, 0xda, 0xf3 }; -static const uint8_t chiptest_dac9e1195a0d_ct_243[] = { 0xf9, 0x9f, 0x6a, 0x7c, 0x88, 0x86, 0x4d, 0x21, 0x2c, 0x12, 0x27, +static const uint8_t chiptest_dac9e1195a0d_nonce_242[] = { 0xb9, 0xb2, 0xeb, 0x2f, 0x55, 0x59, 0xba, 0xfd, 0x5d, 0xbb, 0xda, 0xf3 }; +static const uint8_t chiptest_dac9e1195a0d_ct_243[] = { 0xf9, 0x9f, 0x6a, 0x7c, 0x88, 0x86, 0x4d, 0x21, 0x2c, 0x12, 0x27, 0x91, 0x70, 0x23, 0xda, 0x36, 0xf1, 0xfa, 0x11, 0xf8, 0x26, 0x2d, 0x75, 0xb6, 0xc2, 0x0c, 0x4c, 0x19, 0xdb, 0x92, 0x14, 0xcc, 0x19 }; -static const uint8_t chiptest_dac9e1195a0d_tag_244[] = { 0x97, 0x66, 0x01, 0x50, 0x02, 0xd8, 0x68, 0x6c, 0x12, 0xd0, 0x2c, 0x3d }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_245 = { .pt = chiptest_dac9e1195a0d_pt_239, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_240, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_241, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_242, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_243, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_244, - .tag_len = 12, - .tcId = 34, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_dac9e1195a0d_pt_246[] = { 0xd8, 0xc1, 0x36, 0xcc, 0x07, 0x01, 0x9d, 0x34, 0xcd, 0xca, 0xd0, +static const uint8_t chiptest_dac9e1195a0d_tag_244[] = { 0x97, 0x66, 0x01, 0x50, 0x02, 0xd8, 0x68, 0x6c, 0x12, 0xd0, 0x2c, 0x3d }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_245 = { .pt = chiptest_dac9e1195a0d_pt_239, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_240, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_241, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_242, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_243, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_244, + .tag_len = 12, + .tcId = 34, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_dac9e1195a0d_pt_246[] = { 0xd8, 0xc1, 0x36, 0xcc, 0x07, 0x01, 0x9d, 0x34, 0xcd, 0xca, 0xd0, 0xa0, 0x42, 0xfc, 0x3d, 0x75, 0x19, 0xe3, 0x0b, 0x5d, 0xdc, 0xb9, 0x10, 0xde, 0x53, 0xe6, 0x24, 0x12, 0x36, 0x36, 0xda, 0x52, 0x7b }; -static const uint8_t chiptest_dac9e1195a0d_aad_247[] = { 0x89, 0x3c, 0xd3, 0xe3, 0x53, 0x4d, 0xe7, 0x0d, +static const uint8_t chiptest_dac9e1195a0d_aad_247[] = { 0x89, 0x3c, 0xd3, 0xe3, 0x53, 0x4d, 0xe7, 0x0d, 0x0f, 0x29, 0x39, 0xe7, 0xae, 0x69, 0x62, 0x7d }; -static const uint8_t chiptest_dac9e1195a0d_key_248[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, +static const uint8_t chiptest_dac9e1195a0d_key_248[] = { 0x04, 0xe1, 0xaf, 0x8f, 0x15, 0xe2, 0x16, 0x4e, 0xdb, 0x2d, 0xfd, 0xfe, 0xa2, 0xc4, 0x8b, 0xcf }; -static const uint8_t chiptest_dac9e1195a0d_iv_249[] = { 0xb9, 0xb2, 0xeb, 0x2f, 0x55, 0x59, 0xba, 0xfd, 0x5d, 0xbb, 0xda, 0xf3 }; -static const uint8_t chiptest_dac9e1195a0d_ct_250[] = { 0xf9, 0x9f, 0x6a, 0x7c, 0x88, 0x86, 0x4d, 0x21, 0x2c, 0x12, 0x27, +static const uint8_t chiptest_dac9e1195a0d_nonce_249[] = { 0xb9, 0xb2, 0xeb, 0x2f, 0x55, 0x59, 0xba, 0xfd, 0x5d, 0xbb, 0xda, 0xf3 }; +static const uint8_t chiptest_dac9e1195a0d_ct_250[] = { 0xf9, 0x9f, 0x6a, 0x7c, 0x88, 0x86, 0x4d, 0x21, 0x2c, 0x12, 0x27, 0x91, 0x70, 0x23, 0xda, 0x36, 0xf1, 0xfa, 0x11, 0xf8, 0x26, 0x2d, 0x75, 0xb6, 0xc2, 0x0c, 0x4c, 0x19, 0xdb, 0x92, 0x14, 0xcc, 0x19 }; -static const uint8_t chiptest_dac9e1195a0d_tag_251[] = { 0x9e, 0x7b, 0x72, 0x96, 0x6c, 0x9d, 0xbc, 0x93, +static const uint8_t chiptest_dac9e1195a0d_tag_251[] = { 0x9e, 0x7b, 0x72, 0x96, 0x6c, 0x9d, 0xbc, 0x93, 0xdb, 0x0e, 0xa9, 0x92, 0xa0, 0x8c, 0x9c, 0xad }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_252 = { .pt = chiptest_dac9e1195a0d_pt_246, - .pt_len = 33, - .aad = chiptest_dac9e1195a0d_aad_247, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_248, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_249, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_250, - .ct_len = 33, - .tag = chiptest_dac9e1195a0d_tag_251, - .tag_len = 16, - .tcId = 35, - .result = CHIP_NO_ERROR }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_252 = { .pt = chiptest_dac9e1195a0d_pt_246, + .pt_len = 33, + .aad = chiptest_dac9e1195a0d_aad_247, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_248, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_249, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_250, + .ct_len = 33, + .tag = chiptest_dac9e1195a0d_tag_251, + .tag_len = 16, + .tcId = 35, + .result = CHIP_NO_ERROR }; static const uint8_t chiptest_dac9e1195a0d_pt_253[] = { 0x31, 0x5e, 0x88, 0xf4, 0x83, 0x2d, 0x0c, 0x1d, 0xb4, 0xd6, 0x22, 0xa7, 0x49, 0x97, 0x27, 0x6e }; static const uint8_t chiptest_dac9e1195a0d_aad_254[] = { 0x0f, 0x9d, 0xfc, 0x66, 0x19, 0x6e, 0xc5, 0x8b, 0xd9, 0x32, 0x8d, 0xc9, 0x4f, 0xea, 0x9f, 0xe2 }; static const uint8_t chiptest_dac9e1195a0d_key_255[] = { 0xb0, 0x40, 0x51, 0x6c, 0xe6, 0x32, 0x48, 0xb3, 0xfc, 0xf5, 0x00, 0x98, 0x48, 0xc0, 0xdb, 0xf3 }; -static const uint8_t chiptest_dac9e1195a0d_iv_256[] = { 0x30, 0x0d, 0xb6, 0x16, 0xc5, 0xb5, 0xe5, 0xde, 0xb4, 0xf8, 0x90, 0x79 }; -static const uint8_t chiptest_dac9e1195a0d_ct_257[] = { 0x84, 0x15, 0x9c, 0xfd, 0xb7, 0xfd, 0xab, 0x6a, +static const uint8_t chiptest_dac9e1195a0d_nonce_256[] = { 0x30, 0x0d, 0xb6, 0x16, 0xc5, 0xb5, 0xe5, 0xde, 0xb4, 0xf8, 0x90, 0x79 }; +static const uint8_t chiptest_dac9e1195a0d_ct_257[] = { 0x84, 0x15, 0x9c, 0xfd, 0xb7, 0xfd, 0xab, 0x6a, 0x11, 0x3e, 0x66, 0x55, 0xfe, 0xf4, 0x17, 0x16 }; -static const uint8_t chiptest_dac9e1195a0d_tag_258[] = { 0xc8, 0x50, 0x01, 0xbe, 0xfc, 0x4d, 0xe3, 0x19, +static const uint8_t chiptest_dac9e1195a0d_tag_258[] = { 0xc8, 0x50, 0x01, 0xbe, 0xfc, 0x4d, 0xe3, 0x19, 0xea, 0x9f, 0x01, 0x6a, 0xde, 0xf5, 0x6f, 0xe3 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_259 = { .pt = chiptest_dac9e1195a0d_pt_253, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_254, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_255, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_256, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_257, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_258, - .tag_len = 16, - .tcId = 36, - .result = CHIP_ERROR_INTERNAL }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_259 = { .pt = chiptest_dac9e1195a0d_pt_253, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_254, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_255, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_256, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_257, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_258, + .tag_len = 16, + .tcId = 36, + .result = CHIP_ERROR_INTERNAL }; static const uint8_t chiptest_dac9e1195a0d_pt_260[] = { 0x31, 0x5e, 0x88, 0xf4, 0x83, 0x2d, 0x0c, 0x1d, 0xb4, 0xd6, 0x22, 0xa7, 0x49, 0x97, 0x27, 0x6e }; static const uint8_t chiptest_dac9e1195a0d_aad_261[] = { 0x0f, 0x9d, 0xfc, 0x66, 0x19, 0x6e, 0xc5, 0x8b, 0xd9, 0x32, 0x8d, 0xc9, 0x4f, 0xea, 0x9f, 0xe2 }; static const uint8_t chiptest_dac9e1195a0d_key_262[] = { 0xb0, 0x40, 0x51, 0x6c, 0xe6, 0x32, 0x48, 0xb3, 0xfc, 0xf5, 0x00, 0x98, 0x48, 0xc0, 0xdb, 0xf3 }; -static const uint8_t chiptest_dac9e1195a0d_iv_263[] = { 0x30, 0x0d, 0xb6, 0x16, 0xc5, 0xb5, 0xe5, 0xde, 0xb4, 0xf8, 0x90, 0x79 }; -static const uint8_t chiptest_dac9e1195a0d_ct_264[] = { 0x85, 0x15, 0x9c, 0xfd, 0xb7, 0xfd, 0xab, 0x6a, +static const uint8_t chiptest_dac9e1195a0d_nonce_263[] = { 0x30, 0x0d, 0xb6, 0x16, 0xc5, 0xb5, 0xe5, 0xde, 0xb4, 0xf8, 0x90, 0x79 }; +static const uint8_t chiptest_dac9e1195a0d_ct_264[] = { 0x85, 0x15, 0x9c, 0xfd, 0xb7, 0xfd, 0xab, 0x6a, 0x11, 0x3e, 0x66, 0x55, 0xfe, 0xf4, 0x17, 0x16 }; -static const uint8_t chiptest_dac9e1195a0d_tag_265[] = { 0xc7, 0x50, 0x01, 0xbe, 0xfc, 0x4d, 0xe3, 0x19, +static const uint8_t chiptest_dac9e1195a0d_tag_265[] = { 0xc7, 0x50, 0x01, 0xbe, 0xfc, 0x4d, 0xe3, 0x19, 0xea, 0x9f, 0x01, 0x6a, 0xde, 0xf5, 0x6f, 0xe3 }; -static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_266 = { .pt = chiptest_dac9e1195a0d_pt_260, - .pt_len = 16, - .aad = chiptest_dac9e1195a0d_aad_261, - .aad_len = 16, - .key = chiptest_dac9e1195a0d_key_262, - .key_len = 16, - .iv = chiptest_dac9e1195a0d_iv_263, - .iv_len = 12, - .ct = chiptest_dac9e1195a0d_ct_264, - .ct_len = 16, - .tag = chiptest_dac9e1195a0d_tag_265, - .tag_len = 16, - .tcId = 37, - .result = CHIP_ERROR_INTERNAL }; +static const struct ccm_128_test_vector chiptest_dac9e1195a0d_test_vector_266 = { .pt = chiptest_dac9e1195a0d_pt_260, + .pt_len = 16, + .aad = chiptest_dac9e1195a0d_aad_261, + .aad_len = 16, + .key = chiptest_dac9e1195a0d_key_262, + .key_len = 16, + .nonce = chiptest_dac9e1195a0d_nonce_263, + .nonce_len = 12, + .ct = chiptest_dac9e1195a0d_ct_264, + .ct_len = 16, + .tag = chiptest_dac9e1195a0d_tag_265, + .tag_len = 16, + .tcId = 37, + .result = CHIP_ERROR_INTERNAL }; static const struct ccm_128_test_vector * ccm_128_test_vectors[] = { &chiptest_dac9e1195a0d_test_vector_7, &chiptest_dac9e1195a0d_test_vector_14, &chiptest_dac9e1195a0d_test_vector_21, &chiptest_dac9e1195a0d_test_vector_28, &chiptest_dac9e1195a0d_test_vector_35, &chiptest_dac9e1195a0d_test_vector_42, diff --git a/src/crypto/tests/AES_CCM_256_test_vectors.h b/src/crypto/tests/AES_CCM_256_test_vectors.h index 7db78e3528d59b..24ffdbb15dbadc 100644 --- a/src/crypto/tests/AES_CCM_256_test_vectors.h +++ b/src/crypto/tests/AES_CCM_256_test_vectors.h @@ -31,8 +31,8 @@ typedef struct ccm_test_vector size_t pt_len; const uint8_t * ct; size_t ct_len; - const uint8_t * iv; - size_t iv_len; + const uint8_t * nonce; + size_t nonce_len; const uint8_t * aad; size_t aad_len; const uint8_t * tag; @@ -41,1619 +41,1592 @@ typedef struct ccm_test_vector CHIP_ERROR result; } ccm_test_vector; -static const uint8_t chiptest_12cb0ed34854_key_1[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_key_1[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_2[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_3[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_4[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_5[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_6[] = { 0xfd, 0x9c, 0x65, 0x82, 0xe4, 0x1c, 0xfa, 0x32 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_7 = { .key = chiptest_12cb0ed34854_key_1, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_2, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_3, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_4, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_5, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_6, - .tag_len = 8, - .tcId = 1, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_8[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_2[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_3[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_4[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_5[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_6[] = { 0xfd, 0x9c, 0x65, 0x82, 0xe4, 0x1c, 0xfa, 0x32 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_7 = { .key = chiptest_12cb0ed34854_key_1, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_2, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_3, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_4, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_5, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_6, + .tag_len = 8, + .tcId = 1, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_8[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_9[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_10[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_11[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_12[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_13[] = { 0x0d, 0xf6, 0xaa, 0x1e, 0xe8, 0x81, 0x20, 0x1f, 0x44, 0xd4, 0x84, 0x54 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_14 = { .key = chiptest_12cb0ed34854_key_8, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_9, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_10, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_11, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_12, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_13, - .tag_len = 12, - .tcId = 2, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_15[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_9[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_10[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_11[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_12[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_13[] = { 0x0d, 0xf6, 0xaa, 0x1e, 0xe8, 0x81, 0x20, 0x1f, 0x44, 0xd4, 0x84, 0x54 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_14 = { .key = chiptest_12cb0ed34854_key_8, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_9, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_10, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_11, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_12, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_13, + .tag_len = 12, + .tcId = 2, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_15[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_16[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_17[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_18[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_19[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_20[] = { 0xe6, 0x85, 0x9c, 0x92, 0xca, 0x23, 0x66, 0xbe, +static const uint8_t chiptest_12cb0ed34854_pt_16[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_17[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_18[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_19[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_20[] = { 0xe6, 0x85, 0x9c, 0x92, 0xca, 0x23, 0x66, 0xbe, 0x08, 0xb5, 0xaa, 0xbd, 0x0e, 0x21, 0x96, 0xc1 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_21 = { .key = chiptest_12cb0ed34854_key_15, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_16, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_17, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_18, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_19, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_20, - .tag_len = 16, - .tcId = 3, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_22[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_21 = { .key = chiptest_12cb0ed34854_key_15, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_16, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_17, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_18, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_19, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_20, + .tag_len = 16, + .tcId = 3, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_22[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_23[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_24[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_25[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_26[] = { 0x7c }; -static const uint8_t chiptest_12cb0ed34854_tag_27[] = { 0xe7, 0xbc, 0x88, 0x63, 0xab, 0x75, 0x31, 0x12 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_28 = { .key = chiptest_12cb0ed34854_key_22, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_23, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_24, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_25, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_26, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_27, - .tag_len = 8, - .tcId = 4, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_29[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_23[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_24[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_25[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_26[] = { 0x7c }; +static const uint8_t chiptest_12cb0ed34854_tag_27[] = { 0xe7, 0xbc, 0x88, 0x63, 0xab, 0x75, 0x31, 0x12 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_28 = { .key = chiptest_12cb0ed34854_key_22, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_23, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_24, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_25, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_26, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_27, + .tag_len = 8, + .tcId = 4, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_29[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_30[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_31[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_32[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_33[] = { 0x7c }; -static const uint8_t chiptest_12cb0ed34854_tag_34[] = { 0x96, 0xe8, 0x1c, 0x45, 0xea, 0xe6, 0x9a, 0xbe, 0x1e, 0x0c, 0x90, 0xe4 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_35 = { .key = chiptest_12cb0ed34854_key_29, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_30, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_31, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_32, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_33, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_34, - .tag_len = 12, - .tcId = 5, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_36[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_30[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_31[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_32[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_33[] = { 0x7c }; +static const uint8_t chiptest_12cb0ed34854_tag_34[] = { 0x96, 0xe8, 0x1c, 0x45, 0xea, 0xe6, 0x9a, 0xbe, 0x1e, 0x0c, 0x90, 0xe4 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_35 = { .key = chiptest_12cb0ed34854_key_29, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_30, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_31, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_32, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_33, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_34, + .tag_len = 12, + .tcId = 5, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_36[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_37[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_38[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_39[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_40[] = { 0x7c }; -static const uint8_t chiptest_12cb0ed34854_tag_41[] = { 0xfd, 0xe6, 0xa4, 0x32, 0x05, 0xb1, 0xe2, 0x74, +static const uint8_t chiptest_12cb0ed34854_pt_37[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_38[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_39[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_40[] = { 0x7c }; +static const uint8_t chiptest_12cb0ed34854_tag_41[] = { 0xfd, 0xe6, 0xa4, 0x32, 0x05, 0xb1, 0xe2, 0x74, 0x20, 0x4c, 0x6e, 0x3f, 0x66, 0xd0, 0x69, 0xbd }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_42 = { .key = chiptest_12cb0ed34854_key_36, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_37, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_38, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_39, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_40, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_41, - .tag_len = 16, - .tcId = 6, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_43[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_42 = { .key = chiptest_12cb0ed34854_key_36, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_37, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_38, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_39, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_40, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_41, + .tag_len = 16, + .tcId = 6, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_43[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_44[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_45[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_46[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_47[] = { 0xa1, 0xd0, 0x44, 0x40, 0xaa, 0x76, 0x31, 0x6e, 0x97, 0xdd, 0x6c, +static const uint8_t chiptest_12cb0ed34854_pt_44[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_45[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_46[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_47[] = { 0xa1, 0xd0, 0x44, 0x40, 0xaa, 0x76, 0x31, 0x6e, 0x97, 0xdd, 0x6c, 0xcb, 0x7f, 0x2e, 0xb2, 0x1f, 0x1f, 0x1d, 0x9d, 0x6b, 0x73, 0xde, 0xeb, 0x56, 0x04, 0xab, 0xb5, 0x6e, 0x45, 0x45, 0x54, 0x4d }; -static const uint8_t chiptest_12cb0ed34854_tag_48[] = { 0xcd, 0x32, 0xdf, 0x9d, 0xa5, 0xb5, 0x53, 0x2c }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_49 = { .key = chiptest_12cb0ed34854_key_43, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_44, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_45, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_46, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_47, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_48, - .tag_len = 8, - .tcId = 7, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_50[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_48[] = { 0xcd, 0x32, 0xdf, 0x9d, 0xa5, 0xb5, 0x53, 0x2c }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_49 = { .key = chiptest_12cb0ed34854_key_43, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_44, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_45, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_46, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_47, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_48, + .tag_len = 8, + .tcId = 7, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_50[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_51[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_52[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_53[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_54[] = { 0xa1, 0xd0, 0x44, 0x40, 0xaa, 0x76, 0x31, 0x6e, 0x97, 0xdd, 0x6c, +static const uint8_t chiptest_12cb0ed34854_pt_51[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_52[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_53[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_54[] = { 0xa1, 0xd0, 0x44, 0x40, 0xaa, 0x76, 0x31, 0x6e, 0x97, 0xdd, 0x6c, 0xcb, 0x7f, 0x2e, 0xb2, 0x1f, 0x1f, 0x1d, 0x9d, 0x6b, 0x73, 0xde, 0xeb, 0x56, 0x04, 0xab, 0xb5, 0x6e, 0x45, 0x45, 0x54, 0x4d }; -static const uint8_t chiptest_12cb0ed34854_tag_55[] = { 0x98, 0x1b, 0x39, 0xe4, 0xd9, 0x48, 0xd0, 0x6c, 0x5c, 0x73, 0x24, 0x5f }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_56 = { .key = chiptest_12cb0ed34854_key_50, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_51, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_52, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_53, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_54, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_55, - .tag_len = 12, - .tcId = 8, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_57[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_55[] = { 0x98, 0x1b, 0x39, 0xe4, 0xd9, 0x48, 0xd0, 0x6c, 0x5c, 0x73, 0x24, 0x5f }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_56 = { .key = chiptest_12cb0ed34854_key_50, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_51, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_52, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_53, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_54, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_55, + .tag_len = 12, + .tcId = 8, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_57[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_58[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_59[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_60[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_61[] = { 0xa1, 0xd0, 0x44, 0x40, 0xaa, 0x76, 0x31, 0x6e, 0x97, 0xdd, 0x6c, +static const uint8_t chiptest_12cb0ed34854_pt_58[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_59[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_60[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_61[] = { 0xa1, 0xd0, 0x44, 0x40, 0xaa, 0x76, 0x31, 0x6e, 0x97, 0xdd, 0x6c, 0xcb, 0x7f, 0x2e, 0xb2, 0x1f, 0x1f, 0x1d, 0x9d, 0x6b, 0x73, 0xde, 0xeb, 0x56, 0x04, 0xab, 0xb5, 0x6e, 0x45, 0x45, 0x54, 0x4d }; -static const uint8_t chiptest_12cb0ed34854_tag_62[] = { 0x3c, 0x0e, 0xc0, 0x5f, 0xa3, 0xbd, 0x3b, 0x44, +static const uint8_t chiptest_12cb0ed34854_tag_62[] = { 0x3c, 0x0e, 0xc0, 0x5f, 0xa3, 0xbd, 0x3b, 0x44, 0xd8, 0x91, 0x6d, 0x91, 0x0a, 0xb5, 0x65, 0xd9 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_63 = { .key = chiptest_12cb0ed34854_key_57, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_58, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_59, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_60, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_61, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_62, - .tag_len = 16, - .tcId = 9, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_64[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_63 = { .key = chiptest_12cb0ed34854_key_57, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_58, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_59, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_60, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_61, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_62, + .tag_len = 16, + .tcId = 9, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_64[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_65[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_65[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_66[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_66[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_67[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_68[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_69[] = { 0xdc, 0xd2, 0x22, 0xd3, 0xa8, 0xfe, 0x64, 0x31 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_70 = { .key = chiptest_12cb0ed34854_key_64, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_65, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_66, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_67, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_68, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_69, - .tag_len = 8, - .tcId = 10, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_71[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_67[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_68[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_69[] = { 0xdc, 0xd2, 0x22, 0xd3, 0xa8, 0xfe, 0x64, 0x31 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_70 = { .key = chiptest_12cb0ed34854_key_64, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_65, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_66, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_67, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_68, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_69, + .tag_len = 8, + .tcId = 10, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_71[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_72[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_72[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_73[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_73[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_74[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_75[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_76[] = { 0xdf, 0x33, 0xdd, 0x45, 0x15, 0x16, 0x84, 0x18, 0x2e, 0x30, 0x64, 0x27 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_77 = { .key = chiptest_12cb0ed34854_key_71, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_72, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_73, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_74, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_75, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_76, - .tag_len = 12, - .tcId = 11, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_78[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_74[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_75[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_76[] = { 0xdf, 0x33, 0xdd, 0x45, 0x15, 0x16, 0x84, 0x18, 0x2e, 0x30, 0x64, 0x27 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_77 = { .key = chiptest_12cb0ed34854_key_71, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_72, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_73, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_74, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_75, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_76, + .tag_len = 12, + .tcId = 11, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_78[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_79[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_79[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_80[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_80[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_81[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_82[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_83[] = { 0xdd, 0x5c, 0xac, 0xb1, 0x27, 0x41, 0xf5, 0x2b, +static const uint8_t chiptest_12cb0ed34854_nonce_81[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_82[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_83[] = { 0xdd, 0x5c, 0xac, 0xb1, 0x27, 0x41, 0xf5, 0x2b, 0xa4, 0x51, 0xef, 0x8b, 0x5e, 0x66, 0xac, 0x9e }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_84 = { .key = chiptest_12cb0ed34854_key_78, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_79, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_80, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_81, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_82, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_83, - .tag_len = 16, - .tcId = 12, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_85[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_84 = { .key = chiptest_12cb0ed34854_key_78, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_79, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_80, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_81, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_82, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_83, + .tag_len = 16, + .tcId = 12, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_85[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_86[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_86[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_87[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_87[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_88[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_89[] = { 0xda }; -static const uint8_t chiptest_12cb0ed34854_tag_90[] = { 0x84, 0x8d, 0x7b, 0xc1, 0x4a, 0x42, 0xbb, 0x56 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_91 = { .key = chiptest_12cb0ed34854_key_85, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_86, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_87, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_88, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_89, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_90, - .tag_len = 8, - .tcId = 13, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_92[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_88[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_89[] = { 0xda }; +static const uint8_t chiptest_12cb0ed34854_tag_90[] = { 0x84, 0x8d, 0x7b, 0xc1, 0x4a, 0x42, 0xbb, 0x56 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_91 = { .key = chiptest_12cb0ed34854_key_85, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_86, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_87, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_88, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_89, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_90, + .tag_len = 8, + .tcId = 13, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_92[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_93[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_93[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_94[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_94[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_95[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_96[] = { 0xda }; -static const uint8_t chiptest_12cb0ed34854_tag_97[] = { 0x43, 0x46, 0x00, 0xf5, 0xb7, 0xc5, 0x59, 0x85, 0x12, 0x79, 0xea, 0xfe }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_98 = { .key = chiptest_12cb0ed34854_key_92, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_93, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_94, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_95, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_96, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_97, - .tag_len = 12, - .tcId = 14, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_99[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_95[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_96[] = { 0xda }; +static const uint8_t chiptest_12cb0ed34854_tag_97[] = { 0x43, 0x46, 0x00, 0xf5, 0xb7, 0xc5, 0x59, 0x85, 0x12, 0x79, 0xea, 0xfe }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_98 = { .key = chiptest_12cb0ed34854_key_92, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_93, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_94, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_95, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_96, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_97, + .tag_len = 12, + .tcId = 14, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_99[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_100[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_100[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_101[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_101[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_102[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_103[] = { 0xda }; -static const uint8_t chiptest_12cb0ed34854_tag_104[] = { 0x10, 0x8d, 0x3c, 0xcf, 0xee, 0x1c, 0xed, 0xcd, +static const uint8_t chiptest_12cb0ed34854_nonce_102[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_103[] = { 0xda }; +static const uint8_t chiptest_12cb0ed34854_tag_104[] = { 0x10, 0x8d, 0x3c, 0xcf, 0xee, 0x1c, 0xed, 0xcd, 0x1e, 0xef, 0x8c, 0x6b, 0xda, 0xbf, 0xa4, 0xf9 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_105 = { .key = chiptest_12cb0ed34854_key_99, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_100, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_101, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_102, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_103, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_104, - .tag_len = 16, - .tcId = 15, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_106[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_105 = { .key = chiptest_12cb0ed34854_key_99, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_100, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_101, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_102, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_103, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_104, + .tag_len = 16, + .tcId = 15, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_106[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_107[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_107[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_108[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_108[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_109[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_110[] = { 0x67, 0xc0, 0xf4, 0xac, 0xb9, 0x6f, 0x73, 0x5e, 0xd0, 0xa2, 0xcf, +static const uint8_t chiptest_12cb0ed34854_nonce_109[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_110[] = { 0x67, 0xc0, 0xf4, 0xac, 0xb9, 0x6f, 0x73, 0x5e, 0xd0, 0xa2, 0xcf, 0x95, 0x8a, 0x7c, 0xc3, 0xc5, 0xf7, 0x96, 0xf5, 0xde, 0x40, 0xcd, 0x99, 0x8f, 0xdd, 0xb9, 0xa3, 0x0b, 0x2f, 0x6e, 0x74, 0x5f }; -static const uint8_t chiptest_12cb0ed34854_tag_111[] = { 0xee, 0xfd, 0x63, 0x48, 0xf1, 0x79, 0x34, 0x5f }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_112 = { .key = chiptest_12cb0ed34854_key_106, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_107, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_108, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_109, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_110, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_111, - .tag_len = 8, - .tcId = 16, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_113[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_111[] = { 0xee, 0xfd, 0x63, 0x48, 0xf1, 0x79, 0x34, 0x5f }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_112 = { .key = chiptest_12cb0ed34854_key_106, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_107, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_108, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_109, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_110, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_111, + .tag_len = 8, + .tcId = 16, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_113[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_114[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_114[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_115[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_115[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_116[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_117[] = { 0x67, 0xc0, 0xf4, 0xac, 0xb9, 0x6f, 0x73, 0x5e, 0xd0, 0xa2, 0xcf, +static const uint8_t chiptest_12cb0ed34854_nonce_116[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_117[] = { 0x67, 0xc0, 0xf4, 0xac, 0xb9, 0x6f, 0x73, 0x5e, 0xd0, 0xa2, 0xcf, 0x95, 0x8a, 0x7c, 0xc3, 0xc5, 0xf7, 0x96, 0xf5, 0xde, 0x40, 0xcd, 0x99, 0x8f, 0xdd, 0xb9, 0xa3, 0x0b, 0x2f, 0x6e, 0x74, 0x5f }; -static const uint8_t chiptest_12cb0ed34854_tag_118[] = { 0x19, 0xb6, 0x25, 0x1d, 0xbf, 0x0b, 0x07, 0x43, 0x46, 0xfc, 0xd1, 0x62 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_119 = { .key = chiptest_12cb0ed34854_key_113, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_114, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_115, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_116, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_117, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_118, - .tag_len = 12, - .tcId = 17, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_120[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_118[] = { 0x19, 0xb6, 0x25, 0x1d, 0xbf, 0x0b, 0x07, 0x43, 0x46, 0xfc, 0xd1, 0x62 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_119 = { .key = chiptest_12cb0ed34854_key_113, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_114, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_115, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_116, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_117, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_118, + .tag_len = 12, + .tcId = 17, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_120[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_121[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, +static const uint8_t chiptest_12cb0ed34854_pt_121[] = { 0xe4, 0xe6, 0xfe, 0x17, 0xc6, 0xd6, 0xd0, 0xc8, 0x04, 0x34, 0x34, 0xfc, 0x09, 0x1a, 0xda, 0xc7 }; -static const uint8_t chiptest_12cb0ed34854_ct_122[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, +static const uint8_t chiptest_12cb0ed34854_ct_122[] = { 0xb3, 0xf7, 0x94, 0x08, 0xd1, 0xdf, 0x32, 0x5d, 0xa3, 0x77, 0x90, 0xf4, 0x7d, 0x48, 0xce, 0xf9 }; -static const uint8_t chiptest_12cb0ed34854_iv_123[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_124[] = { 0x67, 0xc0, 0xf4, 0xac, 0xb9, 0x6f, 0x73, 0x5e, 0xd0, 0xa2, 0xcf, +static const uint8_t chiptest_12cb0ed34854_nonce_123[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_124[] = { 0x67, 0xc0, 0xf4, 0xac, 0xb9, 0x6f, 0x73, 0x5e, 0xd0, 0xa2, 0xcf, 0x95, 0x8a, 0x7c, 0xc3, 0xc5, 0xf7, 0x96, 0xf5, 0xde, 0x40, 0xcd, 0x99, 0x8f, 0xdd, 0xb9, 0xa3, 0x0b, 0x2f, 0x6e, 0x74, 0x5f }; -static const uint8_t chiptest_12cb0ed34854_tag_125[] = { 0x96, 0x42, 0x3d, 0x41, 0xbb, 0x98, 0x05, 0x37, +static const uint8_t chiptest_12cb0ed34854_tag_125[] = { 0x96, 0x42, 0x3d, 0x41, 0xbb, 0x98, 0x05, 0x37, 0x1f, 0x3f, 0x78, 0x4f, 0xa4, 0x76, 0xa4, 0x79 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_126 = { .key = chiptest_12cb0ed34854_key_120, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_121, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_122, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_123, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_124, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_125, - .tag_len = 16, - .tcId = 18, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_127[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_126 = { .key = chiptest_12cb0ed34854_key_120, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_121, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_122, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_123, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_124, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_125, + .tag_len = 16, + .tcId = 18, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_127[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_128[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_128[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_129[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_129[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_130[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_131[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_132[] = { 0x0e, 0x87, 0x96, 0xd6, 0x32, 0xc9, 0xb3, 0x2e }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_133 = { .key = chiptest_12cb0ed34854_key_127, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_128, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_129, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_130, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_131, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_132, - .tag_len = 8, - .tcId = 19, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_134[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_130[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_131[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_132[] = { 0x0e, 0x87, 0x96, 0xd6, 0x32, 0xc9, 0xb3, 0x2e }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_133 = { .key = chiptest_12cb0ed34854_key_127, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_128, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_129, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_130, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_131, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_132, + .tag_len = 8, + .tcId = 19, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_134[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_135[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_135[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_136[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_136[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_137[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_138[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_139[] = { 0x4f, 0x3a, 0x4c, 0x11, 0x07, 0x44, 0x86, 0x9e, 0xd1, 0x4d, 0x53, 0xaa }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_140 = { .key = chiptest_12cb0ed34854_key_134, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_135, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_136, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_137, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_138, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_139, - .tag_len = 12, - .tcId = 20, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_141[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_137[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_138[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_139[] = { 0x4f, 0x3a, 0x4c, 0x11, 0x07, 0x44, 0x86, 0x9e, 0xd1, 0x4d, 0x53, 0xaa }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_140 = { .key = chiptest_12cb0ed34854_key_134, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_135, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_136, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_137, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_138, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_139, + .tag_len = 12, + .tcId = 20, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_141[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_142[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_142[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_143[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_143[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_144[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_145[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_146[] = { 0xab, 0x73, 0x1f, 0xc8, 0x0a, 0xde, 0x38, 0xf1, +static const uint8_t chiptest_12cb0ed34854_nonce_144[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_145[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_146[] = { 0xab, 0x73, 0x1f, 0xc8, 0x0a, 0xde, 0x38, 0xf1, 0xa9, 0x84, 0x60, 0x6e, 0xae, 0x05, 0xa0, 0x2b }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_147 = { .key = chiptest_12cb0ed34854_key_141, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_142, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_143, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_144, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_145, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_146, - .tag_len = 16, - .tcId = 21, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_148[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_147 = { .key = chiptest_12cb0ed34854_key_141, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_142, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_143, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_144, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_145, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_146, + .tag_len = 16, + .tcId = 21, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_148[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_149[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_149[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_150[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_150[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_151[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_152[] = { 0xf2 }; -static const uint8_t chiptest_12cb0ed34854_tag_153[] = { 0x5f, 0x5e, 0xce, 0x87, 0x2f, 0x03, 0xe5, 0x07 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_154 = { .key = chiptest_12cb0ed34854_key_148, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_149, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_150, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_151, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_152, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_153, - .tag_len = 8, - .tcId = 22, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_155[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_151[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_152[] = { 0xf2 }; +static const uint8_t chiptest_12cb0ed34854_tag_153[] = { 0x5f, 0x5e, 0xce, 0x87, 0x2f, 0x03, 0xe5, 0x07 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_154 = { .key = chiptest_12cb0ed34854_key_148, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_149, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_150, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_151, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_152, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_153, + .tag_len = 8, + .tcId = 22, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_155[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_156[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_156[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_157[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_157[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_158[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_159[] = { 0xf2 }; -static const uint8_t chiptest_12cb0ed34854_tag_160[] = { 0x48, 0x35, 0x5c, 0xc2, 0xb4, 0x61, 0x8b, 0xd2, 0x4e, 0xa3, 0xe4, 0xc0 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_161 = { .key = chiptest_12cb0ed34854_key_155, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_156, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_157, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_158, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_159, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_160, - .tag_len = 12, - .tcId = 23, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_162[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_158[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_159[] = { 0xf2 }; +static const uint8_t chiptest_12cb0ed34854_tag_160[] = { 0x48, 0x35, 0x5c, 0xc2, 0xb4, 0x61, 0x8b, 0xd2, 0x4e, 0xa3, 0xe4, 0xc0 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_161 = { .key = chiptest_12cb0ed34854_key_155, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_156, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_157, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_158, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_159, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_160, + .tag_len = 12, + .tcId = 23, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_162[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_163[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_163[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_164[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_164[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_165[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_166[] = { 0xf2 }; -static const uint8_t chiptest_12cb0ed34854_tag_167[] = { 0xf0, 0x89, 0x5d, 0xfa, 0x19, 0x3e, 0x56, 0x29, +static const uint8_t chiptest_12cb0ed34854_nonce_165[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_166[] = { 0xf2 }; +static const uint8_t chiptest_12cb0ed34854_tag_167[] = { 0xf0, 0x89, 0x5d, 0xfa, 0x19, 0x3e, 0x56, 0x29, 0x62, 0x25, 0x5e, 0x24, 0xf5, 0x76, 0x57, 0x73 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_168 = { .key = chiptest_12cb0ed34854_key_162, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_163, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_164, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_165, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_166, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_167, - .tag_len = 16, - .tcId = 24, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_169[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_168 = { .key = chiptest_12cb0ed34854_key_162, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_163, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_164, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_165, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_166, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_167, + .tag_len = 16, + .tcId = 24, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_169[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_170[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_170[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_171[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_171[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_172[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_173[] = { 0x2d, 0x1e, 0x30, 0xdd, 0x3b, 0xbf, 0x40, 0xb2, 0xcd, 0x7c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_nonce_172[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_173[] = { 0x2d, 0x1e, 0x30, 0xdd, 0x3b, 0xbf, 0x40, 0xb2, 0xcd, 0x7c, 0x3d, 0x57, 0x45, 0xd5, 0x36, 0xcf, 0x38, 0x5e, 0x8c, 0xe5, 0xea, 0xf9, 0x40, 0xf4, 0x79, 0xf9, 0x73, 0x0e, 0x4c, 0x55, 0xef, 0x87 }; -static const uint8_t chiptest_12cb0ed34854_tag_174[] = { 0x6a, 0x91, 0xf2, 0x05, 0xd1, 0x27, 0x02, 0x24 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_175 = { .key = chiptest_12cb0ed34854_key_169, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_170, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_171, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_172, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_173, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_174, - .tag_len = 8, - .tcId = 25, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_176[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_174[] = { 0x6a, 0x91, 0xf2, 0x05, 0xd1, 0x27, 0x02, 0x24 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_175 = { .key = chiptest_12cb0ed34854_key_169, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_170, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_171, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_172, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_173, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_174, + .tag_len = 8, + .tcId = 25, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_176[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_177[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_177[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_178[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_178[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_179[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_180[] = { 0x2d, 0x1e, 0x30, 0xdd, 0x3b, 0xbf, 0x40, 0xb2, 0xcd, 0x7c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_nonce_179[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_180[] = { 0x2d, 0x1e, 0x30, 0xdd, 0x3b, 0xbf, 0x40, 0xb2, 0xcd, 0x7c, 0x3d, 0x57, 0x45, 0xd5, 0x36, 0xcf, 0x38, 0x5e, 0x8c, 0xe5, 0xea, 0xf9, 0x40, 0xf4, 0x79, 0xf9, 0x73, 0x0e, 0x4c, 0x55, 0xef, 0x87 }; -static const uint8_t chiptest_12cb0ed34854_tag_181[] = { 0xab, 0x65, 0x12, 0xab, 0x92, 0xf5, 0x89, 0x98, 0x5d, 0x72, 0xa0, 0xfd }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_182 = { .key = chiptest_12cb0ed34854_key_176, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_177, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_178, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_179, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_180, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_181, - .tag_len = 12, - .tcId = 26, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_183[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_181[] = { 0xab, 0x65, 0x12, 0xab, 0x92, 0xf5, 0x89, 0x98, 0x5d, 0x72, 0xa0, 0xfd }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_182 = { .key = chiptest_12cb0ed34854_key_176, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_177, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_178, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_179, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_180, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_181, + .tag_len = 12, + .tcId = 26, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_183[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_184[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_184[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_185[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_185[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xec, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_186[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_187[] = { 0x2d, 0x1e, 0x30, 0xdd, 0x3b, 0xbf, 0x40, 0xb2, 0xcd, 0x7c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_nonce_186[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_187[] = { 0x2d, 0x1e, 0x30, 0xdd, 0x3b, 0xbf, 0x40, 0xb2, 0xcd, 0x7c, 0x3d, 0x57, 0x45, 0xd5, 0x36, 0xcf, 0x38, 0x5e, 0x8c, 0xe5, 0xea, 0xf9, 0x40, 0xf4, 0x79, 0xf9, 0x73, 0x0e, 0x4c, 0x55, 0xef, 0x87 }; -static const uint8_t chiptest_12cb0ed34854_tag_188[] = { 0xe1, 0x75, 0xe0, 0x33, 0x4b, 0x4e, 0x23, 0x4c, +static const uint8_t chiptest_12cb0ed34854_tag_188[] = { 0xe1, 0x75, 0xe0, 0x33, 0x4b, 0x4e, 0x23, 0x4c, 0x1e, 0xce, 0x5c, 0x73, 0x9e, 0xd1, 0x2c, 0x28 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_189 = { .key = chiptest_12cb0ed34854_key_183, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_184, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_185, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_186, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_187, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_188, - .tag_len = 16, - .tcId = 27, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_190[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_189 = { .key = chiptest_12cb0ed34854_key_183, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_184, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_185, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_186, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_187, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_188, + .tag_len = 16, + .tcId = 27, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_190[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_191[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_192[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_193[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_194[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_195[] = { 0x42, 0x26, 0x5a, 0xcf, 0xad, 0xa3, 0x71, 0xd5 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_196 = { .key = chiptest_12cb0ed34854_key_190, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_191, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_192, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_193, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_194, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_195, - .tag_len = 8, - .tcId = 28, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_197[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_191[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_192[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_193[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_194[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_195[] = { 0x42, 0x26, 0x5a, 0xcf, 0xad, 0xa3, 0x71, 0xd5 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_196 = { .key = chiptest_12cb0ed34854_key_190, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_191, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_192, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_193, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_194, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_195, + .tag_len = 8, + .tcId = 28, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_197[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_198[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_199[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_200[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_201[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_202[] = { 0x1c, 0xec, 0x5b, 0xff, 0xcf, 0xb4, 0xd7, 0x02, 0x34, 0xb3, 0xb0, 0x41 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_203 = { .key = chiptest_12cb0ed34854_key_197, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_198, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_199, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_200, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_201, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_202, - .tag_len = 12, - .tcId = 29, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_204[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_198[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_199[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_200[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_201[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_202[] = { 0x1c, 0xec, 0x5b, 0xff, 0xcf, 0xb4, 0xd7, 0x02, 0x34, 0xb3, 0xb0, 0x41 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_203 = { .key = chiptest_12cb0ed34854_key_197, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_198, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_199, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_200, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_201, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_202, + .tag_len = 12, + .tcId = 29, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_204[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_205[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_206[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_207[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_208[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_209[] = { 0x5d, 0x79, 0x73, 0xc2, 0x5f, 0xe1, 0x6d, 0x69, +static const uint8_t chiptest_12cb0ed34854_pt_205[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_206[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_207[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_208[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_209[] = { 0x5d, 0x79, 0x73, 0xc2, 0x5f, 0xe1, 0x6d, 0x69, 0x40, 0xfb, 0xca, 0xff, 0x79, 0x86, 0xe3, 0x3e }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_210 = { .key = chiptest_12cb0ed34854_key_204, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_205, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_206, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_207, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_208, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_209, - .tag_len = 16, - .tcId = 30, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_211[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_210 = { .key = chiptest_12cb0ed34854_key_204, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_205, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_206, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_207, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_208, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_209, + .tag_len = 16, + .tcId = 30, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_211[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_212[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_213[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_214[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_215[] = { 0xeb }; -static const uint8_t chiptest_12cb0ed34854_tag_216[] = { 0xaf, 0xc6, 0xf9, 0x48, 0xae, 0x21, 0xc2, 0x7c }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_217 = { .key = chiptest_12cb0ed34854_key_211, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_212, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_213, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_214, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_215, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_216, - .tag_len = 8, - .tcId = 31, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_218[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_212[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_213[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_214[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_215[] = { 0xeb }; +static const uint8_t chiptest_12cb0ed34854_tag_216[] = { 0xaf, 0xc6, 0xf9, 0x48, 0xae, 0x21, 0xc2, 0x7c }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_217 = { .key = chiptest_12cb0ed34854_key_211, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_212, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_213, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_214, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_215, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_216, + .tag_len = 8, + .tcId = 31, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_218[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_219[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_220[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_221[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_222[] = { 0xeb }; -static const uint8_t chiptest_12cb0ed34854_tag_223[] = { 0xd7, 0x71, 0x56, 0x7f, 0xee, 0x7b, 0x52, 0x2a, 0x95, 0x6a, 0x86, 0x5e }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_224 = { .key = chiptest_12cb0ed34854_key_218, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_219, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_220, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_221, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_222, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_223, - .tag_len = 12, - .tcId = 32, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_225[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_pt_219[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_220[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_221[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_222[] = { 0xeb }; +static const uint8_t chiptest_12cb0ed34854_tag_223[] = { 0xd7, 0x71, 0x56, 0x7f, 0xee, 0x7b, 0x52, 0x2a, 0x95, 0x6a, 0x86, 0x5e }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_224 = { .key = chiptest_12cb0ed34854_key_218, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_219, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_220, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_221, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_222, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_223, + .tag_len = 12, + .tcId = 32, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_225[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_226[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_227[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_228[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_229[] = { 0xeb }; -static const uint8_t chiptest_12cb0ed34854_tag_230[] = { 0x6a, 0x94, 0x0c, 0x32, 0x1a, 0xa4, 0x22, 0xd6, +static const uint8_t chiptest_12cb0ed34854_pt_226[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_227[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_228[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_229[] = { 0xeb }; +static const uint8_t chiptest_12cb0ed34854_tag_230[] = { 0x6a, 0x94, 0x0c, 0x32, 0x1a, 0xa4, 0x22, 0xd6, 0x34, 0x6b, 0x83, 0x9f, 0x88, 0x90, 0x0d, 0xd0 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_231 = { .key = chiptest_12cb0ed34854_key_225, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_226, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_227, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_228, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_229, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_230, - .tag_len = 16, - .tcId = 33, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_232[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_231 = { .key = chiptest_12cb0ed34854_key_225, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_226, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_227, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_228, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_229, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_230, + .tag_len = 16, + .tcId = 33, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_232[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_233[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_234[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_235[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_236[] = { 0x7e, 0x39, 0xdd, 0x42, 0xab, 0xd1, 0xca, 0x47, 0x38, 0x3f, 0x31, +static const uint8_t chiptest_12cb0ed34854_pt_233[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_234[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_235[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_236[] = { 0x7e, 0x39, 0xdd, 0x42, 0xab, 0xd1, 0xca, 0x47, 0x38, 0x3f, 0x31, 0xb5, 0x2c, 0x12, 0x4a, 0x5d, 0xba, 0xc4, 0xfe, 0x43, 0xb3, 0x0d, 0xed, 0x71, 0xb6, 0xca, 0x05, 0x40, 0x14, 0xbf, 0xb6, 0x00 }; -static const uint8_t chiptest_12cb0ed34854_tag_237[] = { 0xa3, 0x8f, 0x71, 0x32, 0xfa, 0xb8, 0x43, 0xea }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_238 = { .key = chiptest_12cb0ed34854_key_232, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_233, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_234, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_235, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_236, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_237, - .tag_len = 8, - .tcId = 34, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_239[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_237[] = { 0xa3, 0x8f, 0x71, 0x32, 0xfa, 0xb8, 0x43, 0xea }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_238 = { .key = chiptest_12cb0ed34854_key_232, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_233, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_234, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_235, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_236, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_237, + .tag_len = 8, + .tcId = 34, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_239[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_240[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_241[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_242[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_243[] = { 0x7e, 0x39, 0xdd, 0x42, 0xab, 0xd1, 0xca, 0x47, 0x38, 0x3f, 0x31, +static const uint8_t chiptest_12cb0ed34854_pt_240[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_241[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_242[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_243[] = { 0x7e, 0x39, 0xdd, 0x42, 0xab, 0xd1, 0xca, 0x47, 0x38, 0x3f, 0x31, 0xb5, 0x2c, 0x12, 0x4a, 0x5d, 0xba, 0xc4, 0xfe, 0x43, 0xb3, 0x0d, 0xed, 0x71, 0xb6, 0xca, 0x05, 0x40, 0x14, 0xbf, 0xb6, 0x00 }; -static const uint8_t chiptest_12cb0ed34854_tag_244[] = { 0x59, 0xe5, 0xf7, 0x0c, 0x8e, 0x86, 0x32, 0x6b, 0x61, 0x66, 0x77, 0x7c }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_245 = { .key = chiptest_12cb0ed34854_key_239, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_240, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_241, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_242, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_243, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_244, - .tag_len = 12, - .tcId = 35, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_246[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_244[] = { 0x59, 0xe5, 0xf7, 0x0c, 0x8e, 0x86, 0x32, 0x6b, 0x61, 0x66, 0x77, 0x7c }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_245 = { .key = chiptest_12cb0ed34854_key_239, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_240, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_241, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_242, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_243, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_244, + .tag_len = 12, + .tcId = 35, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_246[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_247[] = {}; -static const uint8_t chiptest_12cb0ed34854_ct_248[] = {}; -static const uint8_t chiptest_12cb0ed34854_iv_249[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_250[] = { 0x7e, 0x39, 0xdd, 0x42, 0xab, 0xd1, 0xca, 0x47, 0x38, 0x3f, 0x31, +static const uint8_t chiptest_12cb0ed34854_pt_247[] = {}; +static const uint8_t chiptest_12cb0ed34854_ct_248[] = {}; +static const uint8_t chiptest_12cb0ed34854_nonce_249[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_250[] = { 0x7e, 0x39, 0xdd, 0x42, 0xab, 0xd1, 0xca, 0x47, 0x38, 0x3f, 0x31, 0xb5, 0x2c, 0x12, 0x4a, 0x5d, 0xba, 0xc4, 0xfe, 0x43, 0xb3, 0x0d, 0xed, 0x71, 0xb6, 0xca, 0x05, 0x40, 0x14, 0xbf, 0xb6, 0x00 }; -static const uint8_t chiptest_12cb0ed34854_tag_251[] = { 0x25, 0x46, 0x20, 0x97, 0x7f, 0x47, 0xbf, 0xd6, +static const uint8_t chiptest_12cb0ed34854_tag_251[] = { 0x25, 0x46, 0x20, 0x97, 0x7f, 0x47, 0xbf, 0xd6, 0x74, 0x30, 0xf3, 0xed, 0x01, 0xbc, 0x6b, 0x31 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_252 = { .key = chiptest_12cb0ed34854_key_246, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_247, - .pt_len = 0, - .ct = chiptest_12cb0ed34854_ct_248, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_249, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_250, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_251, - .tag_len = 16, - .tcId = 36, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_253[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_252 = { .key = chiptest_12cb0ed34854_key_246, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_247, + .pt_len = 0, + .ct = chiptest_12cb0ed34854_ct_248, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_249, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_250, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_251, + .tag_len = 16, + .tcId = 36, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_253[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_254[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_254[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_255[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_255[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_256[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_257[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_258[] = { 0x43, 0xd5, 0xd9, 0x8c, 0xa0, 0xa2, 0x25, 0x50 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_259 = { .key = chiptest_12cb0ed34854_key_253, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_254, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_255, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_256, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_257, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_258, - .tag_len = 8, - .tcId = 37, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_260[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_256[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_257[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_258[] = { 0x43, 0xd5, 0xd9, 0x8c, 0xa0, 0xa2, 0x25, 0x50 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_259 = { .key = chiptest_12cb0ed34854_key_253, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_254, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_255, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_256, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_257, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_258, + .tag_len = 8, + .tcId = 37, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_260[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_261[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_261[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_262[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_262[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_263[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_264[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_265[] = { 0x80, 0x8f, 0x50, 0x04, 0xad, 0x52, 0xb0, 0x37, 0xbc, 0x38, 0xe1, 0xa5 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_266 = { .key = chiptest_12cb0ed34854_key_260, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_261, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_262, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_263, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_264, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_265, - .tag_len = 12, - .tcId = 38, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_267[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_263[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_264[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_265[] = { 0x80, 0x8f, 0x50, 0x04, 0xad, 0x52, 0xb0, 0x37, 0xbc, 0x38, 0xe1, 0xa5 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_266 = { .key = chiptest_12cb0ed34854_key_260, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_261, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_262, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_263, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_264, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_265, + .tag_len = 12, + .tcId = 38, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_267[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_268[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_268[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_269[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_269[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_270[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_271[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_272[] = { 0x1f, 0x0b, 0x8f, 0x8b, 0x7d, 0xf5, 0x46, 0xa9, +static const uint8_t chiptest_12cb0ed34854_nonce_270[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_271[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_272[] = { 0x1f, 0x0b, 0x8f, 0x8b, 0x7d, 0xf5, 0x46, 0xa9, 0x93, 0x36, 0x6a, 0x02, 0x6f, 0x0c, 0x2d, 0x61 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_273 = { .key = chiptest_12cb0ed34854_key_267, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_268, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_269, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_270, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_271, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_272, - .tag_len = 16, - .tcId = 39, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_274[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_273 = { .key = chiptest_12cb0ed34854_key_267, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_268, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_269, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_270, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_271, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_272, + .tag_len = 16, + .tcId = 39, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_274[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_275[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_275[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_276[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_276[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_277[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_278[] = { 0xaa }; -static const uint8_t chiptest_12cb0ed34854_tag_279[] = { 0xd8, 0x57, 0x1b, 0x1e, 0x92, 0xf4, 0x58, 0x27 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_280 = { .key = chiptest_12cb0ed34854_key_274, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_275, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_276, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_277, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_278, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_279, - .tag_len = 8, - .tcId = 40, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_281[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_277[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_278[] = { 0xaa }; +static const uint8_t chiptest_12cb0ed34854_tag_279[] = { 0xd8, 0x57, 0x1b, 0x1e, 0x92, 0xf4, 0x58, 0x27 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_280 = { .key = chiptest_12cb0ed34854_key_274, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_275, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_276, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_277, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_278, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_279, + .tag_len = 8, + .tcId = 40, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_281[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_282[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_282[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_283[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_283[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_284[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_285[] = { 0xaa }; -static const uint8_t chiptest_12cb0ed34854_tag_286[] = { 0xef, 0xbf, 0xf4, 0xb4, 0x81, 0xb8, 0xc3, 0xd4, 0x55, 0xed, 0x75, 0x11 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_287 = { .key = chiptest_12cb0ed34854_key_281, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_282, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_283, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_284, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_285, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_286, - .tag_len = 12, - .tcId = 41, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_288[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_284[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_285[] = { 0xaa }; +static const uint8_t chiptest_12cb0ed34854_tag_286[] = { 0xef, 0xbf, 0xf4, 0xb4, 0x81, 0xb8, 0xc3, 0xd4, 0x55, 0xed, 0x75, 0x11 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_287 = { .key = chiptest_12cb0ed34854_key_281, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_282, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_283, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_284, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_285, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_286, + .tag_len = 12, + .tcId = 41, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_288[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_289[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_289[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_290[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_290[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_291[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_292[] = { 0xaa }; -static const uint8_t chiptest_12cb0ed34854_tag_293[] = { 0x67, 0x15, 0x75, 0xcd, 0xb2, 0xd9, 0x80, 0xae, +static const uint8_t chiptest_12cb0ed34854_nonce_291[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_292[] = { 0xaa }; +static const uint8_t chiptest_12cb0ed34854_tag_293[] = { 0x67, 0x15, 0x75, 0xcd, 0xb2, 0xd9, 0x80, 0xae, 0x02, 0x3a, 0x1f, 0xd6, 0xc1, 0xa6, 0x67, 0x52 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_294 = { .key = chiptest_12cb0ed34854_key_288, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_289, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_290, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_291, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_292, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_293, - .tag_len = 16, - .tcId = 42, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_295[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_294 = { .key = chiptest_12cb0ed34854_key_288, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_289, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_290, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_291, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_292, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_293, + .tag_len = 16, + .tcId = 42, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_295[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_296[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_296[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_297[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_297[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_298[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_299[] = { 0x97, 0x40, 0xdd, 0x5c, 0xa3, 0x0d, 0x59, 0x86, 0x7b, 0x01, 0x0f, +static const uint8_t chiptest_12cb0ed34854_nonce_298[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_299[] = { 0x97, 0x40, 0xdd, 0x5c, 0xa3, 0x0d, 0x59, 0x86, 0x7b, 0x01, 0x0f, 0xe3, 0x1a, 0xda, 0x21, 0x41, 0x4c, 0xfd, 0x30, 0xa4, 0x4a, 0x2a, 0xa0, 0x2a, 0x46, 0xcb, 0xfd, 0xaf, 0x94, 0x7e, 0x0a, 0x3b }; -static const uint8_t chiptest_12cb0ed34854_tag_300[] = { 0xcf, 0x82, 0x65, 0x1d, 0x06, 0x79, 0xae, 0x2f }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_301 = { .key = chiptest_12cb0ed34854_key_295, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_296, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_297, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_298, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_299, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_300, - .tag_len = 8, - .tcId = 43, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_302[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_300[] = { 0xcf, 0x82, 0x65, 0x1d, 0x06, 0x79, 0xae, 0x2f }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_301 = { .key = chiptest_12cb0ed34854_key_295, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_296, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_297, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_298, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_299, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_300, + .tag_len = 8, + .tcId = 43, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_302[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_303[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_303[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_304[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_304[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_305[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_306[] = { 0x97, 0x40, 0xdd, 0x5c, 0xa3, 0x0d, 0x59, 0x86, 0x7b, 0x01, 0x0f, +static const uint8_t chiptest_12cb0ed34854_nonce_305[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_306[] = { 0x97, 0x40, 0xdd, 0x5c, 0xa3, 0x0d, 0x59, 0x86, 0x7b, 0x01, 0x0f, 0xe3, 0x1a, 0xda, 0x21, 0x41, 0x4c, 0xfd, 0x30, 0xa4, 0x4a, 0x2a, 0xa0, 0x2a, 0x46, 0xcb, 0xfd, 0xaf, 0x94, 0x7e, 0x0a, 0x3b }; -static const uint8_t chiptest_12cb0ed34854_tag_307[] = { 0x2c, 0x03, 0xb6, 0x3a, 0xf7, 0x2a, 0x9c, 0x39, 0x24, 0x55, 0xd3, 0x43 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_308 = { .key = chiptest_12cb0ed34854_key_302, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_303, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_304, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_305, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_306, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_307, - .tag_len = 12, - .tcId = 44, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_309[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_307[] = { 0x2c, 0x03, 0xb6, 0x3a, 0xf7, 0x2a, 0x9c, 0x39, 0x24, 0x55, 0xd3, 0x43 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_308 = { .key = chiptest_12cb0ed34854_key_302, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_303, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_304, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_305, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_306, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_307, + .tag_len = 12, + .tcId = 44, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_309[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_310[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, +static const uint8_t chiptest_12cb0ed34854_pt_310[] = { 0xae, 0x0d, 0x82, 0x7b, 0xb5, 0xc3, 0x76, 0x7a, 0x7f, 0xec, 0x3e, 0x96, 0xcc, 0x3f, 0x4a, 0x3c }; -static const uint8_t chiptest_12cb0ed34854_ct_311[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_311[] = { 0x62, 0xc5, 0x1e, 0x87, 0x8e, 0xc5, 0x90, 0xa4, 0x87, 0x74, 0xa7, 0x42, 0x37, 0x8b, 0x4e, 0xd4 }; -static const uint8_t chiptest_12cb0ed34854_iv_312[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_313[] = { 0x97, 0x40, 0xdd, 0x5c, 0xa3, 0x0d, 0x59, 0x86, 0x7b, 0x01, 0x0f, +static const uint8_t chiptest_12cb0ed34854_nonce_312[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_313[] = { 0x97, 0x40, 0xdd, 0x5c, 0xa3, 0x0d, 0x59, 0x86, 0x7b, 0x01, 0x0f, 0xe3, 0x1a, 0xda, 0x21, 0x41, 0x4c, 0xfd, 0x30, 0xa4, 0x4a, 0x2a, 0xa0, 0x2a, 0x46, 0xcb, 0xfd, 0xaf, 0x94, 0x7e, 0x0a, 0x3b }; -static const uint8_t chiptest_12cb0ed34854_tag_314[] = { 0x02, 0x24, 0xde, 0x7c, 0xeb, 0x9d, 0xe4, 0x6c, +static const uint8_t chiptest_12cb0ed34854_tag_314[] = { 0x02, 0x24, 0xde, 0x7c, 0xeb, 0x9d, 0xe4, 0x6c, 0xad, 0xee, 0xb9, 0x91, 0x17, 0x78, 0xdd, 0x5c }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_315 = { .key = chiptest_12cb0ed34854_key_309, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_310, - .pt_len = 16, - .ct = chiptest_12cb0ed34854_ct_311, - .ct_len = 16, - .iv = chiptest_12cb0ed34854_iv_312, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_313, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_314, - .tag_len = 16, - .tcId = 45, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_316[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_315 = { .key = chiptest_12cb0ed34854_key_309, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_310, + .pt_len = 16, + .ct = chiptest_12cb0ed34854_ct_311, + .ct_len = 16, + .nonce = chiptest_12cb0ed34854_nonce_312, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_313, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_314, + .tag_len = 16, + .tcId = 45, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_316[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_317[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_317[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_318[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_318[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_319[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_320[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_321[] = { 0xeb, 0x2e, 0x20, 0xb6, 0x30, 0x40, 0x48, 0x7e }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_322 = { .key = chiptest_12cb0ed34854_key_316, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_317, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_318, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_319, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_320, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_321, - .tag_len = 8, - .tcId = 46, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_323[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_319[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_320[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_321[] = { 0xeb, 0x2e, 0x20, 0xb6, 0x30, 0x40, 0x48, 0x7e }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_322 = { .key = chiptest_12cb0ed34854_key_316, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_317, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_318, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_319, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_320, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_321, + .tag_len = 8, + .tcId = 46, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_323[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_324[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_324[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_325[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_325[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_326[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_327[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_328[] = { 0x6a, 0xa7, 0xc4, 0x5d, 0x28, 0x5e, 0xce, 0x89, 0xd3, 0xe6, 0x99, 0x80 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_329 = { .key = chiptest_12cb0ed34854_key_323, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_324, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_325, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_326, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_327, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_328, - .tag_len = 12, - .tcId = 47, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_330[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_326[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_327[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_328[] = { 0x6a, 0xa7, 0xc4, 0x5d, 0x28, 0x5e, 0xce, 0x89, 0xd3, 0xe6, 0x99, 0x80 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_329 = { .key = chiptest_12cb0ed34854_key_323, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_324, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_325, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_326, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_327, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_328, + .tag_len = 12, + .tcId = 47, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_330[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_331[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_331[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_332[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_332[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_333[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_334[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_335[] = { 0xfe, 0xbb, 0xb8, 0xc8, 0xf1, 0xce, 0x2a, 0xbd, +static const uint8_t chiptest_12cb0ed34854_nonce_333[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_334[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_335[] = { 0xfe, 0xbb, 0xb8, 0xc8, 0xf1, 0xce, 0x2a, 0xbd, 0x6f, 0x7e, 0x4c, 0x94, 0x20, 0x59, 0xc6, 0x50 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_336 = { .key = chiptest_12cb0ed34854_key_330, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_331, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_332, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_333, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_334, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_335, - .tag_len = 16, - .tcId = 48, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_337[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_336 = { .key = chiptest_12cb0ed34854_key_330, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_331, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_332, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_333, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_334, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_335, + .tag_len = 16, + .tcId = 48, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_337[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_338[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_338[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_339[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_339[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_340[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_341[] = { 0x2e }; -static const uint8_t chiptest_12cb0ed34854_tag_342[] = { 0xa6, 0xfe, 0xf8, 0xd7, 0x72, 0x8a, 0xb1, 0xe2 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_343 = { .key = chiptest_12cb0ed34854_key_337, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_338, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_339, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_340, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_341, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_342, - .tag_len = 8, - .tcId = 49, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_344[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_340[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_341[] = { 0x2e }; +static const uint8_t chiptest_12cb0ed34854_tag_342[] = { 0xa6, 0xfe, 0xf8, 0xd7, 0x72, 0x8a, 0xb1, 0xe2 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_343 = { .key = chiptest_12cb0ed34854_key_337, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_338, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_339, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_340, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_341, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_342, + .tag_len = 8, + .tcId = 49, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_344[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_345[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_345[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_346[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_346[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_347[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_348[] = { 0x2e }; -static const uint8_t chiptest_12cb0ed34854_tag_349[] = { 0xc4, 0xce, 0x9d, 0xc5, 0xbc, 0x36, 0xb7, 0xa0, 0xc0, 0x35, 0x6f, 0xd6 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_350 = { .key = chiptest_12cb0ed34854_key_344, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_345, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_346, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_347, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_348, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_349, - .tag_len = 12, - .tcId = 50, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_351[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_nonce_347[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_348[] = { 0x2e }; +static const uint8_t chiptest_12cb0ed34854_tag_349[] = { 0xc4, 0xce, 0x9d, 0xc5, 0xbc, 0x36, 0xb7, 0xa0, 0xc0, 0x35, 0x6f, 0xd6 }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_350 = { .key = chiptest_12cb0ed34854_key_344, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_345, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_346, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_347, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_348, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_349, + .tag_len = 12, + .tcId = 50, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_351[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_352[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_352[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_353[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_353[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_354[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_355[] = { 0x2e }; -static const uint8_t chiptest_12cb0ed34854_tag_356[] = { 0xd4, 0x35, 0x7e, 0x1a, 0x3e, 0x22, 0xd0, 0x37, +static const uint8_t chiptest_12cb0ed34854_nonce_354[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_355[] = { 0x2e }; +static const uint8_t chiptest_12cb0ed34854_tag_356[] = { 0xd4, 0x35, 0x7e, 0x1a, 0x3e, 0x22, 0xd0, 0x37, 0x25, 0x9d, 0x7b, 0xb0, 0x86, 0x32, 0x0a, 0x81 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_357 = { .key = chiptest_12cb0ed34854_key_351, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_352, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_353, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_354, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_355, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_356, - .tag_len = 16, - .tcId = 51, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_358[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_357 = { .key = chiptest_12cb0ed34854_key_351, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_352, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_353, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_354, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_355, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_356, + .tag_len = 16, + .tcId = 51, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_358[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_359[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_359[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_360[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_360[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_361[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_362[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, +static const uint8_t chiptest_12cb0ed34854_nonce_361[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_362[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, 0x7e, 0x1a, 0x78, 0x46, 0xc9, 0x1e, 0x05, 0x68, 0x6d, 0x0e, 0xcf, 0x8f, 0x94, 0x31, 0x0a, 0x37, 0xa1, 0xc0, 0x76, 0x1b, 0x04 }; -static const uint8_t chiptest_12cb0ed34854_tag_363[] = { 0x5f, 0x56, 0xb2, 0x9e, 0xc3, 0xdd, 0x21, 0x2d }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_364 = { .key = chiptest_12cb0ed34854_key_358, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_359, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_360, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_361, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_362, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_363, - .tag_len = 8, - .tcId = 52, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_365[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_363[] = { 0x5f, 0x56, 0xb2, 0x9e, 0xc3, 0xdd, 0x21, 0x2d }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_364 = { .key = chiptest_12cb0ed34854_key_358, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_359, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_360, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_361, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_362, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_363, + .tag_len = 8, + .tcId = 52, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_365[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_366[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_366[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_367[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_367[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_368[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_369[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, +static const uint8_t chiptest_12cb0ed34854_nonce_368[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_369[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, 0x7e, 0x1a, 0x78, 0x46, 0xc9, 0x1e, 0x05, 0x68, 0x6d, 0x0e, 0xcf, 0x8f, 0x94, 0x31, 0x0a, 0x37, 0xa1, 0xc0, 0x76, 0x1b, 0x04 }; -static const uint8_t chiptest_12cb0ed34854_tag_370[] = { 0x11, 0xcf, 0x30, 0xd3, 0xdf, 0x32, 0x4b, 0xa0, 0xe4, 0x82, 0x64, 0x8a }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_371 = { .key = chiptest_12cb0ed34854_key_365, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_366, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_367, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_368, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_369, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_370, - .tag_len = 12, - .tcId = 53, - .result = CHIP_NO_ERROR }; -static const uint8_t chiptest_12cb0ed34854_key_372[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_tag_370[] = { 0x11, 0xcf, 0x30, 0xd3, 0xdf, 0x32, 0x4b, 0xa0, 0xe4, 0x82, 0x64, 0x8a }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_371 = { .key = chiptest_12cb0ed34854_key_365, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_366, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_367, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_368, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_369, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_370, + .tag_len = 12, + .tcId = 53, + .result = CHIP_NO_ERROR }; +static const uint8_t chiptest_12cb0ed34854_key_372[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_373[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_373[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_374[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_374[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x70, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_375[] = { - 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 -}; -static const uint8_t chiptest_12cb0ed34854_aad_376[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, +static const uint8_t chiptest_12cb0ed34854_nonce_375[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_376[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, 0x7e, 0x1a, 0x78, 0x46, 0xc9, 0x1e, 0x05, 0x68, 0x6d, 0x0e, 0xcf, 0x8f, 0x94, 0x31, 0x0a, 0x37, 0xa1, 0xc0, 0x76, 0x1b, 0x04 }; -static const uint8_t chiptest_12cb0ed34854_tag_377[] = { 0x07, 0x57, 0x3b, 0xc7, 0x7f, 0xa9, 0x58, 0x63, +static const uint8_t chiptest_12cb0ed34854_tag_377[] = { 0x07, 0x57, 0x3b, 0xc7, 0x7f, 0xa9, 0x58, 0x63, 0xde, 0xc4, 0x16, 0xd6, 0xbe, 0x3b, 0x1e, 0xb3 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_378 = { .key = chiptest_12cb0ed34854_key_372, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_373, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_374, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_375, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_376, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_377, - .tag_len = 16, - .tcId = 54, - .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_379 = { .key = chiptest_12cb0ed34854_key_1, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_4, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_5, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_6, - .tag_len = 8, - .tcId = 1, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_378 = { .key = chiptest_12cb0ed34854_key_372, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_373, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_374, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_375, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_376, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_377, + .tag_len = 16, + .tcId = 54, + .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_379 = { .key = chiptest_12cb0ed34854_key_1, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_4, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_5, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_6, + .tag_len = 8, + .tcId = 1, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_380 = { .key = chiptest_12cb0ed34854_key_8, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_11, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_12, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_13, - .tag_len = 12, - .tcId = 2, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_380 = { .key = chiptest_12cb0ed34854_key_8, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_11, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_12, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_13, + .tag_len = 12, + .tcId = 2, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_381 = { .key = chiptest_12cb0ed34854_key_15, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_18, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_19, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_20, - .tag_len = 16, - .tcId = 3, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_381 = { .key = chiptest_12cb0ed34854_key_15, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_18, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_19, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_20, + .tag_len = 16, + .tcId = 3, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_382 = { .key = chiptest_12cb0ed34854_key_22, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_25, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_26, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_27, - .tag_len = 8, - .tcId = 4, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_382 = { .key = chiptest_12cb0ed34854_key_22, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_25, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_26, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_27, + .tag_len = 8, + .tcId = 4, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_383 = { .key = chiptest_12cb0ed34854_key_29, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_32, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_33, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_34, - .tag_len = 12, - .tcId = 5, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_383 = { .key = chiptest_12cb0ed34854_key_29, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_32, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_33, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_34, + .tag_len = 12, + .tcId = 5, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_384 = { .key = chiptest_12cb0ed34854_key_36, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_39, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_40, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_41, - .tag_len = 16, - .tcId = 6, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_384 = { .key = chiptest_12cb0ed34854_key_36, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_39, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_40, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_41, + .tag_len = 16, + .tcId = 6, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_385 = { .key = chiptest_12cb0ed34854_key_190, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_193, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_194, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_195, - .tag_len = 8, - .tcId = 28, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_385 = { .key = chiptest_12cb0ed34854_key_190, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_193, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_194, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_195, + .tag_len = 8, + .tcId = 28, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_386 = { .key = chiptest_12cb0ed34854_key_197, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_200, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_201, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_202, - .tag_len = 12, - .tcId = 29, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_386 = { .key = chiptest_12cb0ed34854_key_197, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_200, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_201, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_202, + .tag_len = 12, + .tcId = 29, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_387 = { .key = chiptest_12cb0ed34854_key_204, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_207, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_208, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_209, - .tag_len = 16, - .tcId = 30, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_387 = { .key = chiptest_12cb0ed34854_key_204, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_207, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_208, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_209, + .tag_len = 16, + .tcId = 30, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_388 = { .key = chiptest_12cb0ed34854_key_218, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_221, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_222, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_223, - .tag_len = 12, - .tcId = 32, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_388 = { .key = chiptest_12cb0ed34854_key_218, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_221, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_222, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_223, + .tag_len = 12, + .tcId = 32, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_389 = { .key = chiptest_12cb0ed34854_key_225, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_228, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_229, - .aad_len = 1, - .tag = chiptest_12cb0ed34854_tag_230, - .tag_len = 16, - .tcId = 33, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_389 = { .key = chiptest_12cb0ed34854_key_225, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_228, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_229, + .aad_len = 1, + .tag = chiptest_12cb0ed34854_tag_230, + .tag_len = 16, + .tcId = 33, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_390 = { .key = chiptest_12cb0ed34854_key_239, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_242, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_243, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_244, - .tag_len = 12, - .tcId = 35, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_390 = { .key = chiptest_12cb0ed34854_key_239, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_242, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_243, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_244, + .tag_len = 12, + .tcId = 35, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_391 = { .key = chiptest_12cb0ed34854_key_246, - .key_len = 32, - .pt = nullptr, - .pt_len = 0, - .ct = nullptr, - .ct_len = 0, - .iv = chiptest_12cb0ed34854_iv_249, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_250, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_251, - .tag_len = 16, - .tcId = 36, - .result = CHIP_NO_ERROR }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_391 = { .key = chiptest_12cb0ed34854_key_246, + .key_len = 32, + .pt = nullptr, + .pt_len = 0, + .ct = nullptr, + .ct_len = 0, + .nonce = chiptest_12cb0ed34854_nonce_249, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_250, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_251, + .tag_len = 16, + .tcId = 36, + .result = CHIP_NO_ERROR }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_392 = { .key = chiptest_12cb0ed34854_key_246, - .key_len = 32, - .pt = nullptr, - .pt_len = 8, - .ct = nullptr, - .ct_len = 8, - .iv = chiptest_12cb0ed34854_iv_249, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_250, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_251, - .tag_len = 16, - .tcId = 36, - .result = CHIP_ERROR_INVALID_ARGUMENT }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_392 = { .key = chiptest_12cb0ed34854_key_246, + .key_len = 32, + .pt = nullptr, + .pt_len = 8, + .ct = nullptr, + .ct_len = 8, + .nonce = chiptest_12cb0ed34854_nonce_249, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_250, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_251, + .tag_len = 16, + .tcId = 36, + .result = CHIP_ERROR_INVALID_ARGUMENT }; static const struct ccm_test_vector * ccm_test_vectors[] = { &chiptest_12cb0ed34854_test_vector_7, &chiptest_12cb0ed34854_test_vector_14, &chiptest_12cb0ed34854_test_vector_21, @@ -1682,64 +1655,64 @@ static const struct ccm_test_vector * ccm_test_vectors[] = { }; // These are some invalid vectors where the ct bits have been flipped. -static const uint8_t chiptest_12cb0ed34854_key_3721[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_key_3721[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_3731[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, +static const uint8_t chiptest_12cb0ed34854_pt_3731[] = { 0xee, 0xc3, 0xe6, 0xc0, 0xe5, 0x62, 0xa7, 0xea, 0xe0, 0x5c, 0x3d, 0xc4, 0xd8, 0x8f, 0x58, 0x98, 0x58, 0x17, 0xcb, 0x02, 0xa5, 0xae, 0x72, 0x03, 0xce, 0x79, 0x9f, 0x73, 0x4d, 0xfd, 0x25, 0xfa, 0x9a }; -static const uint8_t chiptest_12cb0ed34854_ct_3741[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, +static const uint8_t chiptest_12cb0ed34854_ct_3741[] = { 0x22, 0x0b, 0x7a, 0x3c, 0xde, 0x64, 0x41, 0x34, 0x18, 0xc4, 0xa4, 0x10, 0x23, 0x3b, 0x5c, 0x71, 0x85, 0x0e, 0x74, 0x40, 0xb9, 0x4b, 0x03, 0xad, 0xaa, 0xd7, 0x76, 0x6c, 0xe7, 0x13, 0xc5, 0x6d, 0xff }; -static const uint8_t chiptest_12cb0ed34854_iv_3751[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, - 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; -static const uint8_t chiptest_12cb0ed34854_aad_3761[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, +static const uint8_t chiptest_12cb0ed34854_nonce_3751[] = { 0x95, 0xf9, 0x61, 0x8a, 0x2c, 0x8f, 0x0d, + 0x28, 0xb5, 0xbb, 0xe5, 0x8c, 0xe9 }; +static const uint8_t chiptest_12cb0ed34854_aad_3761[] = { 0x98, 0x5b, 0xf0, 0x38, 0x16, 0xe9, 0x29, 0xce, 0x66, 0x81, 0x0d, 0x7e, 0x1a, 0x78, 0x46, 0xc9, 0x1e, 0x05, 0x68, 0x6d, 0x0e, 0xcf, 0x8f, 0x94, 0x31, 0x0a, 0x37, 0xa1, 0xc0, 0x76, 0x1b, 0x04 }; -static const uint8_t chiptest_12cb0ed34854_tag_3771[] = { 0x07, 0x57, 0x3b, 0xc7, 0x7f, 0xa9, 0x58, 0x63, +static const uint8_t chiptest_12cb0ed34854_tag_3771[] = { 0x07, 0x57, 0x3b, 0xc7, 0x7f, 0xa9, 0x58, 0x63, 0xde, 0xc4, 0x16, 0xd6, 0xbe, 0x3b, 0x1e, 0xb3 }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_3781 = { .key = chiptest_12cb0ed34854_key_3721, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_3731, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_3741, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_3751, - .iv_len = 13, - .aad = chiptest_12cb0ed34854_aad_3761, - .aad_len = 32, - .tag = chiptest_12cb0ed34854_tag_3771, - .tag_len = 16, - .tcId = 54, - .result = CHIP_ERROR_INTERNAL }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_3781 = { .key = chiptest_12cb0ed34854_key_3721, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_3731, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_3741, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_3751, + .nonce_len = 13, + .aad = chiptest_12cb0ed34854_aad_3761, + .aad_len = 32, + .tag = chiptest_12cb0ed34854_tag_3771, + .tag_len = 16, + .tcId = 54, + .result = CHIP_ERROR_INTERNAL }; -static const uint8_t chiptest_12cb0ed34854_key_1411[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, +static const uint8_t chiptest_12cb0ed34854_key_1411[] = { 0x4a, 0x45, 0x65, 0x85, 0xb8, 0xd3, 0xd2, 0xf2, 0x39, 0x51, 0xf2, 0x74, 0xbd, 0x98, 0xe6, 0x65, 0x5e, 0xd5, 0x3f, 0x3c, 0xec, 0x05, 0xa4, 0x65, 0xd0, 0x20, 0xb0, 0xdf, 0x6a, 0x33, 0x45, 0xd5 }; -static const uint8_t chiptest_12cb0ed34854_pt_1421[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, +static const uint8_t chiptest_12cb0ed34854_pt_1421[] = { 0xcd, 0x59, 0xde, 0x72, 0x61, 0x2d, 0x17, 0x54, 0xf8, 0x26, 0xe1, 0x99, 0x65, 0x6b, 0x47, 0x21, 0x50, 0xd8, 0xf5, 0x9a, 0xf1, 0x5f, 0xba, 0x7d, 0x49, 0xd7, 0xa3, 0x2b, 0x7f, 0xb4, 0x11, 0x30, 0x03 }; -static const uint8_t chiptest_12cb0ed34854_ct_1431[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, +static const uint8_t chiptest_12cb0ed34854_ct_1431[] = { 0x9a, 0x48, 0xb4, 0x6d, 0x76, 0x24, 0xf5, 0xc1, 0x5f, 0x65, 0x45, 0x91, 0x11, 0x39, 0x53, 0x1f, 0x2b, 0x25, 0xed, 0xcf, 0x6a, 0x9c, 0xfd, 0x27, 0x9b, 0x16, 0x28, 0xcd, 0xa4, 0x5f, 0x58, 0xd0, 0x3e }; -static const uint8_t chiptest_12cb0ed34854_iv_1441[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; -static const uint8_t chiptest_12cb0ed34854_aad_1451[] = {}; -static const uint8_t chiptest_12cb0ed34854_tag_1461[] = { 0xab, 0x73, 0x1f, 0xc8, 0x0a, 0xde, 0x38, 0xf1, +static const uint8_t chiptest_12cb0ed34854_nonce_1441[] = { 0xaf, 0x38, 0xfc, 0xd0, 0x6b, 0x87, 0x80 }; +static const uint8_t chiptest_12cb0ed34854_aad_1451[] = {}; +static const uint8_t chiptest_12cb0ed34854_tag_1461[] = { 0xab, 0x73, 0x1f, 0xc8, 0x0a, 0xde, 0x38, 0xf1, 0xa9, 0x84, 0x60, 0x6e, 0xae, 0x05, 0xa0, 0x2b }; -static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_1471 = { .key = chiptest_12cb0ed34854_key_1411, - .key_len = 32, - .pt = chiptest_12cb0ed34854_pt_1421, - .pt_len = 33, - .ct = chiptest_12cb0ed34854_ct_1431, - .ct_len = 33, - .iv = chiptest_12cb0ed34854_iv_1441, - .iv_len = 7, - .aad = chiptest_12cb0ed34854_aad_1451, - .aad_len = 0, - .tag = chiptest_12cb0ed34854_tag_1461, - .tag_len = 16, - .tcId = 21, - .result = CHIP_ERROR_INTERNAL }; +static const struct ccm_test_vector chiptest_12cb0ed34854_test_vector_1471 = { .key = chiptest_12cb0ed34854_key_1411, + .key_len = 32, + .pt = chiptest_12cb0ed34854_pt_1421, + .pt_len = 33, + .ct = chiptest_12cb0ed34854_ct_1431, + .ct_len = 33, + .nonce = chiptest_12cb0ed34854_nonce_1441, + .nonce_len = 7, + .aad = chiptest_12cb0ed34854_aad_1451, + .aad_len = 0, + .tag = chiptest_12cb0ed34854_tag_1461, + .tag_len = 16, + .tcId = 21, + .result = CHIP_ERROR_INTERNAL }; static const struct ccm_test_vector * ccm_invalid_test_vectors[] = { &chiptest_12cb0ed34854_test_vector_3781, &chiptest_12cb0ed34854_test_vector_1471 }; diff --git a/src/crypto/tests/CHIPCryptoPALTest.cpp b/src/crypto/tests/CHIPCryptoPALTest.cpp index ad2bd75f91c84e..c7c557cd6061d4 100644 --- a/src/crypto/tests/CHIPCryptoPALTest.cpp +++ b/src/crypto/tests/CHIPCryptoPALTest.cpp @@ -179,7 +179,7 @@ static void TestAES_CCM_256EncryptTestVectors(nlTestSuite * inSuite, void * inCo NL_TEST_ASSERT(inSuite, out_tag); CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, vector->key, vector->key_len, - vector->iv, vector->iv_len, out_ct_ptr, out_tag.Get(), vector->tag_len); + vector->nonce, vector->nonce_len, out_ct_ptr, out_tag.Get(), vector->tag_len); NL_TEST_ASSERT(inSuite, err == vector->result); if (vector->result == CHIP_NO_ERROR) @@ -223,7 +223,7 @@ static void TestAES_CCM_256DecryptTestVectors(nlTestSuite * inSuite, void * inCo out_pt_ptr = out_pt.Get(); } CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - vector->key, vector->key_len, vector->iv, vector->iv_len, out_pt_ptr); + vector->key, vector->key_len, vector->nonce, vector->nonce_len, out_pt_ptr); NL_TEST_ASSERT(inSuite, err == vector->result); @@ -259,8 +259,8 @@ static void TestAES_CCM_256EncryptNilKey(nlTestSuite * inSuite, void * inContext out_tag.Alloc(vector->tag_len); NL_TEST_ASSERT(inSuite, out_tag); - CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, nullptr, 32, vector->iv, - vector->iv_len, out_ct.Get(), out_tag.Get(), vector->tag_len); + CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, nullptr, 32, vector->nonce, + vector->nonce_len, out_ct.Get(), out_tag.Get(), vector->tag_len); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -268,7 +268,7 @@ static void TestAES_CCM_256EncryptNilKey(nlTestSuite * inSuite, void * inContext NL_TEST_ASSERT(inSuite, numOfTestsRan > 0); } -static void TestAES_CCM_256EncryptInvalidIVLen(nlTestSuite * inSuite, void * inContext) +static void TestAES_CCM_256EncryptInvalidNonceLen(nlTestSuite * inSuite, void * inContext) { HeapChecker heapChecker(inSuite); int numOfTestVectors = ArraySize(ccm_test_vectors); @@ -287,7 +287,7 @@ static void TestAES_CCM_256EncryptInvalidIVLen(nlTestSuite * inSuite, void * inC NL_TEST_ASSERT(inSuite, out_tag); CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, vector->key, vector->key_len, - vector->iv, 0, out_ct.Get(), out_tag.Get(), vector->tag_len); + vector->nonce, 0, out_ct.Get(), out_tag.Get(), vector->tag_len); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -314,7 +314,7 @@ static void TestAES_CCM_256EncryptInvalidTagLen(nlTestSuite * inSuite, void * in NL_TEST_ASSERT(inSuite, out_tag); CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, vector->key, vector->key_len, - vector->iv, vector->iv_len, out_ct.Get(), out_tag.Get(), 13); + vector->nonce, vector->nonce_len, out_ct.Get(), out_tag.Get(), 13); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -337,7 +337,7 @@ static void TestAES_CCM_256DecryptInvalidKey(nlTestSuite * inSuite, void * inCon out_pt.Alloc(vector->pt_len); NL_TEST_ASSERT(inSuite, out_pt); CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - nullptr, 32, vector->iv, vector->iv_len, out_pt.Get()); + nullptr, 32, vector->nonce, vector->nonce_len, out_pt.Get()); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -345,7 +345,7 @@ static void TestAES_CCM_256DecryptInvalidKey(nlTestSuite * inSuite, void * inCon NL_TEST_ASSERT(inSuite, numOfTestsRan > 0); } -static void TestAES_CCM_256DecryptInvalidIVLen(nlTestSuite * inSuite, void * inContext) +static void TestAES_CCM_256DecryptInvalidNonceLen(nlTestSuite * inSuite, void * inContext) { HeapChecker heapChecker(inSuite); int numOfTestVectors = ArraySize(ccm_test_vectors); @@ -360,7 +360,7 @@ static void TestAES_CCM_256DecryptInvalidIVLen(nlTestSuite * inSuite, void * inC out_pt.Alloc(vector->pt_len); NL_TEST_ASSERT(inSuite, out_pt); CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - vector->key, vector->key_len, vector->iv, 0, out_pt.Get()); + vector->key, vector->key_len, vector->nonce, 0, out_pt.Get()); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -383,7 +383,7 @@ static void TestAES_CCM_256DecryptInvalidTestVectors(nlTestSuite * inSuite, void out_pt.Alloc(vector->pt_len); NL_TEST_ASSERT(inSuite, out_pt); CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - vector->key, vector->key_len, vector->iv, vector->iv_len, out_pt.Get()); + vector->key, vector->key_len, vector->nonce, vector->nonce_len, out_pt.Get()); bool arePTsEqual = memcmp(vector->pt, out_pt.Get(), vector->pt_len) == 0; NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INTERNAL); @@ -412,7 +412,7 @@ static void TestAES_CCM_128EncryptTestVectors(nlTestSuite * inSuite, void * inCo NL_TEST_ASSERT(inSuite, out_tag); CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, vector->key, vector->key_len, - vector->iv, vector->iv_len, out_ct.Get(), out_tag.Get(), vector->tag_len); + vector->nonce, vector->nonce_len, out_ct.Get(), out_tag.Get(), vector->tag_len); NL_TEST_ASSERT(inSuite, err == vector->result); if (vector->result == CHIP_NO_ERROR) @@ -450,7 +450,7 @@ static void TestAES_CCM_128DecryptTestVectors(nlTestSuite * inSuite, void * inCo out_pt.Alloc(vector->pt_len); NL_TEST_ASSERT(inSuite, out_pt); CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - vector->key, vector->key_len, vector->iv, vector->iv_len, out_pt.Get()); + vector->key, vector->key_len, vector->nonce, vector->nonce_len, out_pt.Get()); NL_TEST_ASSERT(inSuite, err == vector->result); if (vector->result == CHIP_NO_ERROR) @@ -485,8 +485,8 @@ static void TestAES_CCM_128EncryptNilKey(nlTestSuite * inSuite, void * inContext out_tag.Alloc(vector->tag_len); NL_TEST_ASSERT(inSuite, out_tag); - CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, nullptr, 0, vector->iv, - vector->iv_len, out_ct.Get(), out_tag.Get(), vector->tag_len); + CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, nullptr, 0, vector->nonce, + vector->nonce_len, out_ct.Get(), out_tag.Get(), vector->tag_len); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -494,7 +494,7 @@ static void TestAES_CCM_128EncryptNilKey(nlTestSuite * inSuite, void * inContext NL_TEST_ASSERT(inSuite, numOfTestsRan > 0); } -static void TestAES_CCM_128EncryptInvalidIVLen(nlTestSuite * inSuite, void * inContext) +static void TestAES_CCM_128EncryptInvalidNonceLen(nlTestSuite * inSuite, void * inContext) { HeapChecker heapChecker(inSuite); int numOfTestVectors = ArraySize(ccm_128_test_vectors); @@ -513,7 +513,7 @@ static void TestAES_CCM_128EncryptInvalidIVLen(nlTestSuite * inSuite, void * inC NL_TEST_ASSERT(inSuite, out_tag); CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, vector->key, vector->key_len, - vector->iv, 0, out_ct.Get(), out_tag.Get(), vector->tag_len); + vector->nonce, 0, out_ct.Get(), out_tag.Get(), vector->tag_len); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -540,7 +540,7 @@ static void TestAES_CCM_128EncryptInvalidTagLen(nlTestSuite * inSuite, void * in NL_TEST_ASSERT(inSuite, out_tag); CHIP_ERROR err = AES_CCM_encrypt(vector->pt, vector->pt_len, vector->aad, vector->aad_len, vector->key, vector->key_len, - vector->iv, vector->iv_len, out_ct.Get(), out_tag.Get(), 13); + vector->nonce, vector->nonce_len, out_ct.Get(), out_tag.Get(), 13); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -563,7 +563,7 @@ static void TestAES_CCM_128DecryptInvalidKey(nlTestSuite * inSuite, void * inCon out_pt.Alloc(vector->pt_len); NL_TEST_ASSERT(inSuite, out_pt); CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - nullptr, 0, vector->iv, vector->iv_len, out_pt.Get()); + nullptr, 0, vector->nonce, vector->nonce_len, out_pt.Get()); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -571,7 +571,7 @@ static void TestAES_CCM_128DecryptInvalidKey(nlTestSuite * inSuite, void * inCon NL_TEST_ASSERT(inSuite, numOfTestsRan > 0); } -static void TestAES_CCM_128DecryptInvalidIVLen(nlTestSuite * inSuite, void * inContext) +static void TestAES_CCM_128DecryptInvalidNonceLen(nlTestSuite * inSuite, void * inContext) { HeapChecker heapChecker(inSuite); int numOfTestVectors = ArraySize(ccm_128_test_vectors); @@ -586,7 +586,7 @@ static void TestAES_CCM_128DecryptInvalidIVLen(nlTestSuite * inSuite, void * inC out_pt.Alloc(vector->pt_len); NL_TEST_ASSERT(inSuite, out_pt); CHIP_ERROR err = AES_CCM_decrypt(vector->ct, vector->ct_len, vector->aad, vector->aad_len, vector->tag, vector->tag_len, - vector->key, vector->key_len, vector->iv, 0, out_pt.Get()); + vector->key, vector->key_len, vector->nonce, 0, out_pt.Get()); NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); break; } @@ -2221,18 +2221,18 @@ static const nlTest sTests[] = { NL_TEST_DEF("Test encrypting AES-CCM-128 test vectors", TestAES_CCM_128EncryptTestVectors), NL_TEST_DEF("Test decrypting AES-CCM-128 test vectors", TestAES_CCM_128DecryptTestVectors), NL_TEST_DEF("Test encrypting AES-CCM-128 using nil key", TestAES_CCM_128EncryptNilKey), - NL_TEST_DEF("Test encrypting AES-CCM-128 using invalid IV", TestAES_CCM_128EncryptInvalidIVLen), + NL_TEST_DEF("Test encrypting AES-CCM-128 using invalid nonce", TestAES_CCM_128EncryptInvalidNonceLen), NL_TEST_DEF("Test encrypting AES-CCM-128 using invalid tag", TestAES_CCM_128EncryptInvalidTagLen), NL_TEST_DEF("Test decrypting AES-CCM-128 invalid key", TestAES_CCM_128DecryptInvalidKey), - NL_TEST_DEF("Test decrypting AES-CCM-128 invalid IV", TestAES_CCM_128DecryptInvalidIVLen), + NL_TEST_DEF("Test decrypting AES-CCM-128 invalid nonce", TestAES_CCM_128DecryptInvalidNonceLen), NL_TEST_DEF("Test decrypting AES-CCM-128 Containers", TestAES_CCM_128Containers), NL_TEST_DEF("Test encrypting AES-CCM-256 test vectors", TestAES_CCM_256EncryptTestVectors), NL_TEST_DEF("Test decrypting AES-CCM-256 test vectors", TestAES_CCM_256DecryptTestVectors), NL_TEST_DEF("Test encrypting AES-CCM-256 using nil key", TestAES_CCM_256EncryptNilKey), - NL_TEST_DEF("Test encrypting AES-CCM-256 using invalid IV", TestAES_CCM_256EncryptInvalidIVLen), + NL_TEST_DEF("Test encrypting AES-CCM-256 using invalid nonce", TestAES_CCM_256EncryptInvalidNonceLen), NL_TEST_DEF("Test encrypting AES-CCM-256 using invalid tag", TestAES_CCM_256EncryptInvalidTagLen), NL_TEST_DEF("Test decrypting AES-CCM-256 invalid key", TestAES_CCM_256DecryptInvalidKey), - NL_TEST_DEF("Test decrypting AES-CCM-256 invalid IV", TestAES_CCM_256DecryptInvalidIVLen), + NL_TEST_DEF("Test decrypting AES-CCM-256 invalid nonce", TestAES_CCM_256DecryptInvalidNonceLen), NL_TEST_DEF("Test decrypting AES-CCM-256 invalid vectors", TestAES_CCM_256DecryptInvalidTestVectors), NL_TEST_DEF("Test ASN.1 signature conversion routines", TestAsn1Conversions), NL_TEST_DEF("Test Integer to ASN.1 DER conversion", TestRawIntegerToDerValidCases), diff --git a/src/transport/CryptoContext.cpp b/src/transport/CryptoContext.cpp index 3481d33de75e60..ab0ee35c1b2bec 100644 --- a/src/transport/CryptoContext.cpp +++ b/src/transport/CryptoContext.cpp @@ -37,8 +37,8 @@ namespace chip { namespace { -constexpr size_t kAESCCMIVLen = 13; -constexpr size_t kMaxAADLen = 128; +constexpr size_t kAESCCMNonceLen = 13; +constexpr size_t kMaxAADLen = 128; /* Session Establish Key Info */ constexpr uint8_t SEKeysInfo[] = { 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73 }; @@ -131,12 +131,12 @@ CHIP_ERROR CryptoContext::InitFromKeyPair(const Crypto::P256Keypair & local_keyp return InitFromSecret(ByteSpan(secret, secret.Length()), salt, infoType, role); } -CHIP_ERROR CryptoContext::GetIV(const PacketHeader & header, uint8_t * iv, size_t len) +CHIP_ERROR CryptoContext::GetNonce(const PacketHeader & header, uint8_t * nonce, size_t len) { - VerifyOrReturnError(len == kAESCCMIVLen, CHIP_ERROR_INVALID_ARGUMENT); + VerifyOrReturnError(len == kAESCCMNonceLen, CHIP_ERROR_INVALID_ARGUMENT); - Encoding::LittleEndian::BufferWriter bbuf(iv, len); + Encoding::LittleEndian::BufferWriter bbuf(nonce, len); bbuf.Put8(header.GetSecurityFlags()); bbuf.Put32(header.GetMessageCounter()); @@ -174,11 +174,11 @@ CHIP_ERROR CryptoContext::Encrypt(const uint8_t * input, size_t input_length, ui VerifyOrReturnError(output != nullptr, CHIP_ERROR_INVALID_ARGUMENT); uint8_t AAD[kMaxAADLen]; - uint8_t IV[kAESCCMIVLen]; + uint8_t nonce[kAESCCMNonceLen]; uint16_t aadLen = sizeof(AAD); uint8_t tag[kMaxTagLen]; - ReturnErrorOnFailure(GetIV(header, IV, sizeof(IV))); + ReturnErrorOnFailure(GetNonce(header, nonce, sizeof(nonce))); ReturnErrorOnFailure(GetAdditionalAuthData(header, AAD, aadLen)); if (mKeyContext) @@ -187,7 +187,7 @@ CHIP_ERROR CryptoContext::Encrypt(const uint8_t * input, size_t input_length, ui MutableByteSpan ciphertext(output, input_length); MutableByteSpan mic(tag, taglen); - ReturnErrorOnFailure(mKeyContext->EncryptMessage(plaintext, ByteSpan(AAD, aadLen), ByteSpan(IV), mic, ciphertext)); + ReturnErrorOnFailure(mKeyContext->EncryptMessage(plaintext, ByteSpan(AAD, aadLen), ByteSpan(nonce), mic, ciphertext)); } else { @@ -202,8 +202,8 @@ CHIP_ERROR CryptoContext::Encrypt(const uint8_t * input, size_t input_length, ui usage = kI2RKey; } - ReturnErrorOnFailure(AES_CCM_encrypt(input, input_length, AAD, aadLen, mKeys[usage], Crypto::kAES_CCM128_Key_Length, IV, - sizeof(IV), output, tag, taglen)); + ReturnErrorOnFailure(AES_CCM_encrypt(input, input_length, AAD, aadLen, mKeys[usage], Crypto::kAES_CCM128_Key_Length, nonce, + sizeof(nonce), output, tag, taglen)); } mac.SetTag(&header, tag, taglen); @@ -216,7 +216,7 @@ CHIP_ERROR CryptoContext::Decrypt(const uint8_t * input, size_t input_length, ui { const size_t taglen = header.MICTagLength(); const uint8_t * tag = mac.GetTag(); - uint8_t IV[kAESCCMIVLen]; + uint8_t nonce[kAESCCMNonceLen]; uint8_t AAD[kMaxAADLen]; uint16_t aadLen = sizeof(AAD); @@ -224,7 +224,7 @@ CHIP_ERROR CryptoContext::Decrypt(const uint8_t * input, size_t input_length, ui VerifyOrReturnError(input_length > 0, CHIP_ERROR_INVALID_ARGUMENT); VerifyOrReturnError(output != nullptr, CHIP_ERROR_INVALID_ARGUMENT); - ReturnErrorOnFailure(GetIV(header, IV, sizeof(IV))); + ReturnErrorOnFailure(GetNonce(header, nonce, sizeof(nonce))); ReturnErrorOnFailure(GetAdditionalAuthData(header, AAD, aadLen)); if (nullptr != mKeyContext) @@ -233,7 +233,7 @@ CHIP_ERROR CryptoContext::Decrypt(const uint8_t * input, size_t input_length, ui MutableByteSpan plaintext(output, input_length); ByteSpan mic(tag, taglen); - CHIP_ERROR err = mKeyContext->DecryptMessage(ciphertext, ByteSpan(AAD, aadLen), ByteSpan(IV), mic, plaintext); + CHIP_ERROR err = mKeyContext->DecryptMessage(ciphertext, ByteSpan(AAD, aadLen), ByteSpan(nonce), mic, plaintext); ReturnErrorOnFailure(err); } else @@ -250,7 +250,7 @@ CHIP_ERROR CryptoContext::Decrypt(const uint8_t * input, size_t input_length, ui } ReturnErrorOnFailure(AES_CCM_decrypt(input, input_length, AAD, aadLen, tag, taglen, mKeys[usage], - Crypto::kAES_CCM128_Key_Length, IV, sizeof(IV), output)); + Crypto::kAES_CCM128_Key_Length, nonce, sizeof(nonce), output)); } return CHIP_NO_ERROR; } diff --git a/src/transport/CryptoContext.h b/src/transport/CryptoContext.h index 82f347e13d3376..5a462fbe45cbaf 100644 --- a/src/transport/CryptoContext.h +++ b/src/transport/CryptoContext.h @@ -143,7 +143,7 @@ class DLL_EXPORT CryptoContext CryptoKey mKeys[KeyUsage::kNumCryptoKeys]; Crypto::SymmetricKeyContext * mKeyContext = nullptr; - static CHIP_ERROR GetIV(const PacketHeader & header, uint8_t * iv, size_t len); + static CHIP_ERROR GetNonce(const PacketHeader & header, uint8_t * nonce, size_t len); // Use unencrypted header as additional authenticated data (AAD) during encryption and decryption. // The encryption operations includes AAD when message authentication tag is generated. This tag From 0e23c6ac6cdcafa023b4c164fa0d66127a15bd9a Mon Sep 17 00:00:00 2001 From: Arkadiusz Bokowy Date: Wed, 16 Mar 2022 15:54:33 +0100 Subject: [PATCH 25/37] Fix segfault caused by accessing released device object (#16168) * Fix segfault caused by accessing released device object Local reference to the device being commissioned has to be cleared when the device object is released. Otherwise, we will have a local pointer to freed memory. * Send operational certificate to given device Given device proxy object might not necessarily be a device currently being commissioned. --- src/controller/CHIPDeviceController.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index 8fc7096f35658a..161d56d3dd4b28 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -745,6 +745,11 @@ CommissioneeDeviceProxy * DeviceCommissioner::FindCommissioneeDevice(NodeId id) void DeviceCommissioner::ReleaseCommissioneeDevice(CommissioneeDeviceProxy * device) { mCommissioneeDevicePool.ReleaseObject(device); + // Make sure that there will be no dangling pointer + if (mDeviceBeingCommissioned == device) + { + mDeviceBeingCommissioned = nullptr; + } } CHIP_ERROR DeviceCommissioner::GetDeviceBeingCommissioned(NodeId deviceId, CommissioneeDeviceProxy ** out_device) @@ -887,7 +892,6 @@ CHIP_ERROR DeviceCommissioner::EstablishPASEConnection(NodeId remoteDeviceId, Re if (device != nullptr) { ReleaseCommissioneeDevice(device); - mDeviceBeingCommissioned = nullptr; } } @@ -972,7 +976,6 @@ void DeviceCommissioner::RendezvousCleanup(CHIP_ERROR status) // for IP commissioning, we have taken a reference to the // operational node to send the completion command. ReleaseCommissioneeDevice(mDeviceBeingCommissioned); - mDeviceBeingCommissioned = nullptr; } if (mPairingDelegate != nullptr) @@ -1243,8 +1246,8 @@ CHIP_ERROR DeviceCommissioner::SendOperationalCertificate(DeviceProxy * device, request.caseAdminNode = adminSubject; request.adminVendorId = mVendorId; - ReturnErrorOnFailure(SendCommand(mDeviceBeingCommissioned, request, - OnOperationalCertificateAddResponse, OnAddNOCFailureResponse)); + ReturnErrorOnFailure( + SendCommand(device, request, OnOperationalCertificateAddResponse, OnAddNOCFailureResponse)); ChipLogProgress(Controller, "Sent operational certificate to the device"); @@ -1466,7 +1469,7 @@ void DeviceCommissioner::CommissioningStageComplete(CHIP_ERROR err, Commissionin { // Commissioning delegate will only return error if it failed to perform the appropriate commissioning step. // In this case, we should call back the commissioning complete and call session error - if (mPairingDelegate != nullptr) + if (mPairingDelegate != nullptr && mDeviceBeingCommissioned != nullptr) { mPairingDelegate->OnCommissioningComplete(mDeviceBeingCommissioned->GetDeviceId(), status); } @@ -1487,7 +1490,6 @@ void DeviceCommissioner::OnDeviceConnectedFn(void * context, OperationalDevicePr // Let's release the device that's being paired, if pairing was successful, // and the device is available on the operational network. commissioner->ReleaseCommissioneeDevice(commissioner->mDeviceBeingCommissioned); - commissioner->mDeviceBeingCommissioned = nullptr; if (commissioner->mCommissioningDelegate != nullptr) { CommissioningDelegate::CommissioningReport report; @@ -1544,7 +1546,6 @@ void DeviceCommissioner::OnDeviceConnectionFailureFn(void * context, PeerId peer // // Run the above cases under valgrind/asan to validate no additional leaks. commissioner->ReleaseCommissioneeDevice(commissioner->mDeviceBeingCommissioned); - commissioner->mDeviceBeingCommissioned = nullptr; } } From 645b03b929f9a4becc22bcbe1954e389bae27cf7 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Wed, 16 Mar 2022 10:57:39 -0400 Subject: [PATCH 26/37] Hook up reports to the current controller in iOS CHIPTool. (#16253) Fixes https://github.com/project-chip/connectedhomeip/issues/16198 --- .../TemperatureSensorViewController.h | 5 ++++ .../TemperatureSensorViewController.m | 25 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.h b/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.h index 49c4699089d4b9..93bb9a79e2bc03 100644 --- a/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.h +++ b/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.h @@ -13,6 +13,11 @@ NS_ASSUME_NONNULL_BEGIN @interface TemperatureSensorViewController : UIViewController +/** + * Return the current controller, if any. + */ ++ (nullable TemperatureSensorViewController *)currentController; + @end NS_ASSUME_NONNULL_END diff --git a/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m b/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m index 1f657b9103aa2f..bb003b634505ba 100644 --- a/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m +++ b/src/darwin/CHIPTool/CHIPTool/View Controllers/Temperature Sensor/TemperatureSensorViewController.m @@ -18,12 +18,15 @@ @interface TemperatureSensorViewController () @property (nonatomic, strong) UIButton * sendReportingSetup; @end +static TemperatureSensorViewController * _Nullable sCurrentController = nil; + @implementation TemperatureSensorViewController // MARK: UIViewController methods - (void)viewDidLoad { + sCurrentController = self; [super viewDidLoad]; [self setupUI]; @@ -33,6 +36,23 @@ - (void)viewDidLoad [self readCurrentTemperature]; } +- (void)viewWillDisappear:(BOOL)animated +{ + sCurrentController = nil; + [super viewWillDisappear:animated]; +} + +- (void)viewDidAppear:(BOOL)animated +{ + sCurrentController = self; + [super viewDidAppear:animated]; +} + ++ (nullable TemperatureSensorViewController *)currentController +{ + return sCurrentController; +} + - (IBAction)sendReportingSetup:(id)sender { NSLog(@"Status: User request to send reporting setup."); @@ -217,7 +237,10 @@ - (void)reportFromUserEnteredSettings if (report.error != nil) { NSLog(@"Error reading temperature: %@", report.error); } else { - [self updateTempInUI:((NSNumber *) report.value).shortValue]; + __auto_type controller = [TemperatureSensorViewController currentController]; + if (controller != nil) { + [controller updateTempInUI:((NSNumber *) report.value).shortValue]; + } } } } From 1302ce089778111d5c572e4a0f1a58fde1c826d2 Mon Sep 17 00:00:00 2001 From: mkardous-silabs <84793247+mkardous-silabs@users.noreply.github.com> Date: Wed, 16 Mar 2022 13:04:12 -0400 Subject: [PATCH 27/37] [EFR32] fix sleepy devices for efr32 (#16196) * fix sleepy devices for efr32 * PR comments * restyles * update window cover --- examples/light-switch-app/efr32/BUILD.gn | 10 ++- examples/light-switch-app/efr32/src/main.cpp | 3 +- examples/lighting-app/efr32/BUILD.gn | 10 ++- examples/lighting-app/efr32/src/main.cpp | 3 +- examples/lock-app/efr32/BUILD.gn | 10 ++- examples/lock-app/efr32/src/main.cpp | 3 +- examples/ota-requestor-app/efr32/BUILD.gn | 10 ++- examples/shell/efr32/BUILD.gn | 5 +- examples/window-app/efr32/BUILD.gn | 10 ++- examples/window-app/efr32/src/main.cpp | 3 +- scripts/examples/gn_efr32_example.sh | 7 +- src/platform/EFR32/ThreadStackManagerImpl.cpp | 4 + src/test_driver/efr32/BUILD.gn | 5 +- third_party/efr32_sdk/efr32_sdk.gni | 87 ++++++++++++++----- third_party/efr32_sdk/repo | 2 +- 15 files changed, 128 insertions(+), 44 deletions(-) diff --git a/examples/light-switch-app/efr32/BUILD.gn b/examples/light-switch-app/efr32/BUILD.gn index 495edd87749b0f..412917bba38279 100644 --- a/examples/light-switch-app/efr32/BUILD.gn +++ b/examples/light-switch-app/efr32/BUILD.gn @@ -57,9 +57,10 @@ declare_args() { use_rs911x_sockets = false sl_wfx_config_softap = false sl_wfx_config_scan = true -} -show_qr_code = true + # Enables LCD Qr Code on supported devices + show_qr_code = true +} # BRD4166A --> ThunderBoard Sense 2 (No LCD) if (efr32_board == "BRD4166A" || efr32_board == "BRD4180A") { @@ -149,7 +150,6 @@ efr32_executable("light_switch_app") { "${examples_plat_dir}/LEDWidget.cpp", "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "src/AppTask.cpp", "src/LightingManager.cpp", "src/ZclCallbacks.cpp", @@ -157,6 +157,10 @@ efr32_executable("light_switch_app") { "src/main.cpp", ] + if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + deps = [ ":sdk", "${chip_root}/examples/common/QRCode", diff --git a/examples/light-switch-app/efr32/src/main.cpp b/examples/light-switch-app/efr32/src/main.cpp index 0fd41ca3b1ad0b..7ca14521d301e5 100644 --- a/examples/light-switch-app/efr32/src/main.cpp +++ b/examples/light-switch-app/efr32/src/main.cpp @@ -155,8 +155,9 @@ int main(void) #else // CHIP_DEVICE_CONFIG_THREAD_FTD #if CHIP_DEVICE_CONFIG_ENABLE_SED ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_SleepyEndDevice); -#endif // CHIP_DEVICE_CONFIG_ENABLE_SED +#else // CHIP_DEVICE_CONFIG_ENABLE_SED ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_MinimalEndDevice); +#endif // CHIP_DEVICE_CONFIG_ENABLE_SED #endif // CHIP_DEVICE_CONFIG_THREAD_FTD if (ret != CHIP_NO_ERROR) { diff --git a/examples/lighting-app/efr32/BUILD.gn b/examples/lighting-app/efr32/BUILD.gn index 7f8f3bd1295f7d..ab64c2f757c2a4 100644 --- a/examples/lighting-app/efr32/BUILD.gn +++ b/examples/lighting-app/efr32/BUILD.gn @@ -57,9 +57,10 @@ declare_args() { use_rs911x_sockets = false sl_wfx_config_softap = false sl_wfx_config_scan = true -} -show_qr_code = true + # Enables LCD Qr Code on supported devices + show_qr_code = true +} # BRD4166A --> ThunderBoard Sense 2 (No LCD) if (efr32_board == "BRD4166A" || efr32_board == "BRD4180A") { @@ -148,13 +149,16 @@ efr32_executable("lighting_app") { "${examples_plat_dir}/LEDWidget.cpp", "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "src/AppTask.cpp", "src/LightingManager.cpp", "src/ZclCallbacks.cpp", "src/main.cpp", ] + if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + deps = [ ":sdk", "${chip_root}/examples/common/QRCode", diff --git a/examples/lighting-app/efr32/src/main.cpp b/examples/lighting-app/efr32/src/main.cpp index da9282fa5bc574..e0f1a4bc26fc1c 100644 --- a/examples/lighting-app/efr32/src/main.cpp +++ b/examples/lighting-app/efr32/src/main.cpp @@ -159,8 +159,9 @@ int main(void) #else // CHIP_DEVICE_CONFIG_THREAD_FTD #if CHIP_DEVICE_CONFIG_ENABLE_SED ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_SleepyEndDevice); -#endif // CHIP_DEVICE_CONFIG_ENABLE_SED +#else // CHIP_DEVICE_CONFIG_ENABLE_SED ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_MinimalEndDevice); +#endif // CHIP_DEVICE_CONFIG_ENABLE_SED #endif // CHIP_DEVICE_CONFIG_THREAD_FTD if (ret != CHIP_NO_ERROR) { diff --git a/examples/lock-app/efr32/BUILD.gn b/examples/lock-app/efr32/BUILD.gn index b6db7044c681df..870737f8047f42 100644 --- a/examples/lock-app/efr32/BUILD.gn +++ b/examples/lock-app/efr32/BUILD.gn @@ -56,9 +56,10 @@ declare_args() { use_rs911x_sockets = false sl_wfx_config_softap = false sl_wfx_config_scan = true -} -show_qr_code = true + # Enables LCD Qr Code on supported devices + show_qr_code = true +} # BRD4166A --> ThunderBoard Sense 2 (No LCD) if (efr32_board == "BRD4166A" || efr32_board == "BRD4180A") { @@ -147,13 +148,16 @@ efr32_executable("lock_app") { "${examples_plat_dir}/LEDWidget.cpp", "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "src/AppTask.cpp", "src/BoltLockManager.cpp", "src/ZclCallbacks.cpp", "src/main.cpp", ] + if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + deps = [ ":sdk", "${chip_root}/examples/common/QRCode", diff --git a/examples/lock-app/efr32/src/main.cpp b/examples/lock-app/efr32/src/main.cpp index f59e2640e6f9ea..2ed647b327aa72 100644 --- a/examples/lock-app/efr32/src/main.cpp +++ b/examples/lock-app/efr32/src/main.cpp @@ -155,8 +155,9 @@ int main(void) #else // CHIP_DEVICE_CONFIG_THREAD_FTD #if CHIP_DEVICE_CONFIG_ENABLE_SED ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_SleepyEndDevice); -#endif // CHIP_DEVICE_CONFIG_ENABLE_SED +#else // CHIP_DEVICE_CONFIG_ENABLE_SED ret = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_MinimalEndDevice); +#endif // CHIP_DEVICE_CONFIG_ENABLE_SED #endif // CHIP_DEVICE_CONFIG_THREAD_FTD if (ret != CHIP_NO_ERROR) { diff --git a/examples/ota-requestor-app/efr32/BUILD.gn b/examples/ota-requestor-app/efr32/BUILD.gn index 4804dcea5facb1..5a860287976351 100644 --- a/examples/ota-requestor-app/efr32/BUILD.gn +++ b/examples/ota-requestor-app/efr32/BUILD.gn @@ -44,9 +44,10 @@ declare_args() { # Monitor & log memory usage at runtime. enable_heap_monitoring = false -} -show_qr_code = true + # Enables LCD Qr Code on supported devices + show_qr_code = true +} # BRD4166A --> ThunderBoard Sense 2 (No LCD) if (efr32_board == "BRD4166A" || efr32_board == "BRD4180A") { @@ -89,13 +90,16 @@ efr32_executable("ota_requestor_app") { "${examples_plat_dir}/LEDWidget.cpp", "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "src/AppTask.cpp", "src/LightingManager.cpp", "src/ZclCallbacks.cpp", "src/main.cpp", ] + if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + deps = [ ":sdk", "${chip_root}/examples/common/QRCode", diff --git a/examples/shell/efr32/BUILD.gn b/examples/shell/efr32/BUILD.gn index ea683bed9362cf..e01ce36bfecb77 100644 --- a/examples/shell/efr32/BUILD.gn +++ b/examples/shell/efr32/BUILD.gn @@ -58,10 +58,13 @@ efr32_executable("shell_app") { sources = [ "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "src/main.cpp", ] + if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + deps = [ ":sdk", "${chip_root}/examples/shell/shell_common:shell_common", diff --git a/examples/window-app/efr32/BUILD.gn b/examples/window-app/efr32/BUILD.gn index 4cb40bbc93f1f5..6b1b894c73a0ba 100644 --- a/examples/window-app/efr32/BUILD.gn +++ b/examples/window-app/efr32/BUILD.gn @@ -50,9 +50,10 @@ declare_args() { use_rs911x_sockets = false sl_wfx_config_softap = false sl_wfx_config_scan = true -} -show_qr_code = true + # Enables LCD Qr Code on supported devices + show_qr_code = true +} # BRD4166A --> ThunderBoard Sense 2 (No LCD) if (efr32_board == "BRD4166A" || efr32_board == "BRD4180A") { @@ -137,13 +138,16 @@ efr32_executable("window_app") { "${examples_plat_dir}/LEDWidget.cpp", "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "${project_dir}/common/src/WindowApp.cpp", "${project_dir}/common/src/ZclCallbacks.cpp", "src/WindowAppImpl.cpp", "src/main.cpp", ] + if (chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + if (chip_enable_ota_requestor) { defines += [ "EFR32_OTA_ENABLED" ] sources += [ "${examples_plat_dir}/OTAConfig.cpp" ] diff --git a/examples/window-app/efr32/src/main.cpp b/examples/window-app/efr32/src/main.cpp index c79ffddc1be254..cfffc9dc071d87 100644 --- a/examples/window-app/efr32/src/main.cpp +++ b/examples/window-app/efr32/src/main.cpp @@ -132,8 +132,9 @@ int main(void) #else // CHIP_DEVICE_CONFIG_THREAD_FTD #if CHIP_DEVICE_CONFIG_ENABLE_SED err = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_SleepyEndDevice); -#endif // CHIP_DEVICE_CONFIG_ENABLE_SED +#else // CHIP_DEVICE_CONFIG_ENABLE_SED err = ConnectivityMgr().SetThreadDeviceType(ConnectivityManager::kThreadDeviceType_MinimalEndDevice); +#endif // CHIP_DEVICE_CONFIG_ENABLE_SED #endif // CHIP_DEVICE_CONFIG_THREAD_FTD if (err != CHIP_NO_ERROR) { diff --git a/scripts/examples/gn_efr32_example.sh b/scripts/examples/gn_efr32_example.sh index 200176a22e4501..22913392fc8972 100755 --- a/scripts/examples/gn_efr32_example.sh +++ b/scripts/examples/gn_efr32_example.sh @@ -61,6 +61,10 @@ if [ "$#" == "0" ]; then Location for an alternate or modified efr32 SDK enable_heap_monitoring Monitor & log memory usage at runtime. (Default false) + enable_openthread_cli + Enables openthread cli without matter shell. (Default true) + show_qr_code + Enables QR code on LCD for devices with an LCD setupDiscriminator Discriminatoor value used for BLE connexion. (Default 3840) setupPinCode @@ -78,7 +82,8 @@ if [ "$#" == "0" ]; then Periodic query timeout variable for OTA in seconds Presets --sed - enable sleepy end device and set thread mtd + enable sleepy end device, set thread mtd + For minimum consumption, disable openthread cli and qr code --wifi build wifi example variant for given exansion board " diff --git a/src/platform/EFR32/ThreadStackManagerImpl.cpp b/src/platform/EFR32/ThreadStackManagerImpl.cpp index fbd89807260177..c8858467bcff77 100644 --- a/src/platform/EFR32/ThreadStackManagerImpl.cpp +++ b/src/platform/EFR32/ThreadStackManagerImpl.cpp @@ -125,6 +125,8 @@ extern "C" otError otPlatUartEnable(void) #endif } +#if CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI + extern "C" otError otPlatUartSend(const uint8_t * aBuf, uint16_t aBufLength) { #ifdef PW_RPC_ENABLED @@ -162,3 +164,5 @@ extern "C" __WEAK otError otPlatUartDisable(void) { return OT_ERROR_NOT_IMPLEMENTED; } + +#endif // CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI diff --git a/src/test_driver/efr32/BUILD.gn b/src/test_driver/efr32/BUILD.gn index 67bbf521466712..14d27ad9460808 100644 --- a/src/test_driver/efr32/BUILD.gn +++ b/src/test_driver/efr32/BUILD.gn @@ -73,10 +73,13 @@ efr32_executable("efr32_device_tests") { "${examples_plat_dir}/PigweedLogger.cpp", "${examples_plat_dir}/heap_4_silabs.c", "${examples_plat_dir}/init_efrPlatform.cpp", - "${examples_plat_dir}/uart.cpp", "src/main.cpp", ] + if (chip_enable_pw_rpc || chip_build_libshell || enable_openthread_cli) { + sources += [ "${examples_plat_dir}/uart.cpp" ] + } + deps = [ ":nl_test_service.nanopb_rpc", ":sdk", diff --git a/third_party/efr32_sdk/efr32_sdk.gni b/third_party/efr32_sdk/efr32_sdk.gni index 81ca2ac8034cfd..92bb1d824e7796 100644 --- a/third_party/efr32_sdk/efr32_sdk.gni +++ b/third_party/efr32_sdk/efr32_sdk.gni @@ -23,6 +23,7 @@ import("efr32_board.gni") declare_args() { # Location of the efr32 SDK. efr32_sdk_root = "${chip_root}/third_party/efr32_sdk/repo" + enable_openthread_cli = true } assert(efr32_sdk_root != "", "efr32_sdk_root must be specified") @@ -71,8 +72,6 @@ template("efr32_sdk") { "${efr32_sdk_root}/platform/driver/leddrv/inc", "${efr32_sdk_root}/platform/emdrv/common/inc", "${efr32_sdk_root}/platform/emdrv/gpiointerrupt/inc", - "${efr32_sdk_root}/platform/emdrv/uartdrv/inc", - "${efr32_sdk_root}/platform/emdrv/uartdrv/config", "${efr32_sdk_root}/platform/emdrv/dmadrv/config", "${efr32_sdk_root}/platform/emdrv/dmadrv/inc", "${efr32_sdk_root}/platform/emdrv/nvm3/inc", @@ -140,7 +139,6 @@ template("efr32_sdk") { "${efr32_board}=1", "SL_SUPRESS_DEPRECATION_WARNINGS_SDK_3_1", "CHIP_KVS_BASE_SECTOR_INDEX=((FLASH_SIZE/FLASH_PAGE_SIZE)-(CHIP_KVS_SECTOR_COUNT))", - "CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI=1", "__HEAP_SIZE=0", "SL_CATALOG_FREERTOS_KERNEL_PRESENT=1", "MBEDTLS_THREADING_C=1", @@ -162,17 +160,49 @@ template("efr32_sdk") { } } - if (chip_build_libshell) { + if (chip_build_libshell) { # matter shell defines += [ "ENABLE_CHIP_SHELL", "OPENTHREAD_CONFIG_CLI_TRANSPORT=OT_CLI_TRANSPORT_CONSOLE", + "CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI=1", ] + } else { + if (enable_openthread_cli) { # ot-cli only + defines += [ "CHIP_DEVICE_CONFIG_THREAD_ENABLE_CLI=1" ] + } + } + + # USART include files + if ((defined(invoker.chip_enable_pw_rpc) && invoker.chip_enable_pw_rpc) || + chip_build_libshell || enable_openthread_cli || + (defined(invoker.show_qr_code) && invoker.show_qr_code)) { + defines += [ "CONFIG_ENABLE_UART" ] + + _include_dirs += [ + "${efr32_sdk_root}/platform/emdrv/uartdrv/inc", + "${efr32_sdk_root}/platform/emdrv/uartdrv/config", + ] + + if (efr32_family == "efr32mg12") { + _include_dirs += [ + "${efr32_sdk_root}/hardware/driver/memlcd/inc/memlcd_usart", + "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/inc/sl_mx25_flash_shutdown_usart", + ] + } else if (efr32_family == "efr32mg21") { + _include_dirs += [ + "${efr32_sdk_root}/hardware/driver/memlcd/inc/memlcd_usart", + "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/inc/sl_mx25_flash_shutdown_usart", + ] + } else if (efr32_family == "efr32mg24") { + _include_dirs += [ + "${efr32_sdk_root}/hardware/driver/memlcd/inc/memlcd_eusart", + "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/inc/sl_mx25_flash_shutdown_eusart", + ] + } } if (efr32_family == "efr32mg12") { _include_dirs += [ - "${efr32_sdk_root}/hardware/driver/memlcd/inc/memlcd_usart", - "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/inc/sl_mx25_flash_shutdown_usart", "${efr32_sdk_root}/hardware/kit/EFR32MG12_${efr32_board}/config", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Include", "${efr32_sdk_root}/platform/radio/rail_lib/chip/efr32/efr32xg1x", @@ -193,8 +223,6 @@ template("efr32_sdk") { ] } else if (efr32_family == "efr32mg21") { _include_dirs += [ - "${efr32_sdk_root}/hardware/driver/memlcd/inc/memlcd_usart", - "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/inc/sl_mx25_flash_shutdown_usart", "${efr32_sdk_root}/hardware/kit/EFR32MG21_${efr32_board}/config", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG21/Include", "${efr32_sdk_root}/platform/radio/rail_lib/chip/efr32/efr32xg2x", @@ -217,8 +245,6 @@ template("efr32_sdk") { ] } else if (efr32_family == "efr32mg24") { _include_dirs += [ - "${efr32_sdk_root}/hardware/driver/memlcd/inc/memlcd_eusart", - "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/inc/sl_mx25_flash_shutdown_eusart", "${efr32_sdk_root}/hardware/kit/EFR32MG24_${efr32_board}/config", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG24/Include", "${efr32_sdk_root}/platform/radio/rail_lib/chip/efr32/efr32xg2x", @@ -275,7 +301,6 @@ template("efr32_sdk") { "${efr32_sdk_root}/matter/efr32/sl_event_handler.c", "${efr32_sdk_root}/matter/efr32/sl_simple_button_instances.c", "${efr32_sdk_root}/matter/efr32/sl_simple_led_instances.c", - "${efr32_sdk_root}/matter/efr32/sl_uartdrv_init.c", "${efr32_sdk_root}/platform/CMSIS/RTOS2/Source/os_systick.c", "${efr32_sdk_root}/platform/bootloader/plugin/security/sha/crypto_sha.c", "${efr32_sdk_root}/platform/common/src/sl_slist.c", @@ -288,16 +313,13 @@ template("efr32_sdk") { "${efr32_sdk_root}/platform/emdrv/nvm3/src/nvm3_default.c", "${efr32_sdk_root}/platform/emdrv/nvm3/src/nvm3_hal_flash.c", "${efr32_sdk_root}/platform/emdrv/nvm3/src/nvm3_lock.c", - "${efr32_sdk_root}/platform/emdrv/uartdrv/src/uartdrv.c", "${efr32_sdk_root}/platform/emlib/src/em_adc.c", "${efr32_sdk_root}/platform/emlib/src/em_cmu.c", "${efr32_sdk_root}/platform/emlib/src/em_core.c", "${efr32_sdk_root}/platform/emlib/src/em_crypto.c", "${efr32_sdk_root}/platform/emlib/src/em_emu.c", - "${efr32_sdk_root}/platform/emlib/src/em_eusart.c", "${efr32_sdk_root}/platform/emlib/src/em_gpio.c", "${efr32_sdk_root}/platform/emlib/src/em_ldma.c", - "${efr32_sdk_root}/platform/emlib/src/em_leuart.c", "${efr32_sdk_root}/platform/emlib/src/em_msc.c", "${efr32_sdk_root}/platform/emlib/src/em_prs.c", "${efr32_sdk_root}/platform/emlib/src/em_rmu.c", @@ -305,7 +327,6 @@ template("efr32_sdk") { "${efr32_sdk_root}/platform/emlib/src/em_se.c", "${efr32_sdk_root}/platform/emlib/src/em_system.c", "${efr32_sdk_root}/platform/emlib/src/em_timer.c", - "${efr32_sdk_root}/platform/emlib/src/em_usart.c", "${efr32_sdk_root}/platform/peripheral/src/peripheral_sysrtc.c", "${efr32_sdk_root}/platform/radio/rail_lib/hal/efr32/hal_efr.c", "${efr32_sdk_root}/platform/radio/rail_lib/plugin/pa-conversions/pa_conversions_efr32.c", @@ -454,6 +475,36 @@ template("efr32_sdk") { ] } + # USART sources files + if ((defined(invoker.chip_enable_pw_rpc) && invoker.chip_enable_pw_rpc) || + chip_build_libshell || enable_openthread_cli || + (defined(invoker.show_qr_code) && invoker.show_qr_code)) { + sources += [ + "${efr32_sdk_root}/matter/efr32/sl_uartdrv_init.c", + "${efr32_sdk_root}/platform/emdrv/uartdrv/src/uartdrv.c", + "${efr32_sdk_root}/platform/emlib/src/em_eusart.c", + "${efr32_sdk_root}/platform/emlib/src/em_leuart.c", + "${efr32_sdk_root}/platform/emlib/src/em_usart.c", + ] + + if (efr32_family == "efr32mg12") { + sources += [ + "${efr32_sdk_root}/hardware/driver/memlcd/src/memlcd_usart/sl_memlcd_spi.c", + "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/src/sl_mx25_flash_shutdown_usart/sl_mx25_flash_shutdown.c", + ] + } else if (efr32_family == "efr32mg21") { + sources += [ + "${efr32_sdk_root}/hardware/driver/memlcd/src/memlcd_usart/sl_memlcd_spi.c", + "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/src/sl_mx25_flash_shutdown_usart/sl_mx25_flash_shutdown.c", + ] + } else if (efr32_family == "efr32mg24") { + sources += [ + "${efr32_sdk_root}/hardware/driver/memlcd/src/memlcd_eusart/sl_memlcd_spi.c", + "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/src/sl_mx25_flash_shutdown_eusart/sl_mx25_flash_shutdown.c", + ] + } + } + if (defined(invoker.show_qr_code)) { if (invoker.show_qr_code) { sources += [ @@ -485,8 +536,6 @@ template("efr32_sdk") { if (efr32_family == "efr32mg12") { sources += [ - "${efr32_sdk_root}/hardware/driver/memlcd/src/memlcd_usart/sl_memlcd_spi.c", - "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/src/sl_mx25_flash_shutdown_usart/sl_mx25_flash_shutdown.c", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/startup_efr32mg12p.c", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG12P/Source/system_efr32mg12p.c", "${efr32_sdk_root}/platform/service/device_init/src/sl_device_init_dcdc_s1.c", @@ -497,8 +546,6 @@ template("efr32_sdk") { ] } else if (efr32_family == "efr32mg21") { sources += [ - "${efr32_sdk_root}/hardware/driver/memlcd/src/memlcd_usart/sl_memlcd_spi.c", - "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/src/sl_mx25_flash_shutdown_usart/sl_mx25_flash_shutdown.c", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG21/Source/GCC/startup_efr32mg21.c", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG21/Source/system_efr32mg21.c", "${efr32_sdk_root}/platform/radio/rail_lib/plugin/rail_util_rf_path/sl_rail_util_rf_path.c", @@ -539,8 +586,6 @@ template("efr32_sdk") { ] } else if (efr32_family == "efr32mg24") { sources += [ - "${efr32_sdk_root}/hardware/driver/memlcd/src/memlcd_eusart/sl_memlcd_spi.c", - "${efr32_sdk_root}/hardware/driver/mx25_flash_shutdown/src/sl_mx25_flash_shutdown_eusart/sl_mx25_flash_shutdown.c", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG24/Source/GCC/startup_efr32mg24.c", "${efr32_sdk_root}/platform/Device/SiliconLabs/EFR32MG24/Source/system_efr32mg24.c", "${efr32_sdk_root}/platform/service/device_init/src/sl_device_init_dcdc_s2.c", diff --git a/third_party/efr32_sdk/repo b/third_party/efr32_sdk/repo index 1f6ff3d05c9400..9b527ad5d35e72 160000 --- a/third_party/efr32_sdk/repo +++ b/third_party/efr32_sdk/repo @@ -1 +1 @@ -Subproject commit 1f6ff3d05c94003899f3599b2e3ca524c5aa5495 +Subproject commit 9b527ad5d35e72f0266b54ed64d74ebe0170aa45 From 1fd1cb4a4135720e44d7c3230e89287aa695e951 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 13:22:11 -0400 Subject: [PATCH 28/37] Reduce some of the linux build targets to build under 2 hours. (#16297) * Reduce some of the linux build targets to build under 2 hours. * Remove mbedtls: this build is 100% covered by the unit tests run --- .github/workflows/build.yaml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 853eebb3143726..26d51133babca5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -99,7 +99,7 @@ jobs: timeout-minutes: 20 run: scripts/run_in_build_env.sh "ninja -C ./out" build_linux: - name: Build on Linux (fake, gcc_release, clang, mbedtls, simulated) + name: Build on Linux (fake, gcc_release, clang, simulated) timeout-minutes: 120 runs-on: ubuntu-latest @@ -157,12 +157,10 @@ jobs: - name: Setup Build, Run Build and Run Tests timeout-minutes: 90 run: | - for BUILD_TYPE in fake gcc_release clang mbedtls; do + for BUILD_TYPE in gcc_release clang; do case $BUILD_TYPE in - "fake") GN_ARGS='chip_device_platform="fake"';; "gcc_release") GN_ARGS='is_debug=false';; "clang") GN_ARGS='is_clang=true pw_command_launcher="`pwd`/../scripts/helpers/clang-tidy-launcher.py"';; - "mbedtls") GN_ARGS='chip_crypto="mbedtls"';; esac scripts/build/gn_gen.sh --args="$GN_ARGS" @@ -191,18 +189,14 @@ jobs: run: | ./scripts/run_in_build_env.sh \ "./scripts/build/build_examples.py --no-log-timestamps \ - --target linux-x64-all-clusters \ --target linux-x64-all-clusters-ipv6only \ - --target linux-x64-chip-tool \ --target linux-x64-chip-tool-ipv6only \ --target linux-x64-minmdns-ipv6only \ --target linux-x64-rpc-console \ - --target linux-x64-thermostat-ipv6only \ - --target linux-x64-tv-app-ipv6only \ build \ " - - name: Run fake linux tests + - name: Run fake linux tests with build_examples timeout-minutes: 15 run: | ./scripts/run_in_build_env.sh \ From 2091ce32ce95273f89ba33ebb25a977507d22840 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 13:50:43 -0400 Subject: [PATCH 29/37] Remove PrioritizeAddresses call since address resolve has now deterministic ordering (#16192) --- src/lib/dnssd/Discovery_ImplPlatform.cpp | 1 - src/lib/dnssd/Resolver.h | 45 ---------------------- src/lib/dnssd/Resolver_ImplMinimalMdns.cpp | 1 - 3 files changed, 47 deletions(-) diff --git a/src/lib/dnssd/Discovery_ImplPlatform.cpp b/src/lib/dnssd/Discovery_ImplPlatform.cpp index a6d5e1273f995b..b1dd1fc32f2f37 100644 --- a/src/lib/dnssd/Discovery_ImplPlatform.cpp +++ b/src/lib/dnssd/Discovery_ImplPlatform.cpp @@ -157,7 +157,6 @@ static void HandleNodeIdResolve(void * context, DnssdService * result, const Spa } nodeData.LogNodeIdResolved(); - nodeData.PrioritizeAddresses(); proxy->OnOperationalNodeResolved(nodeData); proxy->Release(); } diff --git a/src/lib/dnssd/Resolver.h b/src/lib/dnssd/Resolver.h index aeb8f01d04277a..8db57e3d6133a8 100644 --- a/src/lib/dnssd/Resolver.h +++ b/src/lib/dnssd/Resolver.h @@ -40,32 +40,6 @@ struct ResolvedNodeData // TODO: use pool to allow dynamic static constexpr unsigned kMaxIPAddresses = 5; - static bool IsIpLess(const Inet::IPAddress & a, const Inet::IPAddress & b) - { - // Link-local last - if (a.IsIPv6LinkLocal() && !b.IsIPv6LinkLocal()) - { - return false; - } - if (!a.IsIPv6LinkLocal() && b.IsIPv6LinkLocal()) - { - return true; - } - - // IPv6 before IPv4 - if (a.IsIPv6() && !b.IsIPv6()) - { - return false; - } - if (!a.IsIPv6() && b.IsIPv6()) - { - return true; - } - - // no ordering, do not care - return false; - } - void LogNodeIdResolved() const { #if CHIP_PROGRESS_LOGGING @@ -82,25 +56,6 @@ struct ResolvedNodeData #endif // CHIP_PROGRESS_LOGGING } - /// Sorts IP addresses in a consistent order. Specifically places - /// Link-local IPv6 addresses at the end (e.g. mDNS reflector services in Unify will - /// return link-local addresses that will not work) and prioritizes global IPv6 addresses - /// before IPv4 ones. - void PrioritizeAddresses() - { - // Slow sort, however we have maximum kMaxIPAddreses, so this is good enough for now - for (unsigned i = 0; i + 1 < mNumIPs; i++) - { - for (unsigned j = i + 1; i < mNumIPs; i++) - { - if (IsIpLess(mAddress[j], mAddress[i])) - { - std::swap(mAddress[i], mAddress[j]); - } - } - } - } - ReliableMessageProtocolConfig GetMRPConfig() const { const ReliableMessageProtocolConfig defaultConfig = GetLocalMRPConfig(); diff --git a/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp b/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp index 40e8037c527dfc..78834aecc065ee 100644 --- a/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp +++ b/src/lib/dnssd/Resolver_ImplMinimalMdns.cpp @@ -338,7 +338,6 @@ void PacketDataReporter::OnComplete(ActiveResolveAttempts & activeAttempts) { activeAttempts.Complete(mNodeData.mPeerId); mNodeData.LogNodeIdResolved(); - mNodeData.PrioritizeAddresses(); // // This is a quick fix to address some failing tests. Issue #15489 tracks the correct fix here. From 0c438412b53d966f649724227ca2c1683eb5f750 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 14:30:08 -0400 Subject: [PATCH 30/37] Clang-tidy readability-else-after-return (#16312) * use clang-tidy to readability-else-after-return * Restyle * Ran a 2nd pass * Restyle * Ran a 2nd pass * Restyle --- .../examples/ExampleAccessControlDelegate.cpp | 2 +- src/app/AttributePathExpandIterator.cpp | 2 +- src/app/ChunkedWriteCallback.cpp | 8 ++-- src/app/CommandHandler.cpp | 6 +-- src/app/CommandSender.cpp | 6 +-- src/app/EventManagement.cpp | 12 ++--- src/app/ReadClient.cpp | 11 ++--- src/app/WriteClient.cpp | 6 +-- src/app/WriteClient.h | 6 +-- src/app/data-model/DecodableList.h | 12 ++--- src/app/reporting/Engine.cpp | 7 ++- src/app/server/Server.h | 8 ++-- .../pics/PICSBooleanExpressionParser.cpp | 30 +++++------- src/app/util/af-event.cpp | 12 ++--- src/app/util/attribute-storage.cpp | 48 ++++++++----------- src/app/util/binding-table.cpp | 26 +++++----- .../util/ember-compatibility-functions.cpp | 12 ++--- src/app/util/message.cpp | 30 ++++-------- src/app/util/util.cpp | 14 +++--- src/controller/AutoCommissioner.cpp | 4 +- src/controller/CHIPCluster.h | 10 ++-- .../CHIPCommissionableNodeController.cpp | 8 ++-- src/controller/CHIPDeviceController.cpp | 20 ++++---- src/credentials/CHIPCert.cpp | 6 +-- src/credentials/GroupDataProviderImpl.cpp | 32 ++++++------- src/crypto/CHIPCryptoPAL.cpp | 8 ++-- src/inet/TCPEndPointImplSockets.cpp | 6 +-- .../AddressResolve_DefaultImpl.cpp | 10 ++-- src/lib/address_resolve/tool.cpp | 10 ++-- src/lib/asn1/ASN1Reader.cpp | 3 +- src/lib/asn1/ASN1Writer.cpp | 3 +- src/lib/dnssd/ActiveResolveAttempts.cpp | 2 +- src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp | 12 ++--- src/lib/dnssd/DnssdCache.h | 3 +- src/lib/dnssd/MinimalMdnsServer.h | 6 +-- src/lib/dnssd/Resolver.h | 6 +-- src/lib/support/BytesCircularBuffer.cpp | 6 +-- src/lib/support/BytesToHex.cpp | 8 ++-- src/lib/support/Pool.cpp | 6 +-- src/lib/support/Pool.h | 3 +- src/lib/support/ThreadOperationalDataset.cpp | 3 +- src/lib/support/Variant.h | 6 +-- src/messaging/ExchangeContext.cpp | 10 ++-- src/messaging/ReliableMessageContext.cpp | 30 ++++++------ .../Linux/KeyValueStoreManagerImpl.cpp | 4 +- .../NetworkCommissioningThreadDriver.cpp | 4 +- src/platform/Linux/ThreadStackManagerImpl.cpp | 12 ++--- .../secure_channel/MessageCounterManager.cpp | 2 +- src/system/SystemLayerImplSelect.cpp | 2 +- src/transport/SessionManager.cpp | 8 ++-- src/transport/SessionManager.h | 6 +-- src/transport/UnauthenticatedSessionTable.h | 24 ++++------ src/transport/raw/TCP.cpp | 8 ++-- src/transport/raw/UDP.cpp | 8 ++-- third_party/inipp/repo/inipp/inipp/inipp.h | 7 ++- 55 files changed, 223 insertions(+), 341 deletions(-) diff --git a/src/access/examples/ExampleAccessControlDelegate.cpp b/src/access/examples/ExampleAccessControlDelegate.cpp index 95c659a493c155..6d9b5595994ee4 100644 --- a/src/access/examples/ExampleAccessControlDelegate.cpp +++ b/src/access/examples/ExampleAccessControlDelegate.cpp @@ -870,7 +870,7 @@ class EntryDelegate : public Entry::Delegate { return CHIP_NO_ERROR; } - else if (auto * storage = EntryStorage::Find(nullptr)) + if (auto * storage = EntryStorage::Find(nullptr)) { *storage = *mStorage; mStorage = storage; diff --git a/src/app/AttributePathExpandIterator.cpp b/src/app/AttributePathExpandIterator.cpp index 0d893c5886a98a..235d45185a2dee 100644 --- a/src/app/AttributePathExpandIterator.cpp +++ b/src/app/AttributePathExpandIterator.cpp @@ -205,7 +205,7 @@ bool AttributePathExpandIterator::Next() // Return true will skip the increment of mClusterIndex, mEndpointIndex and mpClusterInfo. return true; } - else if (mGlobalAttributeIndex < mGlobalAttributeEndIndex) + if (mGlobalAttributeIndex < mGlobalAttributeEndIndex) { // Return a path pointing to the next global attribute. mOutputPath.mAttributeId = GlobalAttributesNotInMetadata[mGlobalAttributeIndex]; diff --git a/src/app/ChunkedWriteCallback.cpp b/src/app/ChunkedWriteCallback.cpp index af5215627b0b26..ffef2641ed1653 100644 --- a/src/app/ChunkedWriteCallback.cpp +++ b/src/app/ChunkedWriteCallback.cpp @@ -38,11 +38,9 @@ void ChunkedWriteCallback::OnResponse(const WriteClient * apWriteClient, const C } return; } - else - { - // This is a response to another attribute write. Report the final result of last attribute write. - callback->OnResponse(apWriteClient, mLastAttributePath.Value(), mAttributeStatus); - } + + // This is a response to another attribute write. Report the final result of last attribute write. + callback->OnResponse(apWriteClient, mLastAttributePath.Value(), mAttributeStatus); } // This is the first report for a new attribute. We assume it will never be a list item operation. diff --git a/src/app/CommandHandler.cpp b/src/app/CommandHandler.cpp index 56f60e1fbd9d1e..0532f0852f6b0b 100644 --- a/src/app/CommandHandler.cpp +++ b/src/app/CommandHandler.cpp @@ -546,10 +546,8 @@ TLV::TLVWriter * CommandHandler::GetCommandDataIBTLVWriter() { return nullptr; } - else - { - return mInvokeResponseBuilder.GetInvokeResponses().GetInvokeResponse().GetCommand().GetWriter(); - } + + return mInvokeResponseBuilder.GetInvokeResponses().GetInvokeResponse().GetCommand().GetWriter(); } FabricIndex CommandHandler::GetAccessingFabricIndex() const diff --git a/src/app/CommandSender.cpp b/src/app/CommandSender.cpp index 05b183d59211e1..24c97e3eb8b69c 100644 --- a/src/app/CommandSender.cpp +++ b/src/app/CommandSender.cpp @@ -372,10 +372,8 @@ TLV::TLVWriter * CommandSender::GetCommandDataIBTLVWriter() { return nullptr; } - else - { - return mInvokeRequestBuilder.GetInvokeRequests().GetCommandData().GetWriter(); - } + + return mInvokeRequestBuilder.GetInvokeRequests().GetCommandData().GetWriter(); } CHIP_ERROR CommandSender::HandleTimedStatus(const PayloadHeader & aPayloadHeader, System::PacketBufferHandle && aPayload) diff --git a/src/app/EventManagement.cpp b/src/app/EventManagement.cpp index a48d790f01d631..1adb330321a2d9 100644 --- a/src/app/EventManagement.cpp +++ b/src/app/EventManagement.cpp @@ -399,7 +399,7 @@ CHIP_ERROR EventManagement::CopyAndAdjustDeltaTime(const TLVReader & aReader, si // Does not go on the wire. return CHIP_NO_ERROR; } - else if ((aReader.GetTag() == TLV::ContextTag(to_underlying(EventDataIB::Tag::kSystemTimestamp))) && !(ctx->mpContext->mFirst)) + if ((aReader.GetTag() == TLV::ContextTag(to_underlying(EventDataIB::Tag::kSystemTimestamp))) && !(ctx->mpContext->mFirst)) { return ctx->mpWriter->Put(TLV::ContextTag(to_underlying(EventDataIB::Tag::kDeltaSystemTimestamp)), ctx->mpContext->mCurrentTime.mValue - ctx->mpContext->mPreviousTime.mValue); @@ -501,12 +501,10 @@ CHIP_ERROR EventManagement::LogEventPrivate(EventLoggingDelegate * apDelegate, c { break; } - else - { - buffer = buffer->GetNextCircularEventBuffer(); - assert(buffer != nullptr); - // code guarantees that every PriorityLevel has a buffer destination. - } + + buffer = buffer->GetNextCircularEventBuffer(); + assert(buffer != nullptr); + // code guarantees that every PriorityLevel has a buffer destination. } mBytesWritten += writer.GetLengthWritten(); diff --git a/src/app/ReadClient.cpp b/src/app/ReadClient.cpp index 0595d9bb1e1674..4966a71c93d131 100644 --- a/src/app/ReadClient.cpp +++ b/src/app/ReadClient.cpp @@ -904,12 +904,11 @@ bool ReadClient::ResubscribeIfNeeded() ChipLogProgress(DataManagement, "Fail to resubscribe with error %" CHIP_ERROR_FORMAT, err.Format()); return false; } - else - { - ChipLogProgress(DataManagement, - "Will try to Resubscribe to %02x:" ChipLogFormatX64 " at retry index %" PRIu32 " after %" PRIu32 "ms", - mFabricIndex, ChipLogValueX64(mPeerNodeId), mNumRetries, intervalMsec); - } + + ChipLogProgress(DataManagement, + "Will try to Resubscribe to %02x:" ChipLogFormatX64 " at retry index %" PRIu32 " after %" PRIu32 "ms", + mFabricIndex, ChipLogValueX64(mPeerNodeId), mNumRetries, intervalMsec); + return true; } diff --git a/src/app/WriteClient.cpp b/src/app/WriteClient.cpp index 2a162a5291b079..e8f3490b896142 100644 --- a/src/app/WriteClient.cpp +++ b/src/app/WriteClient.cpp @@ -322,10 +322,8 @@ CHIP_ERROR WriteClient::PutPreencodedAttribute(const ConcreteDataAttributePath & } return err; } - else // We are writing a non-list attribute, or we are writing a single element of a list. - { - return PutSinglePreencodedAttributeWritePayload(attributePath, data); - } + // We are writing a non-list attribute, or we are writing a single element of a list. + return PutSinglePreencodedAttributeWritePayload(attributePath, data); } const char * WriteClient::GetStateStr() const diff --git a/src/app/WriteClient.h b/src/app/WriteClient.h index 92b6e98d7f9793..eec72a5f12f0ab 100644 --- a/src/app/WriteClient.h +++ b/src/app/WriteClient.h @@ -196,10 +196,8 @@ class WriteClient : public Messaging::ExchangeDelegate attributePath.mClusterId, attributePath.mAttributeId, aDataVersion), value); } - else - { - return EncodeAttribute(attributePath, value.Value()); - } + + return EncodeAttribute(attributePath, value.Value()); } /** diff --git a/src/app/data-model/DecodableList.h b/src/app/data-model/DecodableList.h index a620f0ad36d7b9..d06332ab84f8a5 100644 --- a/src/app/data-model/DecodableList.h +++ b/src/app/data-model/DecodableList.h @@ -134,10 +134,8 @@ class DecodableList { return CHIP_NO_ERROR; } - else - { - return mStatus; - } + + return mStatus; } private: @@ -194,10 +192,8 @@ class DecodableList *size = 0; return CHIP_NO_ERROR; } - else - { - return mReader.CountRemainingInContainer(size); - } + + return mReader.CountRemainingInContainer(size); } CHIP_ERROR Decode(TLV::TLVReader & reader) diff --git a/src/app/reporting/Engine.cpp b/src/app/reporting/Engine.cpp index 1e4f7eb9942404..557f6f185ae5d7 100644 --- a/src/app/reporting/Engine.cpp +++ b/src/app/reporting/Engine.cpp @@ -763,10 +763,9 @@ CHIP_ERROR Engine::ScheduleEventDelivery(ConcreteEventPath & aPath, uint32_t aBy ChipLogDetail(DataManagement, "urgent event schedule run"); return ScheduleRun(); } - else - { - return ScheduleBufferPressureEventDelivery(aBytesWritten); - } + + return ScheduleBufferPressureEventDelivery(aBytesWritten); + return CHIP_NO_ERROR; } diff --git a/src/app/server/Server.h b/src/app/server/Server.h index e108629c87f694..0b717ce7cca056 100644 --- a/src/app/server/Server.h +++ b/src/app/server/Server.h @@ -122,11 +122,9 @@ class Server { return CHIP_ERROR_INVALID_ARGUMENT; } - else - { - // When size is zero, let's give a non-nullptr to the KVS backend - buffer = &emptyPlaceholder; - } + + // When size is zero, let's give a non-nullptr to the KVS backend + buffer = &emptyPlaceholder; } size_t bytesRead = 0; diff --git a/src/app/tests/suites/pics/PICSBooleanExpressionParser.cpp b/src/app/tests/suites/pics/PICSBooleanExpressionParser.cpp index 7de152f876313d..c8df5aff939f46 100644 --- a/src/app/tests/suites/pics/PICSBooleanExpressionParser.cpp +++ b/src/app/tests/suites/pics/PICSBooleanExpressionParser.cpp @@ -115,17 +115,15 @@ bool PICSBooleanExpressionParser::EvaluateExpression(std::vector & bool rightExpr = EvaluateExpression(tokens, PICS, index); return leftExpr && rightExpr; } - else if (token == "||") + if (token == "||") { index++; bool rightExpr = EvaluateExpression(tokens, PICS, index); return leftExpr || rightExpr; } - else - { - ChipLogError(chipTool, "Unknown token: '%s'", token.c_str()); - chipDie(); - } + + ChipLogError(chipTool, "Unknown token: '%s'", token.c_str()); + chipDie(); } bool PICSBooleanExpressionParser::EvaluateSubExpression(std::vector & tokens, std::map & PICS, @@ -145,23 +143,21 @@ bool PICSBooleanExpressionParser::EvaluateSubExpression(std::vector index++; return expr; } - else if (token == "!") + if (token == "!") { index++; bool expr = EvaluateSubExpression(tokens, PICS, index); return !expr; } - else - { - index++; - if (PICS.find(token) == PICS.end()) - { - // By default, let's consider that if a PICS item is not defined, it is |false|. - // It allows to create a file that only contains enabled features. - return false; - } + index++; - return PICS[token]; + if (PICS.find(token) == PICS.end()) + { + // By default, let's consider that if a PICS item is not defined, it is |false|. + // It allows to create a file that only contains enabled features. + return false; } + + return PICS[token]; } diff --git a/src/app/util/af-event.cpp b/src/app/util/af-event.cpp index 59b69ed18bacee..0ced20d5af59aa 100644 --- a/src/app/util/af-event.cpp +++ b/src/app/util/af-event.cpp @@ -195,10 +195,8 @@ EmberStatus emberAfEventControlSetDelayQS(EmberEventControl * control, uint32_t { return emberEventControlSetDelayMS(control, delayQs << 8); } - else - { - return EMBER_BAD_ARGUMENT; - } + + return EMBER_BAD_ARGUMENT; } EmberStatus emberAfEventControlSetDelayMinutes(EmberEventControl * control, uint16_t delayM) @@ -207,10 +205,8 @@ EmberStatus emberAfEventControlSetDelayMinutes(EmberEventControl * control, uint { return emberEventControlSetDelayMS(control, static_cast(delayM) << 16); } - else - { - return EMBER_BAD_ARGUMENT; - } + + return EMBER_BAD_ARGUMENT; } EmberStatus emberAfScheduleTickExtended(EndpointId endpoint, ClusterId clusterId, bool isClient, uint32_t delayMs, diff --git a/src/app/util/attribute-storage.cpp b/src/app/util/attribute-storage.cpp index bd439ad25823f3..8340282cedf51a 100644 --- a/src/app/util/attribute-storage.cpp +++ b/src/app/util/attribute-storage.cpp @@ -370,19 +370,17 @@ EmberAfStatus emAfClusterPreAttributeChangedCallback(const app::ConcreteAttribut { return EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE; } - else + + EmberAfStatus status = EMBER_ZCL_STATUS_SUCCESS; + // Casting and calling a function pointer on the same line results in ignoring the return + // of the call on gcc-arm-none-eabi-9-2019-q4-major + EmberAfClusterPreAttributeChangedCallback f = (EmberAfClusterPreAttributeChangedCallback)( + emberAfFindClusterFunction(cluster, CLUSTER_MASK_PRE_ATTRIBUTE_CHANGED_FUNCTION)); + if (f != NULL) { - EmberAfStatus status = EMBER_ZCL_STATUS_SUCCESS; - // Casting and calling a function pointer on the same line results in ignoring the return - // of the call on gcc-arm-none-eabi-9-2019-q4-major - EmberAfClusterPreAttributeChangedCallback f = (EmberAfClusterPreAttributeChangedCallback)( - emberAfFindClusterFunction(cluster, CLUSTER_MASK_PRE_ATTRIBUTE_CHANGED_FUNCTION)); - if (f != NULL) - { - status = f(attributePath, attributeType, size, value); - } - return status; + status = f(attributePath, attributeType, size, value); } + return status; } static void initializeEndpoint(EmberAfDefinedEndpoint * definedEndpoint) @@ -623,17 +621,15 @@ EmberAfStatus emAfReadOrWriteAttribute(EmberAfAttributeSearchRecord * attRecord, : emberAfExternalAttributeReadCallback(attRecord->endpoint, attRecord->clusterId, am, buffer, emberAfAttributeSize(am))); } + + // Internal storage is only supported for fixed endpoints + if (!isDynamicEndpoint) + { + return typeSensitiveMemCopy(attRecord->clusterId, dst, src, am, write, readLength); + } else { - // Internal storage is only supported for fixed endpoints - if (!isDynamicEndpoint) - { - return typeSensitiveMemCopy(attRecord->clusterId, dst, src, am, write, readLength); - } - else - { - return EMBER_ZCL_STATUS_FAILURE; - } + return EMBER_ZCL_STATUS_FAILURE; } } } @@ -750,10 +746,8 @@ bool emberAfContainsServerFromIndex(uint16_t index, ClusterId clusterId) { return false; } - else - { - return emberAfFindClusterInType(emAfEndpoints[index].endpointType, clusterId, CLUSTER_MASK_SERVER); - } + + return emberAfFindClusterInType(emAfEndpoints[index].endpointType, clusterId, CLUSTER_MASK_SERVER); } namespace chip { @@ -797,10 +791,8 @@ const EmberAfCluster * emberAfFindCluster(EndpointId endpoint, ClusterId cluster { return NULL; } - else - { - return emberAfFindClusterInType(emAfEndpoints[ep].endpointType, clusterId, mask); - } + + return emberAfFindClusterInType(emAfEndpoints[ep].endpointType, clusterId, mask); } // Returns cluster within the endpoint; Does not ignore disabled endpoints diff --git a/src/app/util/binding-table.cpp b/src/app/util/binding-table.cpp index ea15e94e68b497..d92df75454461a 100644 --- a/src/app/util/binding-table.cpp +++ b/src/app/util/binding-table.cpp @@ -64,23 +64,21 @@ CHIP_ERROR BindingTable::Add(const EmberBindingTableEntry & entry) mBindingTable[newIndex].type = EMBER_UNUSED_BINDING; return error; } + + if (mTail == kNextNullIndex) + { + mTail = newIndex; + mHead = newIndex; + } else { - if (mTail == kNextNullIndex) - { - mTail = newIndex; - mHead = newIndex; - } - else - { - mNextIndex[mTail] = newIndex; - mNextIndex[newIndex] = kNextNullIndex; - mTail = newIndex; - } - - mSize++; - return CHIP_NO_ERROR; + mNextIndex[mTail] = newIndex; + mNextIndex[newIndex] = kNextNullIndex; + mTail = newIndex; } + + mSize++; + return CHIP_NO_ERROR; } const EmberBindingTableEntry & BindingTable::GetAt(uint8_t index) diff --git a/src/app/util/ember-compatibility-functions.cpp b/src/app/util/ember-compatibility-functions.cpp index 1627d80c0a94fa..f9a5090fd52548 100644 --- a/src/app/util/ember-compatibility-functions.cpp +++ b/src/app/util/ember-compatibility-functions.cpp @@ -482,10 +482,8 @@ CHIP_ERROR ReadSingleClusterData(const SubjectDescriptor & aSubjectDescriptor, b { return CHIP_NO_ERROR; } - else - { - return SendFailureStatus(aPath, aAttributeReports, Protocols::InteractionModel::Status::UnsupportedAccess, nullptr); - } + + return SendFailureStatus(aPath, aAttributeReports, Protocols::InteractionModel::Status::UnsupportedAccess, nullptr); } } @@ -969,10 +967,8 @@ bool IsClusterDataVersionEqual(const ConcreteClusterPath & aConcreteClusterPath, aConcreteClusterPath.mEndpointId, ChipLogValueMEI(aConcreteClusterPath.mClusterId)); return false; } - else - { - return (*(version)) == aRequiredVersion; - } + + return (*(version)) == aRequiredVersion; } } // namespace app diff --git a/src/app/util/message.cpp b/src/app/util/message.cpp index cd59151cecbf5d..562211966d5938 100644 --- a/src/app/util/message.cpp +++ b/src/app/util/message.cpp @@ -102,10 +102,8 @@ uint16_t * emberAfPutInt16uInResp(uint16_t value) { return (uint16_t *) low; } - else - { - return NULL; - } + + return NULL; } uint32_t * emberAfPutInt32uInResp(uint32_t value) @@ -119,10 +117,8 @@ uint32_t * emberAfPutInt32uInResp(uint32_t value) { return (uint32_t *) a; } - else - { - return NULL; - } + + return NULL; } uint32_t * emberAfPutInt24uInResp(uint32_t value) @@ -135,10 +131,8 @@ uint32_t * emberAfPutInt24uInResp(uint32_t value) { return (uint32_t *) a; } - else - { - return NULL; - } + + return NULL; } uint8_t * emberAfPutBlockInResp(const uint8_t * data, uint16_t length) @@ -149,10 +143,8 @@ uint8_t * emberAfPutBlockInResp(const uint8_t * data, uint16_t length) appResponseLength = static_cast(appResponseLength + length); return &appResponseData[appResponseLength - length]; } - else - { - return NULL; - } + + return NULL; } uint8_t * emberAfPutStringInResp(const uint8_t * buffer) @@ -172,10 +164,8 @@ uint8_t * emberAfPutDateInResp(EmberAfDate * value) { return a; } - else - { - return NULL; - } + + return NULL; } void emberAfPutInt16sInResp(int16_t value) diff --git a/src/app/util/util.cpp b/src/app/util/util.cpp index d0bfa582928ccb..8a1149159692bf 100644 --- a/src/app/util/util.cpp +++ b/src/app/util/util.cpp @@ -316,10 +316,8 @@ uint16_t emberAfGetMfgCodeFromCurrentCommand(void) { return emberAfCurrentCommand()->mfgCode; } - else - { - return EMBER_AF_NULL_MANUFACTURER_CODE; - } + + return EMBER_AF_NULL_MANUFACTURER_CODE; } uint8_t emberAfNextSequence(void) @@ -365,7 +363,7 @@ void emAfApplyRetryOverride(EmberApsOption * options) { return; } - else if (emberAfApsRetryOverride == EMBER_AF_RETRY_OVERRIDE_SET) + if (emberAfApsRetryOverride == EMBER_AF_RETRY_OVERRIDE_SET) { *options |= EMBER_APS_OPTION_RETRY; } @@ -399,7 +397,7 @@ void emAfApplyDisableDefaultResponse(uint8_t * frame_control) { return; } - else if (emAfDisableDefaultResponse == EMBER_AF_DISABLE_DEFAULT_RESPONSE_ONE_SHOT) + if (emAfDisableDefaultResponse == EMBER_AF_DISABLE_DEFAULT_RESPONSE_ONE_SHOT) { emAfDisableDefaultResponse = emAfSavedDisableDefaultResponseVale; *frame_control |= ZCL_DISABLE_DEFAULT_RESPONSE_MASK; @@ -551,7 +549,7 @@ int8_t emberAfCompareValues(const uint8_t * val1, const uint8_t * val2, uint16_t { return 1; } - else if (accum1 < accum2) + if (accum1 < accum2) { return -1; } @@ -576,7 +574,7 @@ int8_t emberAfCompareValues(const uint8_t * val1, const uint8_t * val2, uint16_t { return 1; } - else if (k > j) + if (k > j) { return -1; } diff --git a/src/controller/AutoCommissioner.cpp b/src/controller/AutoCommissioner.cpp index 5947a8d3220a59..d8c3b30e1a1206 100644 --- a/src/controller/AutoCommissioner.cpp +++ b/src/controller/AutoCommissioner.cpp @@ -142,8 +142,8 @@ CommissioningStage AutoCommissioner::GetNextCommissioningStage(CommissioningStag { return CommissioningStage::kWiFiNetworkSetup; } - else if (mParams.GetThreadOperationalDataset().HasValue() && - mDeviceCommissioningInfo.network.thread.endpoint != kInvalidEndpointId) + if (mParams.GetThreadOperationalDataset().HasValue() && + mDeviceCommissioningInfo.network.thread.endpoint != kInvalidEndpointId) { return CommissioningStage::kThreadNetworkSetup; } diff --git a/src/controller/CHIPCluster.h b/src/controller/CHIPCluster.h index 42706a1f9576e1..5dbbb8aaa91204 100644 --- a/src/controller/CHIPCluster.h +++ b/src/controller/CHIPCluster.h @@ -150,12 +150,10 @@ class DLL_EXPORT ClusterBase requestData, onSuccessCb, onFailureCb, aTimedWriteTimeoutMs, onDoneCb, aDataVersion); } - else - { - return chip::Controller::WriteAttribute(mDevice->GetSecureSession().Value(), mEndpoint, clusterId, - attributeId, requestData, onSuccessCb, onFailureCb, - aTimedWriteTimeoutMs, onDoneCb, aDataVersion); - } + + return chip::Controller::WriteAttribute(mDevice->GetSecureSession().Value(), mEndpoint, clusterId, attributeId, + requestData, onSuccessCb, onFailureCb, aTimedWriteTimeoutMs, onDoneCb, + aDataVersion); } template diff --git a/src/controller/CHIPCommissionableNodeController.cpp b/src/controller/CHIPCommissionableNodeController.cpp index 6081cf92d0f500..59b8ecc559fa03 100644 --- a/src/controller/CHIPCommissionableNodeController.cpp +++ b/src/controller/CHIPCommissionableNodeController.cpp @@ -40,13 +40,11 @@ CHIP_ERROR CommissionableNodeController::DiscoverCommissioners(Dnssd::DiscoveryF mDNSResolver.SetCommissioningDelegate(this); return mDNSResolver.FindCommissioners(discoveryFilter); } - else - { + #if CONFIG_DEVICE_LAYER - ReturnErrorOnFailure(mResolver->Init(DeviceLayer::UDPEndPointManager())); + ReturnErrorOnFailure(mResolver->Init(DeviceLayer::UDPEndPointManager())); #endif - return mResolver->FindCommissioners(discoveryFilter); - } + return mResolver->FindCommissioners(discoveryFilter); } const Dnssd::DiscoveredNodeData * CommissionableNodeController::GetDiscoveredCommissioner(int idx) diff --git a/src/controller/CHIPDeviceController.cpp b/src/controller/CHIPDeviceController.cpp index 161d56d3dd4b28..0d66b3ec6f6e59 100644 --- a/src/controller/CHIPDeviceController.cpp +++ b/src/controller/CHIPDeviceController.cpp @@ -1112,17 +1112,15 @@ void DeviceCommissioner::OnDeviceAttestationInformationVerification(void * conte commissioner->CommissioningStageComplete(CHIP_ERROR_NOT_IMPLEMENTED, report); return; } - else - { - ChipLogError(Controller, - "Failed in verifying 'Attestation Information' command received from the device: err %hu. Look at " - "AttestationVerificationResult enum to understand the errors", - static_cast(result)); - // Go look at AttestationVerificationResult enum in src/credentials/attestation_verifier/DeviceAttestationVerifier.h to - // understand the errors. - commissioner->CommissioningStageComplete(CHIP_ERROR_INTERNAL, report); - return; - } + + ChipLogError(Controller, + "Failed in verifying 'Attestation Information' command received from the device: err %hu. Look at " + "AttestationVerificationResult enum to understand the errors", + static_cast(result)); + // Go look at AttestationVerificationResult enum in src/credentials/attestation_verifier/DeviceAttestationVerifier.h to + // understand the errors. + commissioner->CommissioningStageComplete(CHIP_ERROR_INTERNAL, report); + return; } ChipLogProgress(Controller, "Successfully validated 'Attestation Information' command received from the device."); diff --git a/src/credentials/CHIPCert.cpp b/src/credentials/CHIPCert.cpp index 130ede10847afb..4b92d0e9e79686 100644 --- a/src/credentials/CHIPCert.cpp +++ b/src/credentials/CHIPCert.cpp @@ -526,10 +526,8 @@ bool ChipRDN::IsEqual(const ChipRDN & other) const { return mChipVal == other.mChipVal; } - else - { - return mString.data_equal(other.mString); - } + + return mString.data_equal(other.mString); } ChipDN::ChipDN() {} diff --git a/src/credentials/GroupDataProviderImpl.cpp b/src/credentials/GroupDataProviderImpl.cpp index 99d49af2634b19..5dc549fb5b7e89 100644 --- a/src/credentials/GroupDataProviderImpl.cpp +++ b/src/credentials/GroupDataProviderImpl.cpp @@ -929,13 +929,11 @@ CHIP_ERROR GroupDataProviderImpl::SetGroupInfo(chip::FabricIndex fabric_index, c group.SetName(info.name); return group.Save(mStorage); } - else - { - // New group_id - group.group_id = info.group_id; - group.SetName(info.name); - return SetGroupInfoAt(fabric_index, fabric.group_count, group); - } + + // New group_id + group.group_id = info.group_id; + group.SetName(info.name); + return SetGroupInfoAt(fabric_index, fabric.group_count, group); } CHIP_ERROR GroupDataProviderImpl::GetGroupInfo(chip::FabricIndex fabric_index, chip::GroupId group_id, GroupInfo & info) @@ -985,7 +983,7 @@ CHIP_ERROR GroupDataProviderImpl::SetGroupInfoAt(chip::FabricIndex fabric_index, // Update existing entry return group.Save(mStorage); } - else if (index < fabric.group_count) + if (index < fabric.group_count) { // Replace existing entry with a new group GroupData old_group; @@ -1631,16 +1629,14 @@ CHIP_ERROR GroupDataProviderImpl::SetKeySet(chip::FabricIndex fabric_index, cons // Update existing keyset info, keep next return keyset.Save(mStorage); } - else - { - // New keyset, insert first - keyset.next = fabric.first_keyset; - ReturnErrorOnFailure(keyset.Save(mStorage)); - // Update fabric - fabric.keyset_count++; - fabric.first_keyset = in_keyset.keyset_id; - return fabric.Save(mStorage); - } + + // New keyset, insert first + keyset.next = fabric.first_keyset; + ReturnErrorOnFailure(keyset.Save(mStorage)); + // Update fabric + fabric.keyset_count++; + fabric.first_keyset = in_keyset.keyset_id; + return fabric.Save(mStorage); } CHIP_ERROR GroupDataProviderImpl::GetKeySet(chip::FabricIndex fabric_index, uint16_t target_id, KeySet & out_keyset) diff --git a/src/crypto/CHIPCryptoPAL.cpp b/src/crypto/CHIPCryptoPAL.cpp index 84f355f6c55af2..738614f52f3d77 100644 --- a/src/crypto/CHIPCryptoPAL.cpp +++ b/src/crypto/CHIPCryptoPAL.cpp @@ -67,11 +67,9 @@ CHIP_ERROR ReadDerLength(Reader & reader, uint8_t & length) // We only support lengths of 0..255 over 2 bytes return CHIP_ERROR_INVALID_ARGUMENT; } - else - { - // Next byte has length 0..255. - return reader.Read8(&length).StatusCode(); - } + + // Next byte has length 0..255. + return reader.Read8(&length).StatusCode(); } /** diff --git a/src/inet/TCPEndPointImplSockets.cpp b/src/inet/TCPEndPointImplSockets.cpp index f542d6d46fd3fd..c34603e2099a46 100644 --- a/src/inet/TCPEndPointImplSockets.cpp +++ b/src/inet/TCPEndPointImplSockets.cpp @@ -1030,10 +1030,8 @@ void TCPEndPointImplSockets::HandleIncomingConnection() { return; } - else - { - err = CHIP_ERROR_POSIX(errno); - } + + err = CHIP_ERROR_POSIX(errno); } // If there's no callback available, fail with an error. diff --git a/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp b/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp index f98d1439e97d5b..ad410e4f9dea6d 100644 --- a/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp +++ b/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp @@ -63,7 +63,7 @@ IpScore ScoreIpAddress(const Inet::IPAddress & ip, Inet::InterfaceId interfaceId { return IpScore::kGlobalUnicastWithSharedPrefix; } - else if (ip.IsIPv6ULA()) + if (ip.IsIPv6ULA()) { return IpScore::kUniqueLocalWithSharedPrefix; } @@ -85,10 +85,8 @@ IpScore ScoreIpAddress(const Inet::IPAddress & ip, Inet::InterfaceId interfaceId return IpScore::kOtherIpv6; } - else - { - return IpScore::kIpv4; - } + + return IpScore::kIpv4; } } // namespace @@ -142,7 +140,7 @@ System::Clock::Timeout NodeLookupHandle::NextEventTimeout(System::Clock::Timesta { return mRequest.GetMinLookupTime() - elapsed; } - else if (elapsed < mRequest.GetMaxLookupTime()) + if (elapsed < mRequest.GetMaxLookupTime()) { return mRequest.GetMaxLookupTime() - elapsed; } diff --git a/src/lib/address_resolve/tool.cpp b/src/lib/address_resolve/tool.cpp index 1d852d280e7d46..9a87d1f2c63ec6 100644 --- a/src/lib/address_resolve/tool.cpp +++ b/src/lib/address_resolve/tool.cpp @@ -141,7 +141,7 @@ extern "C" int main(int argc, const char ** argv) ChipLogError(NotSpecified, "Please specify a command, or 'help' for help."); return -1; } - else if (strcasecmp(argv[1], "help") == 0 || strcasecmp(argv[1], "--help") == 0 || strcasecmp(argv[1], "-h") == 0) + if (strcasecmp(argv[1], "help") == 0 || strcasecmp(argv[1], "--help") == 0 || strcasecmp(argv[1], "-h") == 0) { fputs(sHelp, stdout); return 0; @@ -158,9 +158,7 @@ extern "C" int main(int argc, const char ** argv) { return Cmd_Node(argc - 2, argv + 2) ? 0 : 1; } - else - { - ChipLogError(NotSpecified, "Unrecognized command: %s", argv[1]); - return 1; - } + + ChipLogError(NotSpecified, "Unrecognized command: %s", argv[1]); + return 1; } diff --git a/src/lib/asn1/ASN1Reader.cpp b/src/lib/asn1/ASN1Reader.cpp index 309af285b55e1e..a6aaec2548b3a8 100644 --- a/src/lib/asn1/ASN1Reader.cpp +++ b/src/lib/asn1/ASN1Reader.cpp @@ -342,8 +342,7 @@ CHIP_ERROR DumpASN1(ASN1Reader & asn1Parser, const char * prefix, const char * i nestLevel--; continue; } - else - break; + break; } printf("ASN1Reader::Next() failed: %" CHIP_ERROR_FORMAT "\n", err.Format()); return err; diff --git a/src/lib/asn1/ASN1Writer.cpp b/src/lib/asn1/ASN1Writer.cpp index d899805a004f17..6b3d313e825456 100644 --- a/src/lib/asn1/ASN1Writer.cpp +++ b/src/lib/asn1/ASN1Writer.cpp @@ -282,8 +282,7 @@ CHIP_ERROR ASN1Writer::PutTime(const ASN1UniversalTime & val) // if (val.Year >= 2050) return PutValue(kASN1TagClass_Universal, kASN1UniversalTag_GeneralizedTime, false, buf, 15); - else - return PutValue(kASN1TagClass_Universal, kASN1UniversalTag_UTCTime, false, buf + 2, 13); + return PutValue(kASN1TagClass_Universal, kASN1UniversalTag_UTCTime, false, buf + 2, 13); } CHIP_ERROR ASN1Writer::PutNull() diff --git a/src/lib/dnssd/ActiveResolveAttempts.cpp b/src/lib/dnssd/ActiveResolveAttempts.cpp index 9137b1bdb169b4..c645c0ed98fc22 100644 --- a/src/lib/dnssd/ActiveResolveAttempts.cpp +++ b/src/lib/dnssd/ActiveResolveAttempts.cpp @@ -110,7 +110,7 @@ void ActiveResolveAttempts::MarkPending(const ScheduledAttempt & attempt) entryToUse = entry; continue; } - else if (entryToUse->attempt.IsEmpty()) + if (entryToUse->attempt.IsEmpty()) { continue; } diff --git a/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp index 1ec47d9cd7123c..ee842dc6a577c0 100644 --- a/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp +++ b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp @@ -627,10 +627,8 @@ FullQName AdvertiserMinMdns::GetOperationalTxtEntries(const OperationalAdvertisi { return allocator->AllocateQNameFromArray(mEmptyTextEntries, 1); } - else - { - return allocator->AllocateQNameFromArray(txtFields, numTxtFields); - } + + return allocator->AllocateQNameFromArray(txtFields, numTxtFields); } FullQName AdvertiserMinMdns::GetCommissioningTxtEntries(const CommissionAdvertisingParameters & params) @@ -707,10 +705,8 @@ FullQName AdvertiserMinMdns::GetCommissioningTxtEntries(const CommissionAdvertis { return allocator->AllocateQNameFromArray(mEmptyTextEntries, 1); } - else - { - return allocator->AllocateQNameFromArray(txtFields, numTxtFields); - } + + return allocator->AllocateQNameFromArray(txtFields, numTxtFields); } bool AdvertiserMinMdns::ShouldAdvertiseOn(const chip::Inet::InterfaceId id, const chip::Inet::IPAddress & addr) diff --git a/src/lib/dnssd/DnssdCache.h b/src/lib/dnssd/DnssdCache.h index bdc3d1a69bdaa8..bdbb23433ef36a 100644 --- a/src/lib/dnssd/DnssdCache.h +++ b/src/lib/dnssd/DnssdCache.h @@ -160,8 +160,7 @@ class DnssdCache MarkEntryUnused(entry); break; // return nullptr } - else - return &entry; + return &entry; } if (entry.mPeerId != nullPeerId && entry.mExpiryTime < current_time) { diff --git a/src/lib/dnssd/MinimalMdnsServer.h b/src/lib/dnssd/MinimalMdnsServer.h index e956fa017d9cf7..9b1507002f748a 100644 --- a/src/lib/dnssd/MinimalMdnsServer.h +++ b/src/lib/dnssd/MinimalMdnsServer.h @@ -84,10 +84,8 @@ class GlobalMinimalMdnsServer : public mdns::Minimal::ServerDelegate { return *Instance().mReplacementServer; } - else - { - return Instance().mServer; - } + + return Instance().mServer; } /// Calls Server().Listen() on all available interfaces diff --git a/src/lib/dnssd/Resolver.h b/src/lib/dnssd/Resolver.h index 8db57e3d6133a8..c09b0f36d1a70b 100644 --- a/src/lib/dnssd/Resolver.h +++ b/src/lib/dnssd/Resolver.h @@ -273,10 +273,8 @@ struct DiscoveryFilter { return (instanceName != nullptr) && (other.instanceName != nullptr) && (strcmp(instanceName, other.instanceName) == 0); } - else - { - return code == other.code; - } + + return code == other.code; } }; enum class DiscoveryType diff --git a/src/lib/support/BytesCircularBuffer.cpp b/src/lib/support/BytesCircularBuffer.cpp index e25d6b640891ad..b0eba364308dfb 100644 --- a/src/lib/support/BytesCircularBuffer.cpp +++ b/src/lib/support/BytesCircularBuffer.cpp @@ -80,10 +80,8 @@ size_t BytesCircularBuffer::StorageUsed() const { return mDataEnd - mDataStart; } - else - { - return mCapacity + mDataEnd - mDataStart; - } + + return mCapacity + mDataEnd - mDataStart; } CHIP_ERROR BytesCircularBuffer::Push(const ByteSpan & payload) diff --git a/src/lib/support/BytesToHex.cpp b/src/lib/support/BytesToHex.cpp index 21b8b9a123bc8a..bb9681532d6f8f 100644 --- a/src/lib/support/BytesToHex.cpp +++ b/src/lib/support/BytesToHex.cpp @@ -34,10 +34,8 @@ char NibbleToHex(uint8_t nibble, bool uppercase) { return static_cast((x - 10) + (uppercase ? 'A' : 'a')); } - else - { - return static_cast(x + '0'); - } + + return static_cast(x + '0'); } CHIP_ERROR MakeU8FromAsciiHex(const char * src, const size_t srcLen, uint8_t * val, BitFlags flags) @@ -104,7 +102,7 @@ CHIP_ERROR BytesToHex(const uint8_t * src_bytes, size_t src_size, char * dest_he { return CHIP_ERROR_INVALID_ARGUMENT; } - else if (src_size > ((SIZE_MAX - 1) / 2u)) + if (src_size > ((SIZE_MAX - 1) / 2u)) { // Output would overflow a size_t, let's bail out to avoid computation wraparounds below. // This condition will hit with slightly less than the very max, but is unlikely to diff --git a/src/lib/support/Pool.cpp b/src/lib/support/Pool.cpp index 77454ef052bff7..fe0a01143ed06c 100644 --- a/src/lib/support/Pool.cpp +++ b/src/lib/support/Pool.cpp @@ -50,10 +50,8 @@ void * StaticAllocatorBitmap::Allocate() IncreaseUsage(); return At(word * kBitChunkSize + offset); } - else - { - value = usage.load(std::memory_order_relaxed); // if there is a race, update new usage - } + + value = usage.load(std::memory_order_relaxed); // if there is a race, update new usage } } } diff --git a/src/lib/support/Pool.h b/src/lib/support/Pool.h index a3750b7d4f960d..b311d4de73efd8 100644 --- a/src/lib/support/Pool.h +++ b/src/lib/support/Pool.h @@ -222,8 +222,7 @@ class BitMapObjectPool : public internal::StaticAllocatorBitmap, public internal T * element = static_cast(Allocate()); if (element != nullptr) return new (element) T(std::forward(args)...); - else - return nullptr; + return nullptr; } void ReleaseObject(T * element) diff --git a/src/lib/support/ThreadOperationalDataset.cpp b/src/lib/support/ThreadOperationalDataset.cpp index a30c6a82cd489f..59eaae1db0d4dd 100644 --- a/src/lib/support/ThreadOperationalDataset.cpp +++ b/src/lib/support/ThreadOperationalDataset.cpp @@ -498,8 +498,7 @@ const ThreadTLV * OperationalDataset::Locate(uint8_t aType) const { if (tlv->GetType() == aType) break; - else - tlv = tlv->GetNext(); + tlv = tlv->GetNext(); } assert(tlv < reinterpret_cast(&mData[sizeof(mData)])); diff --git a/src/lib/support/Variant.h b/src/lib/support/Variant.h index 1eb2c574038608..1752c21780fbaa 100644 --- a/src/lib/support/Variant.h +++ b/src/lib/support/Variant.h @@ -73,10 +73,8 @@ struct VariantCurry { return *reinterpret_cast(this_v) == *reinterpret_cast(that_v); } - else - { - return VariantCurry::Equal(type_t, that_v, this_v); - } + + return VariantCurry::Equal(type_t, that_v, this_v); } }; diff --git a/src/messaging/ExchangeContext.cpp b/src/messaging/ExchangeContext.cpp index 303dcbafcc3193..2da44602fe1aef 100644 --- a/src/messaging/ExchangeContext.cpp +++ b/src/messaging/ExchangeContext.cpp @@ -490,12 +490,10 @@ CHIP_ERROR ExchangeContext::HandleMessage(uint32_t messageCounter, const Payload { return mDelegate->OnMessageReceived(this, payloadHeader, std::move(msgBuf)); } - else - { - DefaultOnMessageReceived(this, payloadHeader.GetProtocolID(), payloadHeader.GetMessageType(), messageCounter, - std::move(msgBuf)); - return CHIP_NO_ERROR; - } + + DefaultOnMessageReceived(this, payloadHeader.GetProtocolID(), payloadHeader.GetMessageType(), messageCounter, + std::move(msgBuf)); + return CHIP_NO_ERROR; } void ExchangeContext::MessageHandled() diff --git a/src/messaging/ReliableMessageContext.cpp b/src/messaging/ReliableMessageContext.cpp index 6ee0a9882cd07f..ec4264d3742331 100644 --- a/src/messaging/ReliableMessageContext.cpp +++ b/src/messaging/ReliableMessageContext.cpp @@ -156,24 +156,22 @@ CHIP_ERROR ReliableMessageContext::HandleNeedsAckInner(uint32_t messageCounter, return err; } // Otherwise, the message IS NOT a duplicate. - else - { - if (IsAckPending()) - { - ChipLogDetail(ExchangeManager, - "Pending ack queue full; forcing tx of solitary ack for MessageCounter:" ChipLogFormatMessageCounter - " on exchange " ChipLogFormatExchange, - mPendingPeerAckMessageCounter, ChipLogValueExchange(GetExchangeContext())); - // Send the Ack for the currently pending Ack in a SecureChannel::StandaloneAck message. - ReturnErrorOnFailure(SendStandaloneAckMessage()); - } - // Replace the Pending ack message counter. - SetPendingPeerAckMessageCounter(messageCounter); - using namespace System::Clock::Literals; - mNextAckTime = System::SystemClock().GetMonotonicTimestamp() + CHIP_CONFIG_RMP_DEFAULT_ACK_TIMEOUT; - return CHIP_NO_ERROR; + if (IsAckPending()) + { + ChipLogDetail(ExchangeManager, + "Pending ack queue full; forcing tx of solitary ack for MessageCounter:" ChipLogFormatMessageCounter + " on exchange " ChipLogFormatExchange, + mPendingPeerAckMessageCounter, ChipLogValueExchange(GetExchangeContext())); + // Send the Ack for the currently pending Ack in a SecureChannel::StandaloneAck message. + ReturnErrorOnFailure(SendStandaloneAckMessage()); } + + // Replace the Pending ack message counter. + SetPendingPeerAckMessageCounter(messageCounter); + using namespace System::Clock::Literals; + mNextAckTime = System::SystemClock().GetMonotonicTimestamp() + CHIP_CONFIG_RMP_DEFAULT_ACK_TIMEOUT; + return CHIP_NO_ERROR; } CHIP_ERROR ReliableMessageContext::SendStandaloneAckMessage() diff --git a/src/platform/Linux/KeyValueStoreManagerImpl.cpp b/src/platform/Linux/KeyValueStoreManagerImpl.cpp index d9a7db6fbf3f71..6e1774759bcb42 100644 --- a/src/platform/Linux/KeyValueStoreManagerImpl.cpp +++ b/src/platform/Linux/KeyValueStoreManagerImpl.cpp @@ -52,11 +52,11 @@ CHIP_ERROR KeyValueStoreManagerImpl::_Get(const char * key, void * value, size_t { return CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND; } - else if ((err != CHIP_NO_ERROR) && (err != CHIP_ERROR_BUFFER_TOO_SMALL)) + if ((err != CHIP_NO_ERROR) && (err != CHIP_ERROR_BUFFER_TOO_SMALL)) { return err; } - else if (offset_bytes > read_size) + if (offset_bytes > read_size) { return CHIP_ERROR_INVALID_ARGUMENT; } diff --git a/src/platform/Linux/NetworkCommissioningThreadDriver.cpp b/src/platform/Linux/NetworkCommissioningThreadDriver.cpp index 2ba9c2099023d9..e8f079e1ae0e7e 100644 --- a/src/platform/Linux/NetworkCommissioningThreadDriver.cpp +++ b/src/platform/Linux/NetworkCommissioningThreadDriver.cpp @@ -98,7 +98,7 @@ Status LinuxThreadDriver::RemoveNetwork(ByteSpan networkId) { return Status::kNetworkNotFound; } - else if (mStagingNetwork.GetExtendedPanId(extpanid) != CHIP_NO_ERROR) + if (mStagingNetwork.GetExtendedPanId(extpanid) != CHIP_NO_ERROR) { return Status::kUnknownError; } @@ -116,7 +116,7 @@ Status LinuxThreadDriver::ReorderNetwork(ByteSpan networkId, uint8_t index) { return Status::kNetworkNotFound; } - else if (mStagingNetwork.GetExtendedPanId(extpanid) != CHIP_NO_ERROR) + if (mStagingNetwork.GetExtendedPanId(extpanid) != CHIP_NO_ERROR) { return Status::kUnknownError; } diff --git a/src/platform/Linux/ThreadStackManagerImpl.cpp b/src/platform/Linux/ThreadStackManagerImpl.cpp index 02d89ca6b293f4..96ca50f464c0bd 100644 --- a/src/platform/Linux/ThreadStackManagerImpl.cpp +++ b/src/platform/Linux/ThreadStackManagerImpl.cpp @@ -426,7 +426,7 @@ ConnectivityManager::ThreadDeviceType ThreadStackManagerImpl::_GetThreadDeviceTy { return ConnectivityManager::ThreadDeviceType::kThreadDeviceType_NotSupported; } - else if (strcmp(role.get(), kOpenthreadDeviceRoleChild) == 0) + if (strcmp(role.get(), kOpenthreadDeviceRoleChild) == 0) { std::unique_ptr linkMode(openthread_io_openthread_border_router_dup_link_mode(mProxy.get())); if (!linkMode) @@ -446,15 +446,13 @@ ConnectivityManager::ThreadDeviceType ThreadStackManagerImpl::_GetThreadDeviceTy } return type; } - else if (strcmp(role.get(), kOpenthreadDeviceRoleLeader) == 0 || strcmp(role.get(), kOpenthreadDeviceRoleRouter) == 0) + if (strcmp(role.get(), kOpenthreadDeviceRoleLeader) == 0 || strcmp(role.get(), kOpenthreadDeviceRoleRouter) == 0) { return ConnectivityManager::ThreadDeviceType::kThreadDeviceType_Router; } - else - { - ChipLogError(DeviceLayer, "Unknown Thread role: %s", role.get()); - return ConnectivityManager::ThreadDeviceType::kThreadDeviceType_NotSupported; - } + + ChipLogError(DeviceLayer, "Unknown Thread role: %s", role.get()); + return ConnectivityManager::ThreadDeviceType::kThreadDeviceType_NotSupported; } CHIP_ERROR ThreadStackManagerImpl::_SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType) diff --git a/src/protocols/secure_channel/MessageCounterManager.cpp b/src/protocols/secure_channel/MessageCounterManager.cpp index fe986b5c5f2a3a..cf9d9552422e72 100644 --- a/src/protocols/secure_channel/MessageCounterManager.cpp +++ b/src/protocols/secure_channel/MessageCounterManager.cpp @@ -95,7 +95,7 @@ CHIP_ERROR MessageCounterManager::OnMessageReceived(Messaging::ExchangeContext * { return HandleMsgCounterSyncReq(exchangeContext, std::move(msgBuf)); } - else if (payloadHeader.HasMessageType(Protocols::SecureChannel::MsgType::MsgCounterSyncRsp)) + if (payloadHeader.HasMessageType(Protocols::SecureChannel::MsgType::MsgCounterSyncRsp)) { return HandleMsgCounterSyncResp(exchangeContext, std::move(msgBuf)); } diff --git a/src/system/SystemLayerImplSelect.cpp b/src/system/SystemLayerImplSelect.cpp index e3b75eb81faee3..74357f9d195b57 100644 --- a/src/system/SystemLayerImplSelect.cpp +++ b/src/system/SystemLayerImplSelect.cpp @@ -219,7 +219,7 @@ CHIP_ERROR LayerImplSelect::StartWatchingSocket(int fd, SocketWatchToken * token // Duplicate registration is an error. return CHIP_ERROR_INVALID_ARGUMENT; } - else if ((w.mFD == kInvalidFd) && (watch == nullptr)) + if ((w.mFD == kInvalidFd) && (watch == nullptr)) { watch = &w; } diff --git a/src/transport/SessionManager.cpp b/src/transport/SessionManager.cpp index 7fef5e0a5d537b..6dcbbdb5275613 100644 --- a/src/transport/SessionManager.cpp +++ b/src/transport/SessionManager.cpp @@ -320,11 +320,9 @@ CHIP_ERROR SessionManager::SendPreparedMessage(const SessionHandle & sessionHand { return mTransportMgr->SendMessage(*destination, std::move(msgBuf)); } - else - { - ChipLogError(Inet, "The transport manager is not initialized. Unable to send the message"); - return CHIP_ERROR_INCORRECT_STATE; - } + + ChipLogError(Inet, "The transport manager is not initialized. Unable to send the message"); + return CHIP_ERROR_INCORRECT_STATE; } void SessionManager::ExpirePairing(const SessionHandle & sessionHandle) diff --git a/src/transport/SessionManager.h b/src/transport/SessionManager.h index f96a1367a3b4d1..87aef5649a4959 100644 --- a/src/transport/SessionManager.h +++ b/src/transport/SessionManager.h @@ -302,10 +302,8 @@ class DLL_EXPORT SessionManager : public TransportMgrDelegate { return mGlobalEncryptedMessageCounter; } - else - { - return state.GetSessionMessageCounter().GetLocalMessageCounter(); - } + + return state.GetSessionMessageCounter().GetLocalMessageCounter(); } }; diff --git a/src/transport/UnauthenticatedSessionTable.h b/src/transport/UnauthenticatedSessionTable.h index 213afb1661235a..4ed209e066cd84 100644 --- a/src/transport/UnauthenticatedSessionTable.h +++ b/src/transport/UnauthenticatedSessionTable.h @@ -101,10 +101,8 @@ class UnauthenticatedSession : public Session, public ReferenceCounted(*result); } - else - { - return Optional::Missing(); - } + + return Optional::Missing(); } CHECK_RETURN_VALUE Optional FindInitiator(NodeId ephemeralInitiatorNodeID) @@ -171,10 +167,8 @@ class UnauthenticatedSessionTable { return MakeOptional(*result); } - else - { - return Optional::Missing(); - } + + return Optional::Missing(); } CHECK_RETURN_VALUE Optional AllocInitiator(NodeId ephemeralInitiatorNodeID, const PeerAddress & peerAddress, @@ -187,10 +181,8 @@ class UnauthenticatedSessionTable result->SetPeerAddress(peerAddress); return MakeOptional(*result); } - else - { - return Optional::Missing(); - } + + return Optional::Missing(); } private: diff --git a/src/transport/raw/TCP.cpp b/src/transport/raw/TCP.cpp index 70b7b8027b3ccf..b8ab3ddbed9306 100644 --- a/src/transport/raw/TCP.cpp +++ b/src/transport/raw/TCP.cpp @@ -192,10 +192,8 @@ CHIP_ERROR TCPBase::SendMessage(const Transport::PeerAddress & address, System:: { return connection->mEndPoint->Send(std::move(msgBuf)); } - else - { - return SendAfterConnect(address, std::move(msgBuf)); - } + + return SendAfterConnect(address, std::move(msgBuf)); } CHIP_ERROR TCPBase::SendAfterConnect(const PeerAddress & addr, System::PacketBufferHandle && msg) @@ -272,7 +270,7 @@ CHIP_ERROR TCPBase::ProcessReceivedBuffer(Inet::TCPEndPoint * endPoint, const Pe // We don't have enough data to read the message size. Wait until there's more. return CHIP_NO_ERROR; } - else if (err != CHIP_NO_ERROR) + if (err != CHIP_NO_ERROR) { return err; } diff --git a/src/transport/raw/UDP.cpp b/src/transport/raw/UDP.cpp index c27190ad7b1e6f..fb21d390082c80 100644 --- a/src/transport/raw/UDP.cpp +++ b/src/transport/raw/UDP.cpp @@ -142,11 +142,9 @@ CHIP_ERROR UDP::MulticastGroupJoinLeave(const Transport::PeerAddress & address, ChipLogProgress(Inet, "Joining Multicast Group with address %s", addressStr); return mUDPEndPoint->JoinMulticastGroup(mUDPEndPoint->GetBoundInterface(), address.GetIPAddress()); } - else - { - ChipLogProgress(Inet, "Leaving Multicast Group with address %s", addressStr); - return mUDPEndPoint->LeaveMulticastGroup(mUDPEndPoint->GetBoundInterface(), address.GetIPAddress()); - } + + ChipLogProgress(Inet, "Leaving Multicast Group with address %s", addressStr); + return mUDPEndPoint->LeaveMulticastGroup(mUDPEndPoint->GetBoundInterface(), address.GetIPAddress()); } } // namespace Transport diff --git a/third_party/inipp/repo/inipp/inipp/inipp.h b/third_party/inipp/repo/inipp/inipp/inipp.h index 41391567378ff8..54b0892fe95dfe 100644 --- a/third_party/inipp/repo/inipp/inipp/inipp.h +++ b/third_party/inipp/repo/inipp/inipp/inipp.h @@ -79,9 +79,8 @@ inline bool extract(const std::basic_string & value, T & dst) { dst = result; return true; } - else { - return false; - } + return false; + } template @@ -135,7 +134,7 @@ class Ini if (front == char_comment) { continue; } - else if (front == char_section_start) { + if (front == char_section_start) { if (line.back() == char_section_end) section = line.substr(1, length - 2); else From 645efef45e0c23b3cc546eb0f6ff4c496b398aa4 Mon Sep 17 00:00:00 2001 From: Martin Turon Date: Wed, 16 Mar 2022 12:20:48 -0700 Subject: [PATCH 31/37] [mdns] Show interface on mDns failures. (#15266) * [mdns] Show interface on mDns failures. * [log] Deescalate bad interface log from error to detail. * [mdns] Comment resolution. * [mdns] Handle interface name error. * [restyle] --- src/lib/dnssd/minimal_mdns/Server.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/dnssd/minimal_mdns/Server.cpp b/src/lib/dnssd/minimal_mdns/Server.cpp index f868f34527f910..c2d97ad1324603 100644 --- a/src/lib/dnssd/minimal_mdns/Server.cpp +++ b/src/lib/dnssd/minimal_mdns/Server.cpp @@ -386,8 +386,14 @@ CHIP_ERROR ServerBase::BroadcastImpl(chip::System::PacketBufferHandle && data, u } else { - ChipLogError(Discovery, "Attempt to mDNS broadcast failed: %s", chip::ErrorStr(err)); lastError = err; +#if CHIP_DETAIL_LOGGING + char ifaceName[chip::Inet::InterfaceId::kMaxIfNameLength]; + err = info->mInterfaceId.GetInterfaceName(ifaceName, sizeof(ifaceName)); + if (err != CHIP_NO_ERROR) + strcpy(ifaceName, "???"); + ChipLogDetail(Discovery, "Warning: Attempt to mDNS broadcast failed on %s: %s", ifaceName, lastError.AsString()); +#endif } return chip::Loop::Continue; })) From 660e70f628e5e22912cad1244dd3954b1862d0b2 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 16:32:20 -0400 Subject: [PATCH 32/37] Increase resources and time for cloudbuild smoke test (#16318) --- integrations/cloudbuild/smoke-test.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/integrations/cloudbuild/smoke-test.yaml b/integrations/cloudbuild/smoke-test.yaml index 150066e422877b..b7df005f04f6e1 100644 --- a/integrations/cloudbuild/smoke-test.yaml +++ b/integrations/cloudbuild/smoke-test.yaml @@ -99,7 +99,7 @@ steps: logsBucket: matter-build-automation-build-logs # Global timeout for all steps -timeout: 7200s +timeout: 9000s artifacts: objects: @@ -109,4 +109,5 @@ artifacts: # Using higher CPU machines generally speeds up builds by > 4x (faster as we spend more time # building instead of docker download/checkout/bootstrap) options: - machineType: "E2_HIGHCPU_8" + machineType: "E2_HIGHCPU_32" + diskSizeGb: 200 From 6091a146884326debab0f974aaa21600657b640b Mon Sep 17 00:00:00 2001 From: Yuanyao Zhong <82843247+yyzhong-g@users.noreply.github.com> Date: Wed, 16 Mar 2022 16:34:27 -0400 Subject: [PATCH 33/37] Add "CHIP_" prefix to trace macros to avoid macro collision. (#16305) * Add "CHIP_" prefix to trace macros to avoid macro collision. * Restyled by clang-format * Change trace macros to prefix "MATTER_" * Restyled by clang-format Co-authored-by: Restyled.io --- src/protocols/secure_channel/CASESession.cpp | 22 +++---- src/protocols/secure_channel/PASESession.cpp | 22 +++---- src/trace/trace.h | 66 ++++++++++---------- 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/src/protocols/secure_channel/CASESession.cpp b/src/protocols/secure_channel/CASESession.cpp index e88d7db8881ba3..bc4dd71514e201 100644 --- a/src/protocols/secure_channel/CASESession.cpp +++ b/src/protocols/secure_channel/CASESession.cpp @@ -229,7 +229,7 @@ CHIP_ERROR CASESession::EstablishSession(const Transport::PeerAddress peerAddres uint16_t localSessionId, ExchangeContext * exchangeCtxt, SessionEstablishmentDelegate * delegate, Optional mrpConfig) { - TRACE_EVENT_SCOPE("EstablishSession", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("EstablishSession", "CASESession"); CHIP_ERROR err = CHIP_NO_ERROR; #if CHIP_PROGRESS_LOGGING @@ -313,7 +313,7 @@ CHIP_ERROR CASESession::DeriveSecureSession(CryptoContext & session, CryptoConte CHIP_ERROR CASESession::SendSigma1() { - TRACE_EVENT_SCOPE("SendSigma1", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("SendSigma1", "CASESession"); const size_t mrpParamsSize = mLocalMRPConfig.HasValue() ? TLV::EstimateStructOverhead(sizeof(uint16_t), sizeof(uint16_t)) : 0; size_t data_len = TLV::EstimateStructOverhead(kSigmaParamRandomNumberSize, // initiatorRandom sizeof(uint16_t), // initiatorSessionId, @@ -396,7 +396,7 @@ CHIP_ERROR CASESession::SendSigma1() CHIP_ERROR CASESession::HandleSigma1_and_SendSigma2(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleSigma1_and_SendSigma2", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleSigma1_and_SendSigma2", "CASESession"); ReturnErrorOnFailure(HandleSigma1(std::move(msg))); return CHIP_NO_ERROR; @@ -404,7 +404,7 @@ CHIP_ERROR CASESession::HandleSigma1_and_SendSigma2(System::PacketBufferHandle & CHIP_ERROR CASESession::HandleSigma1(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleSigma1", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleSigma1", "CASESession"); CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferTLVReader tlvReader; @@ -482,7 +482,7 @@ CHIP_ERROR CASESession::HandleSigma1(System::PacketBufferHandle && msg) CHIP_ERROR CASESession::SendSigma2Resume(const ByteSpan & initiatorRandom) { - TRACE_EVENT_SCOPE("SendSigma2Resume", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("SendSigma2Resume", "CASESession"); const size_t mrpParamsSize = mLocalMRPConfig.HasValue() ? TLV::EstimateStructOverhead(sizeof(uint16_t), sizeof(uint16_t)) : 0; size_t max_sigma2_resume_data_len = TLV::EstimateStructOverhead(kCASEResumptionIDSize, CHIP_CRYPTO_AEAD_MIC_LENGTH_BYTES, sizeof(uint16_t), mrpParamsSize); @@ -533,7 +533,7 @@ CHIP_ERROR CASESession::SendSigma2Resume(const ByteSpan & initiatorRandom) CHIP_ERROR CASESession::SendSigma2() { - TRACE_EVENT_SCOPE("SendSigma2", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("SendSigma2", "CASESession"); VerifyOrReturnError(mFabricInfo != nullptr, CHIP_ERROR_INCORRECT_STATE); ByteSpan icaCert; @@ -664,7 +664,7 @@ CHIP_ERROR CASESession::SendSigma2() CHIP_ERROR CASESession::HandleSigma2Resume(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleSigma2Resume", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleSigma2Resume", "CASESession"); CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferTLVReader tlvReader; TLV::TLVType containerType = TLV::kTLVType_Structure; @@ -731,7 +731,7 @@ CHIP_ERROR CASESession::HandleSigma2Resume(System::PacketBufferHandle && msg) CHIP_ERROR CASESession::HandleSigma2_and_SendSigma3(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleSigma2_and_SendSigma3", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleSigma2_and_SendSigma3", "CASESession"); ReturnErrorOnFailure(HandleSigma2(std::move(msg))); ReturnErrorOnFailure(SendSigma3()); @@ -740,7 +740,7 @@ CHIP_ERROR CASESession::HandleSigma2_and_SendSigma3(System::PacketBufferHandle & CHIP_ERROR CASESession::HandleSigma2(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleSigma2", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleSigma2", "CASESession"); CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferTLVReader tlvReader; TLV::TLVReader decryptedDataTlvReader; @@ -899,7 +899,7 @@ CHIP_ERROR CASESession::HandleSigma2(System::PacketBufferHandle && msg) CHIP_ERROR CASESession::SendSigma3() { - TRACE_EVENT_SCOPE("SendSigma3", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("SendSigma3", "CASESession"); CHIP_ERROR err = CHIP_NO_ERROR; MutableByteSpan messageDigestSpan(mMessageDigest); @@ -1034,7 +1034,7 @@ CHIP_ERROR CASESession::SendSigma3() CHIP_ERROR CASESession::HandleSigma3(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleSigma3", "CASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleSigma3", "CASESession"); CHIP_ERROR err = CHIP_NO_ERROR; MutableByteSpan messageDigestSpan(mMessageDigest); System::PacketBufferTLVReader tlvReader; diff --git a/src/protocols/secure_channel/PASESession.cpp b/src/protocols/secure_channel/PASESession.cpp index 933ba327eab14a..183e99bce604a6 100644 --- a/src/protocols/secure_channel/PASESession.cpp +++ b/src/protocols/secure_channel/PASESession.cpp @@ -207,7 +207,7 @@ CHIP_ERROR PASESession::Init(uint16_t mySessionId, uint32_t setupCode, SessionEs CHIP_ERROR PASESession::GeneratePASEVerifier(Spake2pVerifier & verifier, uint32_t pbkdf2IterCount, const ByteSpan & salt, bool useRandomPIN, uint32_t & setupPINCode) { - TRACE_EVENT_SCOPE("GeneratePASEVerifier", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("GeneratePASEVerifier", "PASESession"); if (useRandomPIN) { @@ -222,7 +222,7 @@ CHIP_ERROR PASESession::GeneratePASEVerifier(Spake2pVerifier & verifier, uint32_ CHIP_ERROR PASESession::SetupSpake2p() { - TRACE_EVENT_SCOPE("SetupSpake2p", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("SetupSpake2p", "PASESession"); uint8_t context[kSHA256_Hash_Length] = { 0 }; MutableByteSpan contextSpan{ context }; @@ -283,7 +283,7 @@ CHIP_ERROR PASESession::Pair(const Transport::PeerAddress peerAddress, uint32_t Optional mrpConfig, Messaging::ExchangeContext * exchangeCtxt, SessionEstablishmentDelegate * delegate) { - TRACE_EVENT_SCOPE("Pair", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("Pair", "PASESession"); ReturnErrorCodeIf(exchangeCtxt == nullptr, CHIP_ERROR_INVALID_ARGUMENT); CHIP_ERROR err = Init(mySessionId, peerSetUpPINCode, delegate); SuccessOrExit(err); @@ -333,7 +333,7 @@ CHIP_ERROR PASESession::DeriveSecureSession(CryptoContext & session, CryptoConte CHIP_ERROR PASESession::SendPBKDFParamRequest() { - TRACE_EVENT_SCOPE("SendPBKDFParamRequest", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("SendPBKDFParamRequest", "PASESession"); ReturnErrorOnFailure(DRBG_get_bytes(mPBKDFLocalRandomData, sizeof(mPBKDFLocalRandomData))); const size_t mrpParamsSize = mLocalMRPConfig.HasValue() ? TLV::EstimateStructOverhead(sizeof(uint16_t), sizeof(uint16_t)) : 0; @@ -379,7 +379,7 @@ CHIP_ERROR PASESession::SendPBKDFParamRequest() CHIP_ERROR PASESession::HandlePBKDFParamRequest(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandlePBKDFParamRequest", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("HandlePBKDFParamRequest", "PASESession"); CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferTLVReader tlvReader; @@ -441,7 +441,7 @@ CHIP_ERROR PASESession::HandlePBKDFParamRequest(System::PacketBufferHandle && ms CHIP_ERROR PASESession::SendPBKDFParamResponse(ByteSpan initiatorRandom, bool initiatorHasPBKDFParams) { - TRACE_EVENT_SCOPE("SendPBKDFParamResponse", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("SendPBKDFParamResponse", "PASESession"); ReturnErrorOnFailure(DRBG_get_bytes(mPBKDFLocalRandomData, sizeof(mPBKDFLocalRandomData))); const size_t mrpParamsSize = mLocalMRPConfig.HasValue() ? TLV::EstimateStructOverhead(sizeof(uint16_t), sizeof(uint16_t)) : 0; @@ -499,7 +499,7 @@ CHIP_ERROR PASESession::SendPBKDFParamResponse(ByteSpan initiatorRandom, bool in CHIP_ERROR PASESession::HandlePBKDFParamResponse(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandlePBKDFParamResponse", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("HandlePBKDFParamResponse", "PASESession"); CHIP_ERROR err = CHIP_NO_ERROR; System::PacketBufferTLVReader tlvReader; @@ -593,7 +593,7 @@ CHIP_ERROR PASESession::HandlePBKDFParamResponse(System::PacketBufferHandle && m CHIP_ERROR PASESession::SendMsg1() { - TRACE_EVENT_SCOPE("SendMsg1", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("SendMsg1", "PASESession"); const size_t max_msg_len = TLV::EstimateStructOverhead(kMAX_Point_Length); System::PacketBufferHandle msg = System::PacketBufferHandle::New(max_msg_len); VerifyOrReturnError(!msg.IsNull(), CHIP_ERROR_NO_MEMORY); @@ -626,7 +626,7 @@ CHIP_ERROR PASESession::SendMsg1() CHIP_ERROR PASESession::HandleMsg1_and_SendMsg2(System::PacketBufferHandle && msg1) { - TRACE_EVENT_SCOPE("HandleMsg1_and_SendMsg2", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleMsg1_and_SendMsg2", "PASESession"); CHIP_ERROR err = CHIP_NO_ERROR; uint8_t Y[kMAX_Point_Length]; @@ -696,7 +696,7 @@ CHIP_ERROR PASESession::HandleMsg1_and_SendMsg2(System::PacketBufferHandle && ms CHIP_ERROR PASESession::HandleMsg2_and_SendMsg3(System::PacketBufferHandle && msg2) { - TRACE_EVENT_SCOPE("HandleMsg2_and_SendMsg3", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleMsg2_and_SendMsg3", "PASESession"); CHIP_ERROR err = CHIP_NO_ERROR; uint8_t verifier[kMAX_Hash_Length]; @@ -772,7 +772,7 @@ CHIP_ERROR PASESession::HandleMsg2_and_SendMsg3(System::PacketBufferHandle && ms CHIP_ERROR PASESession::HandleMsg3(System::PacketBufferHandle && msg) { - TRACE_EVENT_SCOPE("HandleMsg3", "PASESession"); + MATTER_TRACE_EVENT_SCOPE("HandleMsg3", "PASESession"); CHIP_ERROR err = CHIP_NO_ERROR; ChipLogDetail(SecureChannel, "Received spake2p msg3"); diff --git a/src/trace/trace.h b/src/trace/trace.h index f6e23134d0191a..e3eca631ab3b0a 100644 --- a/src/trace/trace.h +++ b/src/trace/trace.h @@ -21,45 +21,45 @@ #include -#define TRACE_EVENT_INSTANT(...) PW_TRACE_INSTANT(__VA_ARGS__) -#define TRACE_EVENT_INSTANT_FLAG(...) PW_TRACE_INSTANT_FLAG(__VA_ARGS__) -#define TRACE_EVENT_INSTANT_DATA(...) PW_TRACE_INSTANT_DATA(__VA_ARGS__) -#define TRACE_EVENT_INSTANT_DATA_FLAG(...) PW_TRACE_INSTANT_DATA_FLAG(__VA_ARGS__) -#define TRACE_EVENT_START(...) PW_TRACE_START(__VA_ARGS__) -#define TRACE_EVENT_START_FLAG(...) PW_TRACE_START_FLAG(__VA_ARGS__) -#define TRACE_EVENT_START_DATA(...) PW_TRACE_START_DATA(__VA_ARGS__) -#define TRACE_EVENT_START_DATA_FLAG(...) PW_TRACE_START_DATA_FLAG(__VA_ARGS__) -#define TRACE_EVENT_END(...) PW_TRACE_END(__VA_ARGS__) -#define TRACE_EVENT_END_FLAG(...) PW_TRACE_END_FLAG(__VA_ARGS__) -#define TRACE_EVENT_END_DATA(...) PW_TRACE_END_DATA(__VA_ARGS__) -#define TRACE_EVENT_END_DATA_FLAG(...) PW_TRACE_END_DATA_FLAG(__VA_ARGS__) -#define TRACE_EVENT_SCOPE(...) PW_TRACE_SCOPE(__VA_ARGS__) -#define TRACE_EVENT_SCOPE_FLAG(...) PW_TRACE_SCOPE_FLAG(__VA_ARGS__) -#define TRACE_EVENT_FUNCTION(...) PW_TRACE_FUNCTION(__VA_ARGS__) -#define TRACE_EVENT_FUNCTION_FLAG(...) PW_TRACE_FUNCTION_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT(...) PW_TRACE_INSTANT(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT_FLAG(...) PW_TRACE_INSTANT_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT_DATA(...) PW_TRACE_INSTANT_DATA(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT_DATA_FLAG(...) PW_TRACE_INSTANT_DATA_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START(...) PW_TRACE_START(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START_FLAG(...) PW_TRACE_START_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START_DATA(...) PW_TRACE_START_DATA(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START_DATA_FLAG(...) PW_TRACE_START_DATA_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END(...) PW_TRACE_END(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END_FLAG(...) PW_TRACE_END_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END_DATA(...) PW_TRACE_END_DATA(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END_DATA_FLAG(...) PW_TRACE_END_DATA_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_SCOPE(...) PW_TRACE_SCOPE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_SCOPE_FLAG(...) PW_TRACE_SCOPE_FLAG(__VA_ARGS__) +#define MATTER_TRACE_EVENT_FUNCTION(...) PW_TRACE_FUNCTION(__VA_ARGS__) +#define MATTER_TRACE_EVENT_FUNCTION_FLAG(...) PW_TRACE_FUNCTION_FLAG(__VA_ARGS__) #else // defined(PW_TRACE_BACKEND_SET) && PW_TRACE_BACKEND_SET -#define _TRACE_EVENT_DISABLE(...) \ +#define _MATTER_TRACE_EVENT_DISABLE(...) \ do \ { \ } while (0) -#define TRACE_EVENT_INSTANT(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_INSTANT_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_INSTANT_DATA(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_INSTANT_DATA_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_START(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_START_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_START_DATA(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_START_DATA_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_END(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_END_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_END_DATA(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_END_DATA_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_SCOPE(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_SCOPE_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_FUNCTION(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) -#define TRACE_EVENT_FUNCTION_FLAG(...) _TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT_DATA(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_INSTANT_DATA_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START_DATA(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_START_DATA_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END_DATA(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_END_DATA_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_SCOPE(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_SCOPE_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_FUNCTION(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) +#define MATTER_TRACE_EVENT_FUNCTION_FLAG(...) _MATTER_TRACE_EVENT_DISABLE(__VA_ARGS__) #endif // defined(PW_TRACE_BACKEND_SET) && PW_TRACE_BACKEND_SET From 1986d5e9239483db9e13fc126690c523ff616f9b Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 17:40:40 -0400 Subject: [PATCH 34/37] Add ota requestor variants for efr32 builds in build_examples (#16228) * Add ota requestor variant for efr32 builds * Restyle --- scripts/build/build/targets.py | 154 +++++--- scripts/build/builders/efr32.py | 18 +- .../testdata/all_targets_except_host.txt | 56 +++ .../build/testdata/build_all_except_host.txt | 336 ++++++++++++++++++ 4 files changed, 508 insertions(+), 56 deletions(-) diff --git a/scripts/build/build/targets.py b/scripts/build/build/targets.py index d35d1905103e02..3a3f38191b56f0 100644 --- a/scripts/build/build/targets.py +++ b/scripts/build/build/targets.py @@ -112,7 +112,7 @@ def Accept(self, name: str): return False -class HostBuildVariant: +class BuildVariant: def __init__(self, name: str, validator=AcceptAnyName(), conflicts: List[str] = [], **buildargs): self.name = name self.validator = validator @@ -120,13 +120,77 @@ def __init__(self, name: str, validator=AcceptAnyName(), conflicts: List[str] = self.buildargs = buildargs -def HasConflicts(items: List[HostBuildVariant]) -> bool: +def HasConflicts(items: List[BuildVariant]) -> bool: for a, b in combinations(items, 2): if (a.name in b.conflicts) or (b.name in a.conflicts): return True return False +class VariantBuilder: + """Handles creating multiple build variants based on a starting target. + """ + + def __init__(self, targets: List[Target]): + self.targets = targets + self.variants = [] + self.glob_whitelist = [] + + def WhitelistVariantNameForGlob(self, name): + """ + Whitelist the specified variant to be allowed for globbing. + + By default we do not want a 'build all' to select all variants, so + variants are generally glob-blacklisted. + """ + self.glob_whitelist.append(name) + + def AppendVariant(self, **args): + """ + Add another variant to accepted variants. Arguments are construction + variants to BuildVariant. + + Example usage: + + builder.AppendVariant(name="ipv6only", enable_ipv4=False) + """ + self.variants.append(BuildVariant(**args)) + + def AllVariants(self): + """ + Yields a list of acceptable variants for the given targets. + + Handles conflict resolution between build variants and globbing whiltelist + targets. + """ + for target in self.targets: + yield target + + # skip variants that do not work for this target + ok_variants = [ + v for v in self.variants if v.validator.Accept(target.name)] + + # Build every possible variant + for variant_count in range(1, len(ok_variants) + 1): + for subgroup in combinations(ok_variants, variant_count): + if HasConflicts(subgroup): + continue + + # Target ready to be created - no conflicts + variant_target = target.Clone() + for option in subgroup: + variant_target = variant_target.Extend( + option.name, **option.buildargs) + + # Only a few are whitelisted for globs + if '-'.join([o.name for o in subgroup]) not in self.glob_whitelist: + if not variant_target.glob_blacklist_reason: + variant_target = variant_target.GlobBlacklist( + 'Reduce default build variants') + + yield variant_target + + def HostTargets(): target = Target(HostBoard.NATIVE.PlatformName(), HostBuilder) targets = [ @@ -159,50 +223,32 @@ def HostTargets(): app_targets.append(target.Extend( 'ota-requestor', app=HostApp.OTA_REQUESTOR, enable_ble=False)) + builder = VariantBuilder([]) + # Possible build variants. Note that number of potential # builds is exponential here - variants = [ - HostBuildVariant(name="ipv6only", enable_ipv4=False), - HostBuildVariant(name="no-ble", enable_ble=False), - HostBuildVariant(name="tsan", conflicts=['asan'], use_tsan=True), - HostBuildVariant(name="asan", conflicts=['tsan'], use_asan=True), - HostBuildVariant(name="libfuzzer", use_libfuzzer=True, use_clang=True), - HostBuildVariant(name="test-group", - validator=AcceptNameWithSubstrings(['-all-clusters', '-chip-tool']), test_group=True), - HostBuildVariant(name="same-event-loop", - validator=AcceptNameWithSubstrings(['-chip-tool']), separate_event_loop=False), - ] - - glob_whitelist = set(['ipv6only']) + builder.AppendVariant(name="ipv6only", enable_ipv4=False), + builder.AppendVariant(name="no-ble", enable_ble=False), + builder.AppendVariant(name="tsan", conflicts=['asan'], use_tsan=True), + builder.AppendVariant(name="asan", conflicts=['tsan'], use_asan=True), + builder.AppendVariant( + name="libfuzzer", use_libfuzzer=True, use_clang=True), + builder.AppendVariant(name="test-group", validator=AcceptNameWithSubstrings( + ['-all-clusters', '-chip-tool']), test_group=True), + builder.AppendVariant(name="same-event-loop", validator=AcceptNameWithSubstrings( + ['-chip-tool']), separate_event_loop=False), + + builder.WhitelistVariantNameForGlob('ipv6only') for target in app_targets: - yield target - if 'rpc-console' in target.name: # rpc console has only one build variant right now - continue - - # skip variants that do not work for this target - ok_variants = [v for v in variants if v.validator.Accept(target.name)] - - # Build every possible variant - for variant_count in range(1, len(ok_variants) + 1): - for subgroup in combinations(ok_variants, variant_count): - if HasConflicts(subgroup): - continue - - # Target ready to be created - no conflicts - variant_target = target.Clone() - for option in subgroup: - variant_target = variant_target.Extend( - option.name, **option.buildargs) - - # Only a few are whitelisted for globs - if '-'.join([o.name for o in subgroup]) not in glob_whitelist: - variant_target = variant_target.GlobBlacklist( - 'Reduce default build variants') + yield target + else: + builder.targets.append(target) - yield variant_target + for target in builder.AllVariants(): + yield target # Without extra build variants yield targets[0].Extend('chip-cert', app=HostApp.CERT_TOOL) @@ -261,19 +307,29 @@ def Efr32Targets(): 'only user requested') ] + builder = VariantBuilder([]) + for board_target in board_targets: - yield board_target.Extend('window-covering', app=Efr32App.WINDOW_COVERING) - yield board_target.Extend('switch', app=Efr32App.SWITCH) - yield board_target.Extend('unit-test', app=Efr32App.UNIT_TEST) + builder.targets.append(board_target.Extend( + 'window-covering', app=Efr32App.WINDOW_COVERING)) + builder.targets.append(board_target.Extend( + 'switch', app=Efr32App.SWITCH)) + builder.targets.append(board_target.Extend( + 'unit-test', app=Efr32App.UNIT_TEST)) + builder.targets.append( + board_target.Extend('light', app=Efr32App.LIGHT)) + builder.targets.append(board_target.Extend('lock', app=Efr32App.LOCK)) - rpc_aware_targets = [ - board_target.Extend('light', app=Efr32App.LIGHT), - board_target.Extend('lock', app=Efr32App.LOCK) - ] + # Possible build variants. Note that number of potential + # builds is exponential here + builder.AppendVariant(name="rpc", validator=AcceptNameWithSubstrings( + ['-light', '-lock']), enable_rpcs=True) + builder.AppendVariant(name="with-ota-requestor", enable_ota_requestor=True) - for target in rpc_aware_targets: - yield target - yield target.Extend('rpc', enable_rpcs=True) + builder.WhitelistVariantNameForGlob('rpc') + + for target in builder.AllVariants(): + yield target def NrfTargets(): diff --git a/scripts/build/builders/efr32.py b/scripts/build/builders/efr32.py index 4cf64311fda02c..0f8abe07cb6865 100644 --- a/scripts/build/builders/efr32.py +++ b/scripts/build/builders/efr32.py @@ -110,19 +110,23 @@ def __init__(self, runner, app: Efr32App = Efr32App.LIGHT, board: Efr32Board = Efr32Board.BRD4161A, - enable_rpcs: bool = False): + enable_rpcs: bool = False, + enable_ota_requestor: bool = False, + ): super(Efr32Builder, self).__init__( root=app.BuildRoot(root), runner=runner) self.app = app - self.board = board - self.enable_rpcs = enable_rpcs + self.extra_gn_options = ['efr32_board="%s"' % board.GnArgName()] + + if enable_rpcs: + self.extra_gn_options.append('import("//with_pw_rpc.gni")') + + if enable_ota_requestor: + self.extra_gn_options.append('chip_enable_ota_requestor=true') def GnBuildArgs(self): - args = ['efr32_board="%s"' % self.board.GnArgName()] - if self.enable_rpcs: - args.append('import("//with_pw_rpc.gni")') - return args + return self.extra_gn_options def build_outputs(self): items = {} diff --git a/scripts/build/testdata/all_targets_except_host.txt b/scripts/build/testdata/all_targets_except_host.txt index ffa302f036543c..fb15d34c857dcb 100644 --- a/scripts/build/testdata/all_targets_except_host.txt +++ b/scripts/build/testdata/all_targets_except_host.txt @@ -20,60 +20,116 @@ cyw30739-cyw930739m2evb_01-ota-requestor (NOGLOB: Running out of XIP flash space cyw30739-cyw930739m2evb_01-ota-requestor-no-progress-logging efr32-brd4161a-light efr32-brd4161a-light-rpc +efr32-brd4161a-light-rpc-with-ota-requestor (NOGLOB: Reduce default build variants) +efr32-brd4161a-light-with-ota-requestor (NOGLOB: Reduce default build variants) efr32-brd4161a-lock efr32-brd4161a-lock-rpc +efr32-brd4161a-lock-rpc-with-ota-requestor (NOGLOB: Reduce default build variants) +efr32-brd4161a-lock-with-ota-requestor (NOGLOB: Reduce default build variants) efr32-brd4161a-switch +efr32-brd4161a-switch-with-ota-requestor (NOGLOB: Reduce default build variants) efr32-brd4161a-unit-test +efr32-brd4161a-unit-test-with-ota-requestor (NOGLOB: Reduce default build variants) efr32-brd4161a-window-covering +efr32-brd4161a-window-covering-with-ota-requestor (NOGLOB: Reduce default build variants) efr32-brd4163a-light (NOGLOB: only user requested) efr32-brd4163a-light-rpc (NOGLOB: only user requested) +efr32-brd4163a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4163a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4163a-lock (NOGLOB: only user requested) efr32-brd4163a-lock-rpc (NOGLOB: only user requested) +efr32-brd4163a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4163a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4163a-switch (NOGLOB: only user requested) +efr32-brd4163a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4163a-unit-test (NOGLOB: only user requested) +efr32-brd4163a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4163a-window-covering (NOGLOB: only user requested) +efr32-brd4163a-window-covering-with-ota-requestor (NOGLOB: only user requested) efr32-brd4164a-light (NOGLOB: only user requested) efr32-brd4164a-light-rpc (NOGLOB: only user requested) +efr32-brd4164a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4164a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4164a-lock (NOGLOB: only user requested) efr32-brd4164a-lock-rpc (NOGLOB: only user requested) +efr32-brd4164a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4164a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4164a-switch (NOGLOB: only user requested) +efr32-brd4164a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4164a-unit-test (NOGLOB: only user requested) +efr32-brd4164a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4164a-window-covering (NOGLOB: only user requested) +efr32-brd4164a-window-covering-with-ota-requestor (NOGLOB: only user requested) efr32-brd4166a-light (NOGLOB: only user requested) efr32-brd4166a-light-rpc (NOGLOB: only user requested) +efr32-brd4166a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4166a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4166a-lock (NOGLOB: only user requested) efr32-brd4166a-lock-rpc (NOGLOB: only user requested) +efr32-brd4166a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4166a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4166a-switch (NOGLOB: only user requested) +efr32-brd4166a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4166a-unit-test (NOGLOB: only user requested) +efr32-brd4166a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4166a-window-covering (NOGLOB: only user requested) +efr32-brd4166a-window-covering-with-ota-requestor (NOGLOB: only user requested) efr32-brd4170a-light (NOGLOB: only user requested) efr32-brd4170a-light-rpc (NOGLOB: only user requested) +efr32-brd4170a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4170a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4170a-lock (NOGLOB: only user requested) efr32-brd4170a-lock-rpc (NOGLOB: only user requested) +efr32-brd4170a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4170a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4170a-switch (NOGLOB: only user requested) +efr32-brd4170a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4170a-unit-test (NOGLOB: only user requested) +efr32-brd4170a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4170a-window-covering (NOGLOB: only user requested) +efr32-brd4170a-window-covering-with-ota-requestor (NOGLOB: only user requested) efr32-brd4186a-light (NOGLOB: only user requested) efr32-brd4186a-light-rpc (NOGLOB: only user requested) +efr32-brd4186a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4186a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4186a-lock (NOGLOB: only user requested) efr32-brd4186a-lock-rpc (NOGLOB: only user requested) +efr32-brd4186a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4186a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4186a-switch (NOGLOB: only user requested) +efr32-brd4186a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4186a-unit-test (NOGLOB: only user requested) +efr32-brd4186a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4186a-window-covering (NOGLOB: only user requested) +efr32-brd4186a-window-covering-with-ota-requestor (NOGLOB: only user requested) efr32-brd4187a-light (NOGLOB: only user requested) efr32-brd4187a-light-rpc (NOGLOB: only user requested) +efr32-brd4187a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4187a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4187a-lock (NOGLOB: only user requested) efr32-brd4187a-lock-rpc (NOGLOB: only user requested) +efr32-brd4187a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4187a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4187a-switch (NOGLOB: only user requested) +efr32-brd4187a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4187a-unit-test (NOGLOB: only user requested) +efr32-brd4187a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4187a-window-covering (NOGLOB: only user requested) +efr32-brd4187a-window-covering-with-ota-requestor (NOGLOB: only user requested) efr32-brd4304a-light (NOGLOB: only user requested) efr32-brd4304a-light-rpc (NOGLOB: only user requested) +efr32-brd4304a-light-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4304a-light-with-ota-requestor (NOGLOB: only user requested) efr32-brd4304a-lock (NOGLOB: only user requested) efr32-brd4304a-lock-rpc (NOGLOB: only user requested) +efr32-brd4304a-lock-rpc-with-ota-requestor (NOGLOB: only user requested) +efr32-brd4304a-lock-with-ota-requestor (NOGLOB: only user requested) efr32-brd4304a-switch (NOGLOB: only user requested) +efr32-brd4304a-switch-with-ota-requestor (NOGLOB: only user requested) efr32-brd4304a-unit-test (NOGLOB: only user requested) +efr32-brd4304a-unit-test-with-ota-requestor (NOGLOB: only user requested) efr32-brd4304a-window-covering (NOGLOB: only user requested) +efr32-brd4304a-window-covering-with-ota-requestor (NOGLOB: only user requested) esp32-c3devkit-all-clusters esp32-devkitc-all-clusters esp32-devkitc-all-clusters-ipv6only diff --git a/scripts/build/testdata/build_all_except_host.txt b/scripts/build/testdata/build_all_except_host.txt index 771dac9f31b454..114bc8ac4ab4f2 100644 --- a/scripts/build/testdata/build_all_except_host.txt +++ b/scripts/build/testdata/build_all_except_host.txt @@ -184,168 +184,336 @@ gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/exa # Generating efr32-brd4161a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4161A" import("//with_pw_rpc.gni")' {out}/efr32-brd4161a-light-rpc +# Generating efr32-brd4161a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4161A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4161a-light-rpc-with-ota-requestor + +# Generating efr32-brd4161a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4161A" chip_enable_ota_requestor=true' {out}/efr32-brd4161a-light-with-ota-requestor + # Generating efr32-brd4161a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4161A"' {out}/efr32-brd4161a-lock # Generating efr32-brd4161a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4161A" import("//with_pw_rpc.gni")' {out}/efr32-brd4161a-lock-rpc +# Generating efr32-brd4161a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4161A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4161a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4161a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4161A" chip_enable_ota_requestor=true' {out}/efr32-brd4161a-lock-with-ota-requestor + # Generating efr32-brd4161a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4161A"' {out}/efr32-brd4161a-switch +# Generating efr32-brd4161a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4161A" chip_enable_ota_requestor=true' {out}/efr32-brd4161a-switch-with-ota-requestor + # Generating efr32-brd4161a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4161A"' {out}/efr32-brd4161a-unit-test +# Generating efr32-brd4161a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4161A" chip_enable_ota_requestor=true' {out}/efr32-brd4161a-unit-test-with-ota-requestor + # Generating efr32-brd4161a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4161A"' {out}/efr32-brd4161a-window-covering +# Generating efr32-brd4161a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4161A" chip_enable_ota_requestor=true' {out}/efr32-brd4161a-window-covering-with-ota-requestor + # Generating efr32-brd4163a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4163A"' {out}/efr32-brd4163a-light # Generating efr32-brd4163a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4163A" import("//with_pw_rpc.gni")' {out}/efr32-brd4163a-light-rpc +# Generating efr32-brd4163a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4163A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4163a-light-rpc-with-ota-requestor + +# Generating efr32-brd4163a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4163A" chip_enable_ota_requestor=true' {out}/efr32-brd4163a-light-with-ota-requestor + # Generating efr32-brd4163a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4163A"' {out}/efr32-brd4163a-lock # Generating efr32-brd4163a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4163A" import("//with_pw_rpc.gni")' {out}/efr32-brd4163a-lock-rpc +# Generating efr32-brd4163a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4163A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4163a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4163a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4163A" chip_enable_ota_requestor=true' {out}/efr32-brd4163a-lock-with-ota-requestor + # Generating efr32-brd4163a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4163A"' {out}/efr32-brd4163a-switch +# Generating efr32-brd4163a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4163A" chip_enable_ota_requestor=true' {out}/efr32-brd4163a-switch-with-ota-requestor + # Generating efr32-brd4163a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4163A"' {out}/efr32-brd4163a-unit-test +# Generating efr32-brd4163a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4163A" chip_enable_ota_requestor=true' {out}/efr32-brd4163a-unit-test-with-ota-requestor + # Generating efr32-brd4163a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4163A"' {out}/efr32-brd4163a-window-covering +# Generating efr32-brd4163a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4163A" chip_enable_ota_requestor=true' {out}/efr32-brd4163a-window-covering-with-ota-requestor + # Generating efr32-brd4164a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4164A"' {out}/efr32-brd4164a-light # Generating efr32-brd4164a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4164A" import("//with_pw_rpc.gni")' {out}/efr32-brd4164a-light-rpc +# Generating efr32-brd4164a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4164A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4164a-light-rpc-with-ota-requestor + +# Generating efr32-brd4164a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4164A" chip_enable_ota_requestor=true' {out}/efr32-brd4164a-light-with-ota-requestor + # Generating efr32-brd4164a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4164A"' {out}/efr32-brd4164a-lock # Generating efr32-brd4164a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4164A" import("//with_pw_rpc.gni")' {out}/efr32-brd4164a-lock-rpc +# Generating efr32-brd4164a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4164A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4164a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4164a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4164A" chip_enable_ota_requestor=true' {out}/efr32-brd4164a-lock-with-ota-requestor + # Generating efr32-brd4164a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4164A"' {out}/efr32-brd4164a-switch +# Generating efr32-brd4164a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4164A" chip_enable_ota_requestor=true' {out}/efr32-brd4164a-switch-with-ota-requestor + # Generating efr32-brd4164a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4164A"' {out}/efr32-brd4164a-unit-test +# Generating efr32-brd4164a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4164A" chip_enable_ota_requestor=true' {out}/efr32-brd4164a-unit-test-with-ota-requestor + # Generating efr32-brd4164a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4164A"' {out}/efr32-brd4164a-window-covering +# Generating efr32-brd4164a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4164A" chip_enable_ota_requestor=true' {out}/efr32-brd4164a-window-covering-with-ota-requestor + # Generating efr32-brd4166a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4166A"' {out}/efr32-brd4166a-light # Generating efr32-brd4166a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4166A" import("//with_pw_rpc.gni")' {out}/efr32-brd4166a-light-rpc +# Generating efr32-brd4166a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4166A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4166a-light-rpc-with-ota-requestor + +# Generating efr32-brd4166a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4166A" chip_enable_ota_requestor=true' {out}/efr32-brd4166a-light-with-ota-requestor + # Generating efr32-brd4166a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4166A"' {out}/efr32-brd4166a-lock # Generating efr32-brd4166a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4166A" import("//with_pw_rpc.gni")' {out}/efr32-brd4166a-lock-rpc +# Generating efr32-brd4166a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4166A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4166a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4166a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4166A" chip_enable_ota_requestor=true' {out}/efr32-brd4166a-lock-with-ota-requestor + # Generating efr32-brd4166a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4166A"' {out}/efr32-brd4166a-switch +# Generating efr32-brd4166a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4166A" chip_enable_ota_requestor=true' {out}/efr32-brd4166a-switch-with-ota-requestor + # Generating efr32-brd4166a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4166A"' {out}/efr32-brd4166a-unit-test +# Generating efr32-brd4166a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4166A" chip_enable_ota_requestor=true' {out}/efr32-brd4166a-unit-test-with-ota-requestor + # Generating efr32-brd4166a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4166A"' {out}/efr32-brd4166a-window-covering +# Generating efr32-brd4166a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4166A" chip_enable_ota_requestor=true' {out}/efr32-brd4166a-window-covering-with-ota-requestor + # Generating efr32-brd4170a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4170A"' {out}/efr32-brd4170a-light # Generating efr32-brd4170a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4170A" import("//with_pw_rpc.gni")' {out}/efr32-brd4170a-light-rpc +# Generating efr32-brd4170a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4170A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4170a-light-rpc-with-ota-requestor + +# Generating efr32-brd4170a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4170A" chip_enable_ota_requestor=true' {out}/efr32-brd4170a-light-with-ota-requestor + # Generating efr32-brd4170a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4170A"' {out}/efr32-brd4170a-lock # Generating efr32-brd4170a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4170A" import("//with_pw_rpc.gni")' {out}/efr32-brd4170a-lock-rpc +# Generating efr32-brd4170a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4170A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4170a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4170a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4170A" chip_enable_ota_requestor=true' {out}/efr32-brd4170a-lock-with-ota-requestor + # Generating efr32-brd4170a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4170A"' {out}/efr32-brd4170a-switch +# Generating efr32-brd4170a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4170A" chip_enable_ota_requestor=true' {out}/efr32-brd4170a-switch-with-ota-requestor + # Generating efr32-brd4170a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4170A"' {out}/efr32-brd4170a-unit-test +# Generating efr32-brd4170a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4170A" chip_enable_ota_requestor=true' {out}/efr32-brd4170a-unit-test-with-ota-requestor + # Generating efr32-brd4170a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4170A"' {out}/efr32-brd4170a-window-covering +# Generating efr32-brd4170a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4170A" chip_enable_ota_requestor=true' {out}/efr32-brd4170a-window-covering-with-ota-requestor + # Generating efr32-brd4186a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4186A"' {out}/efr32-brd4186a-light # Generating efr32-brd4186a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4186A" import("//with_pw_rpc.gni")' {out}/efr32-brd4186a-light-rpc +# Generating efr32-brd4186a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4186A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4186a-light-rpc-with-ota-requestor + +# Generating efr32-brd4186a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4186A" chip_enable_ota_requestor=true' {out}/efr32-brd4186a-light-with-ota-requestor + # Generating efr32-brd4186a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4186A"' {out}/efr32-brd4186a-lock # Generating efr32-brd4186a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4186A" import("//with_pw_rpc.gni")' {out}/efr32-brd4186a-lock-rpc +# Generating efr32-brd4186a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4186A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4186a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4186a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4186A" chip_enable_ota_requestor=true' {out}/efr32-brd4186a-lock-with-ota-requestor + # Generating efr32-brd4186a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4186A"' {out}/efr32-brd4186a-switch +# Generating efr32-brd4186a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4186A" chip_enable_ota_requestor=true' {out}/efr32-brd4186a-switch-with-ota-requestor + # Generating efr32-brd4186a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4186A"' {out}/efr32-brd4186a-unit-test +# Generating efr32-brd4186a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4186A" chip_enable_ota_requestor=true' {out}/efr32-brd4186a-unit-test-with-ota-requestor + # Generating efr32-brd4186a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4186A"' {out}/efr32-brd4186a-window-covering +# Generating efr32-brd4186a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4186A" chip_enable_ota_requestor=true' {out}/efr32-brd4186a-window-covering-with-ota-requestor + # Generating efr32-brd4187a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4187A"' {out}/efr32-brd4187a-light # Generating efr32-brd4187a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4187A" import("//with_pw_rpc.gni")' {out}/efr32-brd4187a-light-rpc +# Generating efr32-brd4187a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4187A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4187a-light-rpc-with-ota-requestor + +# Generating efr32-brd4187a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4187A" chip_enable_ota_requestor=true' {out}/efr32-brd4187a-light-with-ota-requestor + # Generating efr32-brd4187a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4187A"' {out}/efr32-brd4187a-lock # Generating efr32-brd4187a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4187A" import("//with_pw_rpc.gni")' {out}/efr32-brd4187a-lock-rpc +# Generating efr32-brd4187a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4187A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4187a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4187a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4187A" chip_enable_ota_requestor=true' {out}/efr32-brd4187a-lock-with-ota-requestor + # Generating efr32-brd4187a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4187A"' {out}/efr32-brd4187a-switch +# Generating efr32-brd4187a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4187A" chip_enable_ota_requestor=true' {out}/efr32-brd4187a-switch-with-ota-requestor + # Generating efr32-brd4187a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4187A"' {out}/efr32-brd4187a-unit-test +# Generating efr32-brd4187a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4187A" chip_enable_ota_requestor=true' {out}/efr32-brd4187a-unit-test-with-ota-requestor + # Generating efr32-brd4187a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4187A"' {out}/efr32-brd4187a-window-covering +# Generating efr32-brd4187a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4187A" chip_enable_ota_requestor=true' {out}/efr32-brd4187a-window-covering-with-ota-requestor + # Generating efr32-brd4304a-light gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4304A"' {out}/efr32-brd4304a-light # Generating efr32-brd4304a-light-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4304A" import("//with_pw_rpc.gni")' {out}/efr32-brd4304a-light-rpc +# Generating efr32-brd4304a-light-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4304A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4304a-light-rpc-with-ota-requestor + +# Generating efr32-brd4304a-light-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lighting-app/efr32 '--args=efr32_board="BRD4304A" chip_enable_ota_requestor=true' {out}/efr32-brd4304a-light-with-ota-requestor + # Generating efr32-brd4304a-lock gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4304A"' {out}/efr32-brd4304a-lock # Generating efr32-brd4304a-lock-rpc gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4304A" import("//with_pw_rpc.gni")' {out}/efr32-brd4304a-lock-rpc +# Generating efr32-brd4304a-lock-rpc-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4304A" import("//with_pw_rpc.gni") chip_enable_ota_requestor=true' {out}/efr32-brd4304a-lock-rpc-with-ota-requestor + +# Generating efr32-brd4304a-lock-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/lock-app/efr32 '--args=efr32_board="BRD4304A" chip_enable_ota_requestor=true' {out}/efr32-brd4304a-lock-with-ota-requestor + # Generating efr32-brd4304a-switch gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4304A"' {out}/efr32-brd4304a-switch +# Generating efr32-brd4304a-switch-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/light-switch-app/efr32 '--args=efr32_board="BRD4304A" chip_enable_ota_requestor=true' {out}/efr32-brd4304a-switch-with-ota-requestor + # Generating efr32-brd4304a-unit-test gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4304A"' {out}/efr32-brd4304a-unit-test +# Generating efr32-brd4304a-unit-test-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/src/test_driver/efr32 '--args=efr32_board="BRD4304A" chip_enable_ota_requestor=true' {out}/efr32-brd4304a-unit-test-with-ota-requestor + # Generating efr32-brd4304a-window-covering gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4304A"' {out}/efr32-brd4304a-window-covering +# Generating efr32-brd4304a-window-covering-with-ota-requestor +gn gen --check --fail-on-unused-args --export-compile-commands --root={root}/examples/window-app/efr32 '--args=efr32_board="BRD4304A" chip_enable_ota_requestor=true' {out}/efr32-brd4304a-window-covering-with-ota-requestor + # Generating esp32-c3devkit-all-clusters mkdir -p {out}/esp32-c3devkit-all-clusters @@ -955,168 +1123,336 @@ ninja -C {out}/efr32-brd4161a-light # Building efr32-brd4161a-light-rpc ninja -C {out}/efr32-brd4161a-light-rpc +# Building efr32-brd4161a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4161a-light-rpc-with-ota-requestor + +# Building efr32-brd4161a-light-with-ota-requestor +ninja -C {out}/efr32-brd4161a-light-with-ota-requestor + # Building efr32-brd4161a-lock ninja -C {out}/efr32-brd4161a-lock # Building efr32-brd4161a-lock-rpc ninja -C {out}/efr32-brd4161a-lock-rpc +# Building efr32-brd4161a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4161a-lock-rpc-with-ota-requestor + +# Building efr32-brd4161a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4161a-lock-with-ota-requestor + # Building efr32-brd4161a-switch ninja -C {out}/efr32-brd4161a-switch +# Building efr32-brd4161a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4161a-switch-with-ota-requestor + # Building efr32-brd4161a-unit-test ninja -C {out}/efr32-brd4161a-unit-test +# Building efr32-brd4161a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4161a-unit-test-with-ota-requestor + # Building efr32-brd4161a-window-covering ninja -C {out}/efr32-brd4161a-window-covering +# Building efr32-brd4161a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4161a-window-covering-with-ota-requestor + # Building efr32-brd4163a-light ninja -C {out}/efr32-brd4163a-light # Building efr32-brd4163a-light-rpc ninja -C {out}/efr32-brd4163a-light-rpc +# Building efr32-brd4163a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4163a-light-rpc-with-ota-requestor + +# Building efr32-brd4163a-light-with-ota-requestor +ninja -C {out}/efr32-brd4163a-light-with-ota-requestor + # Building efr32-brd4163a-lock ninja -C {out}/efr32-brd4163a-lock # Building efr32-brd4163a-lock-rpc ninja -C {out}/efr32-brd4163a-lock-rpc +# Building efr32-brd4163a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4163a-lock-rpc-with-ota-requestor + +# Building efr32-brd4163a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4163a-lock-with-ota-requestor + # Building efr32-brd4163a-switch ninja -C {out}/efr32-brd4163a-switch +# Building efr32-brd4163a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4163a-switch-with-ota-requestor + # Building efr32-brd4163a-unit-test ninja -C {out}/efr32-brd4163a-unit-test +# Building efr32-brd4163a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4163a-unit-test-with-ota-requestor + # Building efr32-brd4163a-window-covering ninja -C {out}/efr32-brd4163a-window-covering +# Building efr32-brd4163a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4163a-window-covering-with-ota-requestor + # Building efr32-brd4164a-light ninja -C {out}/efr32-brd4164a-light # Building efr32-brd4164a-light-rpc ninja -C {out}/efr32-brd4164a-light-rpc +# Building efr32-brd4164a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4164a-light-rpc-with-ota-requestor + +# Building efr32-brd4164a-light-with-ota-requestor +ninja -C {out}/efr32-brd4164a-light-with-ota-requestor + # Building efr32-brd4164a-lock ninja -C {out}/efr32-brd4164a-lock # Building efr32-brd4164a-lock-rpc ninja -C {out}/efr32-brd4164a-lock-rpc +# Building efr32-brd4164a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4164a-lock-rpc-with-ota-requestor + +# Building efr32-brd4164a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4164a-lock-with-ota-requestor + # Building efr32-brd4164a-switch ninja -C {out}/efr32-brd4164a-switch +# Building efr32-brd4164a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4164a-switch-with-ota-requestor + # Building efr32-brd4164a-unit-test ninja -C {out}/efr32-brd4164a-unit-test +# Building efr32-brd4164a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4164a-unit-test-with-ota-requestor + # Building efr32-brd4164a-window-covering ninja -C {out}/efr32-brd4164a-window-covering +# Building efr32-brd4164a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4164a-window-covering-with-ota-requestor + # Building efr32-brd4166a-light ninja -C {out}/efr32-brd4166a-light # Building efr32-brd4166a-light-rpc ninja -C {out}/efr32-brd4166a-light-rpc +# Building efr32-brd4166a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4166a-light-rpc-with-ota-requestor + +# Building efr32-brd4166a-light-with-ota-requestor +ninja -C {out}/efr32-brd4166a-light-with-ota-requestor + # Building efr32-brd4166a-lock ninja -C {out}/efr32-brd4166a-lock # Building efr32-brd4166a-lock-rpc ninja -C {out}/efr32-brd4166a-lock-rpc +# Building efr32-brd4166a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4166a-lock-rpc-with-ota-requestor + +# Building efr32-brd4166a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4166a-lock-with-ota-requestor + # Building efr32-brd4166a-switch ninja -C {out}/efr32-brd4166a-switch +# Building efr32-brd4166a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4166a-switch-with-ota-requestor + # Building efr32-brd4166a-unit-test ninja -C {out}/efr32-brd4166a-unit-test +# Building efr32-brd4166a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4166a-unit-test-with-ota-requestor + # Building efr32-brd4166a-window-covering ninja -C {out}/efr32-brd4166a-window-covering +# Building efr32-brd4166a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4166a-window-covering-with-ota-requestor + # Building efr32-brd4170a-light ninja -C {out}/efr32-brd4170a-light # Building efr32-brd4170a-light-rpc ninja -C {out}/efr32-brd4170a-light-rpc +# Building efr32-brd4170a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4170a-light-rpc-with-ota-requestor + +# Building efr32-brd4170a-light-with-ota-requestor +ninja -C {out}/efr32-brd4170a-light-with-ota-requestor + # Building efr32-brd4170a-lock ninja -C {out}/efr32-brd4170a-lock # Building efr32-brd4170a-lock-rpc ninja -C {out}/efr32-brd4170a-lock-rpc +# Building efr32-brd4170a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4170a-lock-rpc-with-ota-requestor + +# Building efr32-brd4170a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4170a-lock-with-ota-requestor + # Building efr32-brd4170a-switch ninja -C {out}/efr32-brd4170a-switch +# Building efr32-brd4170a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4170a-switch-with-ota-requestor + # Building efr32-brd4170a-unit-test ninja -C {out}/efr32-brd4170a-unit-test +# Building efr32-brd4170a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4170a-unit-test-with-ota-requestor + # Building efr32-brd4170a-window-covering ninja -C {out}/efr32-brd4170a-window-covering +# Building efr32-brd4170a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4170a-window-covering-with-ota-requestor + # Building efr32-brd4186a-light ninja -C {out}/efr32-brd4186a-light # Building efr32-brd4186a-light-rpc ninja -C {out}/efr32-brd4186a-light-rpc +# Building efr32-brd4186a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4186a-light-rpc-with-ota-requestor + +# Building efr32-brd4186a-light-with-ota-requestor +ninja -C {out}/efr32-brd4186a-light-with-ota-requestor + # Building efr32-brd4186a-lock ninja -C {out}/efr32-brd4186a-lock # Building efr32-brd4186a-lock-rpc ninja -C {out}/efr32-brd4186a-lock-rpc +# Building efr32-brd4186a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4186a-lock-rpc-with-ota-requestor + +# Building efr32-brd4186a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4186a-lock-with-ota-requestor + # Building efr32-brd4186a-switch ninja -C {out}/efr32-brd4186a-switch +# Building efr32-brd4186a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4186a-switch-with-ota-requestor + # Building efr32-brd4186a-unit-test ninja -C {out}/efr32-brd4186a-unit-test +# Building efr32-brd4186a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4186a-unit-test-with-ota-requestor + # Building efr32-brd4186a-window-covering ninja -C {out}/efr32-brd4186a-window-covering +# Building efr32-brd4186a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4186a-window-covering-with-ota-requestor + # Building efr32-brd4187a-light ninja -C {out}/efr32-brd4187a-light # Building efr32-brd4187a-light-rpc ninja -C {out}/efr32-brd4187a-light-rpc +# Building efr32-brd4187a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4187a-light-rpc-with-ota-requestor + +# Building efr32-brd4187a-light-with-ota-requestor +ninja -C {out}/efr32-brd4187a-light-with-ota-requestor + # Building efr32-brd4187a-lock ninja -C {out}/efr32-brd4187a-lock # Building efr32-brd4187a-lock-rpc ninja -C {out}/efr32-brd4187a-lock-rpc +# Building efr32-brd4187a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4187a-lock-rpc-with-ota-requestor + +# Building efr32-brd4187a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4187a-lock-with-ota-requestor + # Building efr32-brd4187a-switch ninja -C {out}/efr32-brd4187a-switch +# Building efr32-brd4187a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4187a-switch-with-ota-requestor + # Building efr32-brd4187a-unit-test ninja -C {out}/efr32-brd4187a-unit-test +# Building efr32-brd4187a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4187a-unit-test-with-ota-requestor + # Building efr32-brd4187a-window-covering ninja -C {out}/efr32-brd4187a-window-covering +# Building efr32-brd4187a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4187a-window-covering-with-ota-requestor + # Building efr32-brd4304a-light ninja -C {out}/efr32-brd4304a-light # Building efr32-brd4304a-light-rpc ninja -C {out}/efr32-brd4304a-light-rpc +# Building efr32-brd4304a-light-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4304a-light-rpc-with-ota-requestor + +# Building efr32-brd4304a-light-with-ota-requestor +ninja -C {out}/efr32-brd4304a-light-with-ota-requestor + # Building efr32-brd4304a-lock ninja -C {out}/efr32-brd4304a-lock # Building efr32-brd4304a-lock-rpc ninja -C {out}/efr32-brd4304a-lock-rpc +# Building efr32-brd4304a-lock-rpc-with-ota-requestor +ninja -C {out}/efr32-brd4304a-lock-rpc-with-ota-requestor + +# Building efr32-brd4304a-lock-with-ota-requestor +ninja -C {out}/efr32-brd4304a-lock-with-ota-requestor + # Building efr32-brd4304a-switch ninja -C {out}/efr32-brd4304a-switch +# Building efr32-brd4304a-switch-with-ota-requestor +ninja -C {out}/efr32-brd4304a-switch-with-ota-requestor + # Building efr32-brd4304a-unit-test ninja -C {out}/efr32-brd4304a-unit-test +# Building efr32-brd4304a-unit-test-with-ota-requestor +ninja -C {out}/efr32-brd4304a-unit-test-with-ota-requestor + # Building efr32-brd4304a-window-covering ninja -C {out}/efr32-brd4304a-window-covering +# Building efr32-brd4304a-window-covering-with-ota-requestor +ninja -C {out}/efr32-brd4304a-window-covering-with-ota-requestor + rm -f examples/all-clusters-app/esp32/sdkconfig # Building esp32-c3devkit-all-clusters From 19c082aaaf9c264ad287c578ec1d54181db1856c Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 17:41:25 -0400 Subject: [PATCH 35/37] Add a AddressResolve::Resolver Shutdown command. (#16239) * Add a AddressResolve::Resolver Shutdown command. Ensures that we can cleanly cancel any active resolves in case tools/commands need to shut down early. * Also clear out the operational delegate during shutdown * Added support for active lookup cancellation and use that in the resolver proxy * Update the comment on Cancel to make it clear that no argument defaults was an intentional decision and somewhat discourage any future changes that may find it convenient to default to skip or cancel * Add TODO about cancelling dnssd lookups and also added a timer adjustement on lookup cancellation * Code review updates --- src/app/OperationalDeviceProxy.cpp | 24 +++++++-- src/controller/CHIPDeviceController.h | 2 - src/lib/address_resolve/AddressResolve.h | 26 ++++++++++ .../AddressResolve_DefaultImpl.cpp | 50 +++++++++++++++++++ .../AddressResolve_DefaultImpl.h | 2 + src/lib/core/CHIPError.h | 18 +++++-- 6 files changed, 113 insertions(+), 9 deletions(-) diff --git a/src/app/OperationalDeviceProxy.cpp b/src/app/OperationalDeviceProxy.cpp index 2ecd1287def89f..95edcadc4ec0fe 100644 --- a/src/app/OperationalDeviceProxy.cpp +++ b/src/app/OperationalDeviceProxy.cpp @@ -40,6 +40,9 @@ #include using namespace chip::Callback; +using chip::AddressResolve::NodeLookupRequest; +using chip::AddressResolve::Resolver; +using chip::AddressResolve::ResolveResult; namespace chip { @@ -309,6 +312,19 @@ CHIP_ERROR OperationalDeviceProxy::ShutdownSubscriptions() OperationalDeviceProxy::~OperationalDeviceProxy() { + if (mAddressLookupHandle.IsActive()) + { + ChipLogProgress(Discovery, "Cancelling incomplete address resolution as device is being deleted."); + + // Skip cancel callback since the destructor is being called, so we assume that this object is + // obviously not used anymore + CHIP_ERROR err = Resolver::Instance().CancelLookup(mAddressLookupHandle, Resolver::FailureCallback::Skip); + if (err != CHIP_NO_ERROR) + { + ChipLogError(Discovery, "Lookup cancel failed: %" CHIP_ERROR_FORMAT, err.Format()); + } + } + if (mCASEClient) { // Make sure we don't leak it. @@ -318,18 +334,18 @@ OperationalDeviceProxy::~OperationalDeviceProxy() CHIP_ERROR OperationalDeviceProxy::LookupPeerAddress() { - if (mAddressLookupHandle.IsInList()) + if (mAddressLookupHandle.IsActive()) { ChipLogProgress(Discovery, "Operational node lookup already in progress. Will NOT start a new one."); return CHIP_NO_ERROR; } - AddressResolve::NodeLookupRequest request(mPeerId); + NodeLookupRequest request(mPeerId); - return AddressResolve::Resolver::Instance().LookupNode(request, mAddressLookupHandle); + return Resolver::Instance().LookupNode(request, mAddressLookupHandle); } -void OperationalDeviceProxy::OnNodeAddressResolved(const PeerId & peerId, const AddressResolve::ResolveResult & result) +void OperationalDeviceProxy::OnNodeAddressResolved(const PeerId & peerId, const ResolveResult & result) { UpdateDeviceData(result.address, result.mrpConfig); } diff --git a/src/controller/CHIPDeviceController.h b/src/controller/CHIPDeviceController.h index ef7160d6c7a859..fccaa090af7a08 100644 --- a/src/controller/CHIPDeviceController.h +++ b/src/controller/CHIPDeviceController.h @@ -71,8 +71,6 @@ #include #endif #include -#include -#include namespace chip { diff --git a/src/lib/address_resolve/AddressResolve.h b/src/lib/address_resolve/AddressResolve.h index 4a30b8876ecf91..4b2eef1301b1a3 100644 --- a/src/lib/address_resolve/AddressResolve.h +++ b/src/lib/address_resolve/AddressResolve.h @@ -81,6 +81,9 @@ class NodeLookupHandleBase : public IntrusiveListNodeBase void SetListener(NodeListener * listener) { mListener = listener; } NodeListener * GetListener() { return mListener; } + /// Convenience method that is more readable than 'IsInList' + inline bool IsActive() const { return IntrusiveListNodeBase::IsInList(); } + protected: NodeListener * mListener = nullptr; }; @@ -168,6 +171,14 @@ class NodeLookupHandle; class Resolver { public: + /// Enumeration defining how to handle cancel callbacks during operation + /// cancellation. + enum class FailureCallback + { + Call, // Call the failure callback + Skip // do not call the failure callback (generally silent operation) + }; + virtual ~Resolver(); /// Expected to be called at least once before the resolver is ever @@ -193,6 +204,21 @@ class Resolver /// in progress) virtual CHIP_ERROR LookupNode(const NodeLookupRequest & request, Impl::NodeLookupHandle & handle) = 0; + /// Stops an active lookup request. + /// + /// Caller controlls weather the `fail` callback of the handle is invoked or not by using + /// the `cancel_method` argument. + /// + /// Note that there is no default cancel_method on purpose, so that the caller has to make + /// a clear decision if the callback should or should not be invoked. + virtual CHIP_ERROR CancelLookup(Impl::NodeLookupHandle & handle, FailureCallback cancel_method) = 0; + + /// Shut down any active resolves + /// + /// Will immediately fail any scheduled resolve calls and will refuse to register + /// any new lookups until re-initialized. + virtual void Shutdown() = 0; + /// Expected to be provided by the implementation. static Resolver & Instance(); }; diff --git a/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp b/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp index ad410e4f9dea6d..848b31b61b792b 100644 --- a/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp +++ b/src/lib/address_resolve/AddressResolve_DefaultImpl.cpp @@ -181,6 +181,8 @@ NodeLookupAction NodeLookupHandle::NextAction(System::Clock::Timestamp now) CHIP_ERROR Resolver::LookupNode(const NodeLookupRequest & request, Impl::NodeLookupHandle & handle) { + VerifyOrReturnError(mSystemLayer != nullptr, CHIP_ERROR_INCORRECT_STATE); + handle.ResetForLookup(mTimeSource.GetMonotonicTimestamp(), request); ReturnErrorOnFailure(Dnssd::Resolver::Instance().ResolveNodeId(request.GetPeerId(), Inet::IPAddressType::kAny)); mActiveLookups.PushBack(&handle); @@ -188,6 +190,29 @@ CHIP_ERROR Resolver::LookupNode(const NodeLookupRequest & request, Impl::NodeLoo return CHIP_NO_ERROR; } +CHIP_ERROR Resolver::CancelLookup(Impl::NodeLookupHandle & handle, FailureCallback cancel_method) +{ + VerifyOrReturnError(handle.IsActive(), CHIP_ERROR_INVALID_ARGUMENT); + mActiveLookups.Remove(&handle); + + // Adjust any timing updates. + ReArmTimer(); + + if (cancel_method == FailureCallback::Call) + { + handle.GetListener()->OnNodeAddressResolutionFailed(handle.GetRequest().GetPeerId(), CHIP_ERROR_CANCELLED); + } + + // TODO: There should be some form of cancel into Dnssd::Resolver::Instance() + // to stop any resolution mechanism if applicable. + // + // Current code just removes the internal list and any callbacks of resolution will + // be ignored. This works from the perspective of the caller of this method, + // but may be wasteful by letting dnssd still work in the background. + + return CHIP_NO_ERROR; +} + CHIP_ERROR Resolver::Init(System::Layer * systemLayer) { mSystemLayer = systemLayer; @@ -195,6 +220,31 @@ CHIP_ERROR Resolver::Init(System::Layer * systemLayer) return CHIP_NO_ERROR; } +void Resolver::Shutdown() +{ + while (mActiveLookups.begin() != mActiveLookups.end()) + { + auto current = mActiveLookups.begin(); + + const PeerId peerId = current->GetRequest().GetPeerId(); + NodeListener * listener = current->GetListener(); + + mActiveLookups.Erase(current); + + // Failure callback only called after iterator was cleared: + // This allows failure handlers to deallocate structures that may + // contain the active lookup data as a member (intrusive lists members) + listener->OnNodeAddressResolutionFailed(peerId, CHIP_ERROR_SHUT_DOWN); + } + + // Re-arm of timer is expected to cancel any active timer as the + // internal list of active lookups is empty at this point. + ReArmTimer(); + + mSystemLayer = nullptr; + Dnssd::Resolver::Instance().SetOperationalDelegate(nullptr); +} + void Resolver::OnOperationalNodeResolved(const Dnssd::ResolvedNodeData & nodeData) { auto it = mActiveLookups.begin(); diff --git a/src/lib/address_resolve/AddressResolve_DefaultImpl.h b/src/lib/address_resolve/AddressResolve_DefaultImpl.h index 57d6e14c812d67..ab234b88ecad69 100644 --- a/src/lib/address_resolve/AddressResolve_DefaultImpl.h +++ b/src/lib/address_resolve/AddressResolve_DefaultImpl.h @@ -135,6 +135,8 @@ class Resolver : public ::chip::AddressResolve::Resolver, public Dnssd::Operatio CHIP_ERROR Init(System::Layer * systemLayer) override; CHIP_ERROR LookupNode(const NodeLookupRequest & request, Impl::NodeLookupHandle & handle) override; + CHIP_ERROR CancelLookup(Impl::NodeLookupHandle & handle, FailureCallback cancel_method) override; + void Shutdown() override; // Dnssd::OperationalResolveDelegate diff --git a/src/lib/core/CHIPError.h b/src/lib/core/CHIPError.h index f8c3458caade7b..d1f7c440c7312d 100644 --- a/src/lib/core/CHIPError.h +++ b/src/lib/core/CHIPError.h @@ -1466,8 +1466,21 @@ using CHIP_ERROR = ::chip::ChipError; */ #define CHIP_ERROR_TOO_MANY_CONNECTIONS CHIP_CORE_ERROR(0x72) -// unused CHIP_CORE_ERROR(0x73) -// unused CHIP_CORE_ERROR(0x74) +/** + * @def CHIP_ERROR_SHUT_DOWN + * + * @brief + * The operation cancelled because a shut down was initiated + */ +#define CHIP_ERROR_SHUT_DOWN CHIP_CORE_ERROR(0x73) + +/** + * @def CHIP_ERROR_SHUT_DOWN + * + * @brief + * The operation has been cancelled, generally by calling a cancel/abort request. + */ +#define CHIP_ERROR_CANCELLED CHIP_CORE_ERROR(0x74) /** * @def CHIP_ERROR_DRBG_ENTROPY_SOURCE_FAILED @@ -2408,7 +2421,6 @@ using CHIP_ERROR = ::chip::ChipError; */ #define CHIP_ERROR_BUSY CHIP_CORE_ERROR(0xdb) - /** * @} */ From ba133af4b28376d59dcbc418ea5ac13bfd66e4a7 Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 17:41:39 -0400 Subject: [PATCH 36/37] Modernize use nullptr (#16306) * use clang-tidy to modernize-use-nullptr * Use BLE_CONNECTION_UNINITIALIZED instead of NULL for ble comparisons * Define BLE_CONNECTION_UNINITIALIZED as nullptr instead of NULL * Restyle --- src/app/MessageDef/Builder.cpp | 2 +- src/app/util/af-event.cpp | 12 ++-- src/app/util/attribute-size-util.cpp | 2 +- src/app/util/attribute-storage.cpp | 68 +++++++++---------- src/app/util/attribute-table.cpp | 22 +++--- src/app/util/client-api.cpp | 10 +-- src/app/util/message.cpp | 14 ++-- src/app/util/util.cpp | 20 +++--- src/ble/BleConfig.h | 2 +- src/crypto/CHIPCryptoPALOpenSSL.cpp | 53 ++++++++------- src/lib/core/CHIPTLVUpdater.cpp | 6 +- src/lib/support/UnitTestUtils.cpp | 2 +- .../Linux/ConfigurationManagerImpl.cpp | 4 +- .../Linux/ConnectivityManagerImpl.cpp | 10 +-- .../Linux/DiagnosticDataProviderImpl.cpp | 2 +- src/platform/Linux/DnssdImpl.cpp | 2 +- src/platform/Linux/PlatformManagerImpl.cpp | 12 ++-- src/protocols/secure_channel/PASESession.cpp | 2 +- .../secure_channel/RendezvousParameters.h | 4 +- src/system/SystemTimer.cpp | 2 +- 20 files changed, 126 insertions(+), 125 deletions(-) diff --git a/src/app/MessageDef/Builder.cpp b/src/app/MessageDef/Builder.cpp index e93582412f1922..ef804028566406 100644 --- a/src/app/MessageDef/Builder.cpp +++ b/src/app/MessageDef/Builder.cpp @@ -32,7 +32,7 @@ using namespace chip::TLV; namespace chip { namespace app { -Builder::Builder() : mError(CHIP_ERROR_INCORRECT_STATE), mpWriter(NULL), mOuterContainerType(chip::TLV::kTLVType_NotSpecified) {} +Builder::Builder() : mError(CHIP_ERROR_INCORRECT_STATE), mpWriter(nullptr), mOuterContainerType(chip::TLV::kTLVType_NotSpecified) {} void Builder::Init(chip::TLV::TLVWriter * const apWriter, chip::TLV::TLVType aOuterContainerType) { diff --git a/src/app/util/af-event.cpp b/src/app/util/af-event.cpp index 0ced20d5af59aa..9cc2b8495a71d4 100644 --- a/src/app/util/af-event.cpp +++ b/src/app/util/af-event.cpp @@ -84,7 +84,7 @@ const char * emAfEventStrings[] = { EMBER_AF_GENERATED_EVENT_STRINGS #endif - NULL, + nullptr, }; EmberEventData emAfEvents[] = { @@ -93,7 +93,7 @@ EmberEventData emAfEvents[] = { EMBER_AF_GENERATED_EVENTS #endif - { NULL, NULL } + { nullptr, nullptr } }; void EventControlHandler(chip::System::Layer * systemLayer, void * appState) @@ -103,7 +103,7 @@ void EventControlHandler(chip::System::Layer * systemLayer, void * appState) { control->status = EMBER_EVENT_INACTIVE; - if (control->callback != NULL) + if (control->callback != nullptr) { (control->callback)(control->endpoint); return; @@ -146,7 +146,7 @@ static EmberAfEventContext * findEventContext(EndpointId endpoint, ClusterId clu } } #endif // EMBER_AF_GENERATED_EVENT_CONTEXT - return NULL; + return nullptr; } EmberStatus emberEventControlSetDelayMS(EmberEventControl * control, uint32_t delayMs) @@ -218,7 +218,7 @@ EmberStatus emberAfScheduleTickExtended(EndpointId endpoint, ClusterId clusterId // simulation. EMBER_TEST_ASSERT(emberAfEndpointIsEnabled(endpoint)); - if (context != NULL && emberAfEndpointIsEnabled(endpoint) && + if (context != nullptr && emberAfEndpointIsEnabled(endpoint) && (emberEventControlSetDelayMS(context->eventControl, delayMs) == EMBER_SUCCESS)) { context->pollControl = pollControl; @@ -261,7 +261,7 @@ EmberStatus emberAfScheduleServerTick(EndpointId endpoint, ClusterId clusterId, EmberStatus emberAfDeactivateClusterTick(EndpointId endpoint, ClusterId clusterId, bool isClient) { EmberAfEventContext * context = findEventContext(endpoint, clusterId, isClient); - if (context != NULL) + if (context != nullptr) { emberEventControlSetInactive(context->eventControl); return EMBER_SUCCESS; diff --git a/src/app/util/attribute-size-util.cpp b/src/app/util/attribute-size-util.cpp index c5b7f467598b11..a318befcdc1500 100644 --- a/src/app/util/attribute-size-util.cpp +++ b/src/app/util/attribute-size-util.cpp @@ -75,7 +75,7 @@ uint16_t emberAfAttributeValueSize(ClusterId clusterId, AttributeId attrId, Embe uint16_t dataSize = 0; if (emberAfIsThisDataTypeAStringType(dataType)) { - if (buffer != 0) + if (buffer != nullptr) { if (emberAfIsStringAttributeType(dataType)) { diff --git a/src/app/util/attribute-storage.cpp b/src/app/util/attribute-storage.cpp index 8340282cedf51a..748ac1c84cddf3 100644 --- a/src/app/util/attribute-storage.cpp +++ b/src/app/util/attribute-storage.cpp @@ -316,10 +316,10 @@ void emberAfClusterDefaultResponseCallback(EndpointId endpoint, ClusterId cluste uint8_t clientServerMask) { const EmberAfCluster * cluster = emberAfFindCluster(endpoint, clusterId, clientServerMask); - if (cluster != NULL) + if (cluster != nullptr) { EmberAfGenericClusterFunction f = emberAfFindClusterFunction(cluster, CLUSTER_MASK_DEFAULT_RESPONSE_FUNCTION); - if (f != NULL) + if (f != nullptr) { ((EmberAfDefaultResponseFunction) f)(endpoint, commandId, status); } @@ -330,16 +330,16 @@ void emberAfClusterDefaultResponseCallback(EndpointId endpoint, ClusterId cluste void emberAfClusterMessageSentCallback(const MessageSendDestination & destination, EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status) { - if (apsFrame != NULL && message != NULL && msgLen != 0) + if (apsFrame != nullptr && message != nullptr && msgLen != 0) { const EmberAfCluster * cluster = emberAfFindCluster( apsFrame->sourceEndpoint, apsFrame->clusterId, (((message[0] & ZCL_FRAME_CONTROL_DIRECTION_MASK) == ZCL_FRAME_CONTROL_SERVER_TO_CLIENT) ? CLUSTER_MASK_SERVER : CLUSTER_MASK_CLIENT)); - if (cluster != NULL) + if (cluster != nullptr) { EmberAfGenericClusterFunction f = emberAfFindClusterFunction(cluster, CLUSTER_MASK_MESSAGE_SENT_FUNCTION); - if (f != NULL) + if (f != nullptr) { ((EmberAfMessageSentFunction) f)(destination, apsFrame, msgLen, message, status); } @@ -351,10 +351,10 @@ void emberAfClusterMessageSentCallback(const MessageSendDestination & destinatio void emAfClusterAttributeChangedCallback(const app::ConcreteAttributePath & attributePath, uint8_t clientServerMask) { const EmberAfCluster * cluster = emberAfFindCluster(attributePath.mEndpointId, attributePath.mClusterId, clientServerMask); - if (cluster != NULL) + if (cluster != nullptr) { EmberAfGenericClusterFunction f = emberAfFindClusterFunction(cluster, CLUSTER_MASK_ATTRIBUTE_CHANGED_FUNCTION); - if (f != NULL) + if (f != nullptr) { ((EmberAfClusterAttributeChangedCallback) f)(attributePath); } @@ -366,7 +366,7 @@ EmberAfStatus emAfClusterPreAttributeChangedCallback(const app::ConcreteAttribut EmberAfAttributeType attributeType, uint16_t size, uint8_t * value) { const EmberAfCluster * cluster = emberAfFindCluster(attributePath.mEndpointId, attributePath.mClusterId, clientServerMask); - if (cluster == NULL) + if (cluster == nullptr) { return EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE; } @@ -376,7 +376,7 @@ EmberAfStatus emAfClusterPreAttributeChangedCallback(const app::ConcreteAttribut // of the call on gcc-arm-none-eabi-9-2019-q4-major EmberAfClusterPreAttributeChangedCallback f = (EmberAfClusterPreAttributeChangedCallback)( emberAfFindClusterFunction(cluster, CLUSTER_MASK_PRE_ATTRIBUTE_CHANGED_FUNCTION)); - if (f != NULL) + if (f != nullptr) { status = f(attributePath, attributeType, size, value); } @@ -393,7 +393,7 @@ static void initializeEndpoint(EmberAfDefinedEndpoint * definedEndpoint) EmberAfGenericClusterFunction f; emberAfClusterInitCallback(definedEndpoint->endpoint, cluster->clusterId); f = emberAfFindClusterFunction(cluster, CLUSTER_MASK_INIT_FUNCTION); - if (f != NULL) + if (f != nullptr) { ((EmberAfInitFunction) f)(definedEndpoint->endpoint); } @@ -417,16 +417,16 @@ void emAfCallInits(void) const EmberAfAttributeMetadata * emberAfLocateAttributeMetadata(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, uint8_t mask) { - const EmberAfAttributeMetadata * metadata = NULL; + const EmberAfAttributeMetadata * metadata = nullptr; EmberAfAttributeSearchRecord record; record.endpoint = endpoint; record.clusterId = clusterId; record.clusterMask = mask; record.attributeId = attributeId; emAfReadOrWriteAttribute(&record, &metadata, - NULL, // buffer - 0, // buffer size - false); // write? + nullptr, // buffer + 0, // buffer size + false); // write? return metadata; } @@ -491,7 +491,7 @@ static EmberAfStatus typeSensitiveMemCopy(ClusterId clusterId, uint8_t * dest, u { return EMBER_ZCL_STATUS_INSUFFICIENT_SPACE; } - if (src == NULL) + if (src == nullptr) { memset(dest, 0, am->size); } @@ -577,7 +577,7 @@ EmberAfStatus emAfReadOrWriteAttribute(EmberAfAttributeSearchRecord * attRecord, if (emAfMatchAttribute(cluster, am, attRecord)) { // Got the attribute // If passed metadata location is not null, populate - if (metadata != NULL) + if (metadata != nullptr) { *metadata = am; } @@ -599,7 +599,7 @@ EmberAfStatus emAfReadOrWriteAttribute(EmberAfAttributeSearchRecord * attRecord, } else { - if (buffer == NULL) + if (buffer == nullptr) { return EMBER_ZCL_STATUS_SUCCESS; } @@ -698,7 +698,7 @@ const EmberAfCluster * emberAfFindClusterInType(const EmberAfEndpointType * endp } } - return NULL; + return nullptr; } uint8_t emberAfClusterIndex(EndpointId endpoint, ClusterId clusterId, EmberAfClusterMask mask) @@ -711,7 +711,7 @@ uint8_t emberAfClusterIndex(EndpointId endpoint, ClusterId clusterId, EmberAfClu { const EmberAfEndpointType * endpointType = emAfEndpoints[ep].endpointType; uint8_t index = 0xFF; - if (emberAfFindClusterInType(endpointType, clusterId, mask, &index) != NULL) + if (emberAfFindClusterInType(endpointType, clusterId, mask, &index) != nullptr) { return index; } @@ -724,19 +724,19 @@ uint8_t emberAfClusterIndex(EndpointId endpoint, ClusterId clusterId, EmberAfClu // cluster on it. bool emberAfContainsCluster(EndpointId endpoint, ClusterId clusterId) { - return (emberAfFindCluster(endpoint, clusterId, 0) != NULL); + return (emberAfFindCluster(endpoint, clusterId, 0) != nullptr); } // Returns whether the given endpoint has the server of the given cluster on it. bool emberAfContainsServer(EndpointId endpoint, ClusterId clusterId) { - return (emberAfFindCluster(endpoint, clusterId, CLUSTER_MASK_SERVER) != NULL); + return (emberAfFindCluster(endpoint, clusterId, CLUSTER_MASK_SERVER) != nullptr); } // Returns whether the given endpoint has the client of the given cluster on it. bool emberAfContainsClient(EndpointId endpoint, ClusterId clusterId) { - return (emberAfFindCluster(endpoint, clusterId, CLUSTER_MASK_CLIENT) != NULL); + return (emberAfFindCluster(endpoint, clusterId, CLUSTER_MASK_CLIENT) != nullptr); } // This will find the first server that has the clusterId given from the index of endpoint. @@ -789,7 +789,7 @@ const EmberAfCluster * emberAfFindCluster(EndpointId endpoint, ClusterId cluster uint16_t ep = emberAfIndexFromEndpoint(endpoint); if (ep == 0xFFFF) { - return NULL; + return nullptr; } return emberAfFindClusterInType(emAfEndpoints[ep].endpointType, clusterId, mask); @@ -804,7 +804,7 @@ const EmberAfCluster * emberAfFindClusterIncludingDisabledEndpoints(EndpointId e { return emberAfFindClusterInType(emAfEndpoints[ep].endpointType, clusterId, mask); } - return NULL; + return nullptr; } // Server wrapper for findClusterEndpointIndex @@ -824,7 +824,7 @@ static uint16_t findClusterEndpointIndex(EndpointId endpoint, ClusterId clusterI { uint16_t i, epi = 0; - if (emberAfFindCluster(endpoint, clusterId, mask) == NULL) + if (emberAfFindCluster(endpoint, clusterId, mask) == nullptr) { return 0xFFFF; } @@ -836,7 +836,7 @@ static uint16_t findClusterEndpointIndex(EndpointId endpoint, ClusterId clusterI break; } epi = static_cast( - epi + ((emberAfFindClusterIncludingDisabledEndpoints(emAfEndpoints[i].endpoint, clusterId, mask) != NULL) ? 1 : 0)); + epi + ((emberAfFindClusterIncludingDisabledEndpoints(emAfEndpoints[i].endpoint, clusterId, mask) != nullptr) ? 1 : 0)); } return epi; @@ -1002,7 +1002,7 @@ uint8_t emberAfClusterCount(EndpointId endpoint, bool server) uint8_t emberAfClusterCountByIndex(uint16_t endpointIndex, bool server) { const EmberAfDefinedEndpoint * de = &(emAfEndpoints[endpointIndex]); - if (de->endpointType == NULL) + if (de->endpointType == nullptr) { return 0; } @@ -1054,13 +1054,13 @@ const EmberAfCluster * emberAfGetClusterByIndex(EndpointId endpoint, uint8_t clu if (endpointIndex == 0xFFFF) { - return NULL; + return nullptr; } definedEndpoint = &(emAfEndpoints[endpointIndex]); if (clusterIndex >= definedEndpoint->endpointType->clusterCount) { - return NULL; + return nullptr; } return &(definedEndpoint->endpointType->cluster[clusterIndex]); } @@ -1086,7 +1086,7 @@ const EmberAfCluster * emberAfGetNthCluster(EndpointId endpoint, uint8_t n, bool if (index == 0xFFFF) { - return NULL; + return nullptr; } de = &(emAfEndpoints[index]); @@ -1103,7 +1103,7 @@ const EmberAfCluster * emberAfGetNthCluster(EndpointId endpoint, uint8_t n, bool c++; } } - return NULL; + return nullptr; } // Returns the cluster id of Nth server or client cluster, @@ -1133,7 +1133,7 @@ uint8_t emberAfGetClustersFromEndpoint(EndpointId endpoint, ClusterId * clusterL for (i = 0; i < clusterCount; i++) { cluster = emberAfGetNthCluster(endpoint, i, server); - clusterList[i] = (cluster == NULL ? 0xFFFF : cluster->clusterId); + clusterList[i] = (cluster == nullptr ? 0xFFFF : cluster->clusterId); } return clusterCount; } @@ -1267,7 +1267,7 @@ void emAfLoadAttributeDefaults(EndpointId endpoint, bool ignoreStorage, Optional } emAfReadOrWriteAttribute(&record, - NULL, // metadata - unused + nullptr, // metadata - unused ptr, 0, // buffer size - unused true); // write? @@ -1341,7 +1341,7 @@ EmberAfGenericClusterFunction emberAfFindClusterFunction(const EmberAfCluster * if ((cluster->mask & functionMask) == 0) { - return NULL; + return nullptr; } while (mask < functionMask) diff --git a/src/app/util/attribute-table.cpp b/src/app/util/attribute-table.cpp index 617e02b8fbb2e4..13e2efc42bfe83 100644 --- a/src/app/util/attribute-table.cpp +++ b/src/app/util/attribute-table.cpp @@ -127,13 +127,13 @@ EmberAfStatus emberAfReadAttribute(EndpointId endpoint, ClusterId cluster, Attri EmberAfStatus emberAfReadServerAttribute(EndpointId endpoint, ClusterId cluster, AttributeId attributeID, uint8_t * dataPtr, uint16_t readLength) { - return emAfReadAttribute(endpoint, cluster, attributeID, CLUSTER_MASK_SERVER, dataPtr, readLength, NULL); + return emAfReadAttribute(endpoint, cluster, attributeID, CLUSTER_MASK_SERVER, dataPtr, readLength, nullptr); } EmberAfStatus emberAfReadClientAttribute(EndpointId endpoint, ClusterId cluster, AttributeId attributeID, uint8_t * dataPtr, uint16_t readLength) { - return emAfReadAttribute(endpoint, cluster, attributeID, CLUSTER_MASK_CLIENT, dataPtr, readLength, NULL); + return emAfReadAttribute(endpoint, cluster, attributeID, CLUSTER_MASK_CLIENT, dataPtr, readLength, nullptr); } static void emberAfAttributeDecodeAndPrintCluster(ClusterId cluster) @@ -185,7 +185,7 @@ void emberAfPrintAttributeTable(void) emberAfAttributesFlush(); status = emAfReadAttribute(ep->endpoint, cluster->clusterId, metaData->attributeId, (emberAfAttributeIsClient(metaData) ? CLUSTER_MASK_CLIENT : CLUSTER_MASK_SERVER), data, - ATTRIBUTE_LARGEST, NULL); + ATTRIBUTE_LARGEST, nullptr); if (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) { emberAfAttributesPrintln("Unsupported"); @@ -299,19 +299,19 @@ static bool IsNullValue(const uint8_t * data, uint16_t dataLen, bool isAttribute EmberAfStatus emAfWriteAttribute(EndpointId endpoint, ClusterId cluster, AttributeId attributeID, uint8_t mask, uint8_t * data, EmberAfAttributeType dataType, bool overrideReadOnlyAndDataType, bool justTest) { - const EmberAfAttributeMetadata * metadata = NULL; + const EmberAfAttributeMetadata * metadata = nullptr; EmberAfAttributeSearchRecord record; record.endpoint = endpoint; record.clusterId = cluster; record.clusterMask = mask; record.attributeId = attributeID; emAfReadOrWriteAttribute(&record, &metadata, - NULL, // buffer - 0, // buffer size - false); // write? + nullptr, // buffer + 0, // buffer size + false); // write? // if we dont support that attribute - if (metadata == NULL) + if (metadata == nullptr) { emberAfAttributesPrintln("%pep %x clus " ChipLogFormatMEI " attr " ChipLogFormatMEI " not supported", "WRITE ERR: ", endpoint, ChipLogValueMEI(cluster), ChipLogValueMEI(attributeID)); @@ -402,7 +402,7 @@ EmberAfStatus emAfWriteAttribute(EndpointId endpoint, ClusterId cluster, Attribu // write the attribute status = emAfReadOrWriteAttribute(&record, - NULL, // metadata + nullptr, // metadata data, 0, // buffer size - unused true); // write? @@ -444,7 +444,7 @@ EmberAfStatus emAfWriteAttribute(EndpointId endpoint, ClusterId cluster, Attribu EmberAfStatus emAfReadAttribute(EndpointId endpoint, ClusterId cluster, AttributeId attributeID, uint8_t mask, uint8_t * dataPtr, uint16_t readLength, EmberAfAttributeType * dataType) { - const EmberAfAttributeMetadata * metadata = NULL; + const EmberAfAttributeMetadata * metadata = nullptr; EmberAfAttributeSearchRecord record; EmberAfStatus status; record.endpoint = endpoint; @@ -457,7 +457,7 @@ EmberAfStatus emAfReadAttribute(EndpointId endpoint, ClusterId cluster, Attribut if (status == EMBER_ZCL_STATUS_SUCCESS) { // It worked! If the user asked for the type, set it before returning. - if (dataType != NULL) + if (dataType != nullptr) { (*dataType) = metadata->attributeType; } diff --git a/src/app/util/client-api.cpp b/src/app/util/client-api.cpp index cb2d25038a3e8d..79f1c7243b694e 100644 --- a/src/app/util/client-api.cpp +++ b/src/app/util/client-api.cpp @@ -45,14 +45,14 @@ using namespace chip; -uint8_t * emAfZclBuffer = NULL; +uint8_t * emAfZclBuffer = nullptr; uint16_t emAfZclBufferLen = 0; // Pointer to where this API should put the length -uint16_t * emAfResponseLengthPtr = NULL; +uint16_t * emAfResponseLengthPtr = nullptr; // Pointer to where the API should put the cluster ID -EmberApsFrame * emAfCommandApsFrame = NULL; +EmberApsFrame * emAfCommandApsFrame = nullptr; ///////////////// @@ -101,7 +101,7 @@ static uint16_t vFillBuffer(uint8_t * buffer, uint16_t bufferLen, uint8_t frameC char cmd; value = 0; valueLen = 0; - data = 0; + data = nullptr; cmd = format[i]; if (cmd <= 's') { @@ -231,7 +231,7 @@ static uint16_t vFillBuffer(uint8_t * buffer, uint16_t bufferLen, uint8_t frameC // explicit check. if (dataLen != 0) { - if (data == NULL) + if (data == nullptr) { emberAfDebugPrintln("ERR: Missing data for %d bytes for format '%c'", dataLen, cmd); return 0; diff --git a/src/app/util/message.cpp b/src/app/util/message.cpp index 562211966d5938..97d744ff389296 100644 --- a/src/app/util/message.cpp +++ b/src/app/util/message.cpp @@ -73,7 +73,7 @@ void emberAfClearResponseData(void) emberAfResponseType = ZCL_UTIL_RESP_NORMAL; // To prevent accidentally sending to someone else, // set the destination to ourselves. - emberAfResponseDestination = 0 /* emberAfGetNodeId() */; + emberAfResponseDestination = nullptr /* emberAfGetNodeId() */; memset(appResponseData, 0, EMBER_AF_RESPONSE_BUFFER_LEN); appResponseLength = 0; memset(&emberAfResponseApsFrame, 0, sizeof(EmberApsFrame)); @@ -90,7 +90,7 @@ uint8_t * emberAfPutInt8uInResp(uint8_t value) return &appResponseData[appResponseLength - 1]; } - return NULL; + return nullptr; } uint16_t * emberAfPutInt16uInResp(uint16_t value) @@ -103,7 +103,7 @@ uint16_t * emberAfPutInt16uInResp(uint16_t value) return (uint16_t *) low; } - return NULL; + return nullptr; } uint32_t * emberAfPutInt32uInResp(uint32_t value) @@ -118,7 +118,7 @@ uint32_t * emberAfPutInt32uInResp(uint32_t value) return (uint32_t *) a; } - return NULL; + return nullptr; } uint32_t * emberAfPutInt24uInResp(uint32_t value) @@ -132,7 +132,7 @@ uint32_t * emberAfPutInt24uInResp(uint32_t value) return (uint32_t *) a; } - return NULL; + return nullptr; } uint8_t * emberAfPutBlockInResp(const uint8_t * data, uint16_t length) @@ -144,7 +144,7 @@ uint8_t * emberAfPutBlockInResp(const uint8_t * data, uint16_t length) return &appResponseData[appResponseLength - length]; } - return NULL; + return nullptr; } uint8_t * emberAfPutStringInResp(const uint8_t * buffer) @@ -165,7 +165,7 @@ uint8_t * emberAfPutDateInResp(EmberAfDate * value) return a; } - return NULL; + return nullptr; } void emberAfPutInt16sInResp(int16_t value) diff --git a/src/app/util/util.cpp b/src/app/util/util.cpp index 8a1149159692bf..279495dd8ef4e0 100644 --- a/src/app/util/util.cpp +++ b/src/app/util/util.cpp @@ -74,8 +74,8 @@ uint32_t afNumPktsSent; #endif const EmberAfClusterName zclClusterNames[] = { - CLUSTER_IDS_TO_NAMES // defined in print-cluster.h - { ZCL_NULL_CLUSTER_ID, EMBER_AF_NULL_MANUFACTURER_CODE, NULL }, // terminator + CLUSTER_IDS_TO_NAMES // defined in print-cluster.h + { ZCL_NULL_CLUSTER_ID, EMBER_AF_NULL_MANUFACTURER_CODE, nullptr }, // terminator }; // A pointer to the current command being processed @@ -312,7 +312,7 @@ void emberAfDecodeAndPrintCluster(ClusterId cluster) // for references to the standard library. uint16_t emberAfGetMfgCodeFromCurrentCommand(void) { - if (emberAfCurrentCommand() != NULL) + if (emberAfCurrentCommand() != nullptr) { return emberAfCurrentCommand()->mfgCode; } @@ -359,7 +359,7 @@ EmberAfRetryOverride emberAfGetRetryOverride(void) void emAfApplyRetryOverride(EmberApsOption * options) { - if (options == NULL) + if (options == nullptr) { return; } @@ -393,7 +393,7 @@ EmberAfDisableDefaultResponse emberAfGetDisableDefaultResponse(void) void emAfApplyDisableDefaultResponse(uint8_t * frame_control) { - if (frame_control == NULL) + if (frame_control == nullptr) { return; } @@ -457,7 +457,7 @@ void emberAfCopyInt32u(uint8_t * data, uint16_t index, uint32_t x) void emberAfCopyString(uint8_t * dest, const uint8_t * src, size_t size) { - if (src == NULL) + if (src == nullptr) { dest[0] = 0; // Zero out the length of string } @@ -480,7 +480,7 @@ void emberAfCopyString(uint8_t * dest, const uint8_t * src, size_t size) void emberAfCopyLongString(uint8_t * dest, const uint8_t * src, size_t size) { - if (src == NULL) + if (src == nullptr) { dest[0] = dest[1] = 0; // Zero out the length of string } @@ -525,7 +525,7 @@ int8_t emberAfCompareValues(const uint8_t * val1, const uint8_t * val2, uint16_t for (i = 0; i < len; i++) { - j = (val1 == NULL ? 0 : (EM_BIG_ENDIAN ? val1[i] : val1[(len - 1) - i])); + j = (val1 == nullptr ? 0 : (EM_BIG_ENDIAN ? val1[i] : val1[(len - 1) - i])); accum1 |= j << (8 * (len - 1 - i)); k = (EM_BIG_ENDIAN ? val2[i] : val2[(len - 1) - i]); @@ -567,7 +567,7 @@ int8_t emberAfCompareValues(const uint8_t * val1, const uint8_t * val2, uint16_t { // regular unsigned number comparison for (i = 0; i < len; i++) { - j = (val1 == NULL ? 0 : (EM_BIG_ENDIAN ? val1[i] : val1[(len - 1) - i])); + j = (val1 == nullptr ? 0 : (EM_BIG_ENDIAN ? val1[i] : val1[(len - 1) - i])); k = (EM_BIG_ENDIAN ? val2[i] : val2[(len - 1) - i]); if (j > k) @@ -638,7 +638,7 @@ uint8_t emberAfAppendCharacters(uint8_t * zclString, uint8_t zclStringMaxLen, co uint8_t curLen; uint8_t charsToWrite; - if ((zclString == NULL) || (zclStringMaxLen == 0) || (appendingChars == NULL) || (appendingCharsLen == 0)) + if ((zclString == nullptr) || (zclStringMaxLen == 0) || (appendingChars == nullptr) || (appendingCharsLen == 0)) { return 0; } diff --git a/src/ble/BleConfig.h b/src/ble/BleConfig.h index 70340bfff0cfe5..1c514dc21b5807 100644 --- a/src/ble/BleConfig.h +++ b/src/ble/BleConfig.h @@ -122,7 +122,7 @@ * */ #ifndef BLE_CONNECTION_UNINITIALIZED -#define BLE_CONNECTION_UNINITIALIZED NULL +#define BLE_CONNECTION_UNINITIALIZED nullptr #endif // BLE_CONNECTION_UNINITIALIZED /** diff --git a/src/crypto/CHIPCryptoPALOpenSSL.cpp b/src/crypto/CHIPCryptoPALOpenSSL.cpp index 814b90a56980f5..fecd6296b1b4d4 100644 --- a/src/crypto/CHIPCryptoPALOpenSSL.cpp +++ b/src/crypto/CHIPCryptoPALOpenSSL.cpp @@ -1525,9 +1525,9 @@ static void security_free_cert_list(X509_LIST * certs) CHIP_ERROR LoadCertsFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, uint32_t * max_certs) { CHIP_ERROR err = CHIP_NO_ERROR; - X509_LIST * certs = NULL; - BIO * bio_cert = NULL; - PKCS7 * p7 = NULL; + X509_LIST * certs = nullptr; + BIO * bio_cert = nullptr; + PKCS7 * p7 = nullptr; int p7_type = 0; VerifyOrExit(x509list != nullptr, err = CHIP_ERROR_INVALID_ARGUMENT); @@ -1535,7 +1535,7 @@ CHIP_ERROR LoadCertsFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, bio_cert = BIO_new_mem_buf(pkcs7, -1); - p7 = PEM_read_bio_PKCS7(bio_cert, NULL, NULL, NULL); + p7 = PEM_read_bio_PKCS7(bio_cert, nullptr, nullptr, nullptr); VerifyOrExit(p7 != nullptr, err = CHIP_ERROR_WRONG_CERT_TYPE); p7_type = OBJ_obj2nid(p7->type); @@ -1548,7 +1548,7 @@ CHIP_ERROR LoadCertsFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, certs = p7->d.signed_and_enveloped->cert; } - VerifyOrExit(certs != NULL, err = CHIP_ERROR_WRONG_CERT_TYPE); + VerifyOrExit(certs != nullptr, err = CHIP_ERROR_WRONG_CERT_TYPE); VerifyOrExit(static_cast(sk_X509_num(certs)) <= *max_certs, err = CHIP_ERROR_WRONG_CERT_TYPE); *max_certs = static_cast(sk_X509_num(certs)); @@ -1579,16 +1579,16 @@ CHIP_ERROR LoadCertsFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, CHIP_ERROR LoadCertFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, uint32_t n_cert) { CHIP_ERROR err = CHIP_NO_ERROR; - X509_LIST * certs = NULL; - BIO * bio_cert = NULL; - PKCS7 * p7 = NULL; + X509_LIST * certs = nullptr; + BIO * bio_cert = nullptr; + PKCS7 * p7 = nullptr; int p7_type = 0; VerifyOrExit(x509list != nullptr, err = CHIP_ERROR_INVALID_ARGUMENT); bio_cert = BIO_new_mem_buf(pkcs7, -1); - p7 = PEM_read_bio_PKCS7(bio_cert, NULL, NULL, NULL); + p7 = PEM_read_bio_PKCS7(bio_cert, nullptr, nullptr, nullptr); VerifyOrExit(p7 != nullptr, err = CHIP_ERROR_WRONG_CERT_TYPE); p7_type = OBJ_obj2nid(p7->type); @@ -1601,7 +1601,7 @@ CHIP_ERROR LoadCertFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, certs = p7->d.signed_and_enveloped->cert; } - VerifyOrExit(certs != NULL, err = CHIP_ERROR_WRONG_CERT_TYPE); + VerifyOrExit(certs != nullptr, err = CHIP_ERROR_WRONG_CERT_TYPE); VerifyOrExit(n_cert < static_cast(sk_X509_num(certs)), err = CHIP_ERROR_INVALID_ARGUMENT); certs = X509_chain_up_ref(certs); @@ -1629,16 +1629,16 @@ CHIP_ERROR LoadCertFromPKCS7(const char * pkcs7, X509DerCertificate * x509list, CHIP_ERROR GetNumberOfCertsFromPKCS7(const char * pkcs7, uint32_t * n_certs) { CHIP_ERROR err = CHIP_NO_ERROR; - X509_LIST * certs = NULL; - BIO * bio_cert = NULL; - PKCS7 * p7 = NULL; + X509_LIST * certs = nullptr; + BIO * bio_cert = nullptr; + PKCS7 * p7 = nullptr; int p7_type = 0; VerifyOrExit(n_certs != nullptr, err = CHIP_ERROR_INVALID_ARGUMENT); bio_cert = BIO_new_mem_buf(pkcs7, -1); - p7 = PEM_read_bio_PKCS7(bio_cert, NULL, NULL, NULL); + p7 = PEM_read_bio_PKCS7(bio_cert, nullptr, nullptr, nullptr); VerifyOrExit(p7 != nullptr, err = CHIP_ERROR_WRONG_CERT_TYPE); p7_type = OBJ_obj2nid(p7->type); @@ -1651,7 +1651,7 @@ CHIP_ERROR GetNumberOfCertsFromPKCS7(const char * pkcs7, uint32_t * n_certs) certs = p7->d.signed_and_enveloped->cert; } - VerifyOrExit(certs != NULL, err = CHIP_ERROR_WRONG_CERT_TYPE); + VerifyOrExit(certs != nullptr, err = CHIP_ERROR_WRONG_CERT_TYPE); *n_certs = static_cast(sk_X509_num(certs)); @@ -1689,25 +1689,25 @@ CHIP_ERROR ValidateCertificateChain(const uint8_t * rootCertificate, size_t root verifyCtx = X509_STORE_CTX_new(); VerifyOrExit(verifyCtx != nullptr, (result = CertificateChainValidationResult::kNoMemory, err = CHIP_ERROR_NO_MEMORY)); - x509RootCertificate = d2i_X509(NULL, &rootCertificate, static_cast(rootCertificateLen)); + x509RootCertificate = d2i_X509(nullptr, &rootCertificate, static_cast(rootCertificateLen)); VerifyOrExit(x509RootCertificate != nullptr, (result = CertificateChainValidationResult::kRootFormatInvalid, err = CHIP_ERROR_INTERNAL)); status = X509_STORE_add_cert(store, x509RootCertificate); VerifyOrExit(status == 1, (result = CertificateChainValidationResult::kInternalFrameworkError, err = CHIP_ERROR_INTERNAL)); - x509CACertificate = d2i_X509(NULL, &caCertificate, static_cast(caCertificateLen)); + x509CACertificate = d2i_X509(nullptr, &caCertificate, static_cast(caCertificateLen)); VerifyOrExit(x509CACertificate != nullptr, (result = CertificateChainValidationResult::kICAFormatInvalid, err = CHIP_ERROR_INTERNAL)); status = X509_STORE_add_cert(store, x509CACertificate); VerifyOrExit(status == 1, (result = CertificateChainValidationResult::kInternalFrameworkError, err = CHIP_ERROR_INTERNAL)); - x509LeafCertificate = d2i_X509(NULL, &leafCertificate, static_cast(leafCertificateLen)); + x509LeafCertificate = d2i_X509(nullptr, &leafCertificate, static_cast(leafCertificateLen)); VerifyOrExit(x509LeafCertificate != nullptr, (result = CertificateChainValidationResult::kLeafFormatInvalid, err = CHIP_ERROR_INTERNAL)); - status = X509_STORE_CTX_init(verifyCtx, store, x509LeafCertificate, NULL); + status = X509_STORE_CTX_init(verifyCtx, store, x509LeafCertificate, nullptr); VerifyOrExit(status == 1, (result = CertificateChainValidationResult::kInternalFrameworkError, err = CHIP_ERROR_INTERNAL)); status = X509_verify_cert(verifyCtx); @@ -1740,10 +1740,11 @@ CHIP_ERROR IsCertificateValidAtIssuance(const ByteSpan & referenceCertificate, c VerifyOrReturnError(!referenceCertificate.empty() && !toBeEvaluatedCertificate.empty(), CHIP_ERROR_INVALID_ARGUMENT); - x509ReferenceCertificate = d2i_X509(NULL, &pReferenceCertificate, static_cast(referenceCertificate.size())); + x509ReferenceCertificate = d2i_X509(nullptr, &pReferenceCertificate, static_cast(referenceCertificate.size())); VerifyOrExit(x509ReferenceCertificate != nullptr, error = CHIP_ERROR_NO_MEMORY); - x509toBeEvaluatedCertificate = d2i_X509(NULL, &pToBeEvaluatedCertificate, static_cast(toBeEvaluatedCertificate.size())); + x509toBeEvaluatedCertificate = + d2i_X509(nullptr, &pToBeEvaluatedCertificate, static_cast(toBeEvaluatedCertificate.size())); VerifyOrExit(x509toBeEvaluatedCertificate != nullptr, error = CHIP_ERROR_NO_MEMORY); refNotBeforeTime = X509_get_notBefore(x509ReferenceCertificate); @@ -1777,7 +1778,7 @@ CHIP_ERROR IsCertificateValidAtCurrentTime(const ByteSpan & certificate) VerifyOrReturnError(!certificate.empty(), CHIP_ERROR_INVALID_ARGUMENT); - x509Certificate = d2i_X509(NULL, &pCertificate, static_cast(certificate.size())); + x509Certificate = d2i_X509(nullptr, &pCertificate, static_cast(certificate.size())); VerifyOrExit(x509Certificate != nullptr, error = CHIP_ERROR_NO_MEMORY); time = X509_get_notBefore(x509Certificate); @@ -1811,7 +1812,7 @@ CHIP_ERROR ExtractPubkeyFromX509Cert(const ByteSpan & certificate, Crypto::P256P unsigned char ** ppPubkey = &pPubkey; int pkeyLen; - x509certificate = d2i_X509(NULL, ppCertificate, static_cast(certificate.size())); + x509certificate = d2i_X509(nullptr, ppCertificate, static_cast(certificate.size())); VerifyOrExit(x509certificate != nullptr, err = CHIP_ERROR_NO_MEMORY); pkey = X509_get_pubkey(x509certificate); @@ -1819,7 +1820,7 @@ CHIP_ERROR ExtractPubkeyFromX509Cert(const ByteSpan & certificate, Crypto::P256P VerifyOrExit(EVP_PKEY_base_id(pkey) == EVP_PKEY_EC, err = CHIP_ERROR_INTERNAL); VerifyOrExit(EVP_PKEY_bits(pkey) == 256, err = CHIP_ERROR_INTERNAL); - pkeyLen = i2d_PublicKey(pkey, NULL); + pkeyLen = i2d_PublicKey(pkey, nullptr); VerifyOrExit(pkeyLen == static_cast(pubkey.Length()), err = CHIP_ERROR_INTERNAL); VerifyOrExit(i2d_PublicKey(pkey, ppPubkey) == pkeyLen, err = CHIP_ERROR_INTERNAL); @@ -1841,7 +1842,7 @@ CHIP_ERROR ExtractKIDFromX509Cert(bool isSKID, const ByteSpan & certificate, Mut const unsigned char ** ppCertificate = &pCertificate; const ASN1_OCTET_STRING * kidString = nullptr; - x509certificate = d2i_X509(NULL, ppCertificate, static_cast(certificate.size())); + x509certificate = d2i_X509(nullptr, ppCertificate, static_cast(certificate.size())); VerifyOrExit(x509certificate != nullptr, err = CHIP_ERROR_NO_MEMORY); kidString = isSKID ? X509_get0_subject_key_id(x509certificate) : X509_get0_authority_key_id(x509certificate); @@ -1886,7 +1887,7 @@ CHIP_ERROR ExtractDNAttributeFromX509Cert(const char * oidString, const ByteSpan VerifyOrReturnError(oidStringSize == sOidStringSize, CHIP_ERROR_INVALID_ARGUMENT); - x509certificate = d2i_X509(NULL, &pCertificate, static_cast(certificate.size())); + x509certificate = d2i_X509(nullptr, &pCertificate, static_cast(certificate.size())); VerifyOrExit(x509certificate != nullptr, err = CHIP_ERROR_NO_MEMORY); subject = X509_get_subject_name(x509certificate); diff --git a/src/lib/core/CHIPTLVUpdater.cpp b/src/lib/core/CHIPTLVUpdater.cpp index c9d489072cb5d5..a41abc1532843e 100644 --- a/src/lib/core/CHIPTLVUpdater.cpp +++ b/src/lib/core/CHIPTLVUpdater.cpp @@ -63,7 +63,7 @@ CHIP_ERROR TLVUpdater::Init(TLVReader & aReader, uint32_t freeLen) uint32_t readDataLen = aReader.GetLengthRead(); // TLVUpdater does not support backing stores yet - VerifyOrReturnError(aReader.mBackingStore == 0, CHIP_ERROR_NOT_IMPLEMENTED); + VerifyOrReturnError(aReader.mBackingStore == nullptr, CHIP_ERROR_NOT_IMPLEMENTED); // TLVReader should point to a non-NULL buffer VerifyOrReturnError(buf != nullptr, CHIP_ERROR_INVALID_ARGUMENT); @@ -84,7 +84,7 @@ CHIP_ERROR TLVUpdater::Init(TLVReader & aReader, uint32_t freeLen) memmove(buf + freeLen, buf, remainingDataLen); // Initialize the internal reader object - mUpdaterReader.mBackingStore = 0; + mUpdaterReader.mBackingStore = nullptr; mUpdaterReader.mReadPoint = buf + freeLen; mUpdaterReader.mBufEnd = buf + freeLen + remainingDataLen; mUpdaterReader.mLenRead = readDataLen; @@ -99,7 +99,7 @@ CHIP_ERROR TLVUpdater::Init(TLVReader & aReader, uint32_t freeLen) mUpdaterReader.AppData = aReader.AppData; // Initialize the internal writer object - mUpdaterWriter.mBackingStore = 0; + mUpdaterWriter.mBackingStore = nullptr; mUpdaterWriter.mBufStart = buf - readDataLen; mUpdaterWriter.mWritePoint = buf; mUpdaterWriter.mRemainingLen = freeLen; diff --git a/src/lib/support/UnitTestUtils.cpp b/src/lib/support/UnitTestUtils.cpp index a5435fe425cd7d..c63bd5be015596 100644 --- a/src/lib/support/UnitTestUtils.cpp +++ b/src/lib/support/UnitTestUtils.cpp @@ -75,7 +75,7 @@ void SleepMillis(uint64_t millisecs) uint64_t TimeMonotonicMillis() { - return static_cast(time(NULL) * 1000); + return static_cast(time(nullptr) * 1000); } #endif diff --git a/src/platform/Linux/ConfigurationManagerImpl.cpp b/src/platform/Linux/ConfigurationManagerImpl.cpp index c0f997ef1dd7e9..fed2f6d723a56f 100644 --- a/src/platform/Linux/ConfigurationManagerImpl.cpp +++ b/src/platform/Linux/ConfigurationManagerImpl.cpp @@ -121,12 +121,12 @@ CHIP_ERROR ConfigurationManagerImpl::Init() CHIP_ERROR ConfigurationManagerImpl::GetPrimaryWiFiMACAddress(uint8_t * buf) { - struct ifaddrs * addresses = NULL; + struct ifaddrs * addresses = nullptr; CHIP_ERROR error = CHIP_NO_ERROR; bool found = false; VerifyOrExit(getifaddrs(&addresses) == 0, error = CHIP_ERROR_INTERNAL); - for (auto addr = addresses; addr != NULL; addr = addr->ifa_next) + for (auto addr = addresses; addr != nullptr; addr = addr->ifa_next) { if ((addr->ifa_addr) && (addr->ifa_addr->sa_family == AF_PACKET) && strncmp(addr->ifa_name, "lo", IFNAMSIZ) != 0) { diff --git a/src/platform/Linux/ConnectivityManagerImpl.cpp b/src/platform/Linux/ConnectivityManagerImpl.cpp index c8ae0a77878300..0d6d4de61f427b 100644 --- a/src/platform/Linux/ConnectivityManagerImpl.cpp +++ b/src/platform/Linux/ConnectivityManagerImpl.cpp @@ -283,7 +283,7 @@ CHIP_ERROR ConnectivityManagerImpl::_SetWiFiAPMode(WiFiAPMode val) ChipLogProgress(DeviceLayer, "WiFi AP mode change: %s -> %s", WiFiAPModeToStr(mWiFiAPMode), WiFiAPModeToStr(val)); mWiFiAPMode = val; - DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); + DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, nullptr); } exit: @@ -296,7 +296,7 @@ void ConnectivityManagerImpl::_DemandStartWiFiAP() { ChipLogProgress(DeviceLayer, "wpa_supplicant: Demand start WiFi AP"); mLastAPDemandTime = System::SystemClock().GetMonotonicTimestamp(); - DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); + DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, nullptr); } else { @@ -310,7 +310,7 @@ void ConnectivityManagerImpl::_StopOnDemandWiFiAP() { ChipLogProgress(DeviceLayer, "wpa_supplicant: Demand stop WiFi AP"); mLastAPDemandTime = System::Clock::kZero; - DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); + DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, nullptr); } else { @@ -332,7 +332,7 @@ void ConnectivityManagerImpl::_MaintainOnDemandWiFiAP() void ConnectivityManagerImpl::_SetWiFiAPIdleTimeout(System::Clock::Timeout val) { mWiFiAPIdleTimeout = val; - DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, NULL); + DeviceLayer::SystemLayer().ScheduleWork(DriveAPState, nullptr); } void ConnectivityManagerImpl::UpdateNetworkStatus() @@ -758,7 +758,7 @@ void ConnectivityManagerImpl::DriveAPState() // Compute the amount of idle time before the AP should be deactivated and // arm a timer to fire at that time. System::Clock::Timeout apTimeout = (mLastAPDemandTime + mWiFiAPIdleTimeout) - now; - err = DeviceLayer::SystemLayer().StartTimer(apTimeout, DriveAPState, NULL); + err = DeviceLayer::SystemLayer().StartTimer(apTimeout, DriveAPState, nullptr); SuccessOrExit(err); ChipLogProgress(DeviceLayer, "Next WiFi AP timeout in %" PRIu32 " s", std::chrono::duration_cast(apTimeout).count()); diff --git a/src/platform/Linux/DiagnosticDataProviderImpl.cpp b/src/platform/Linux/DiagnosticDataProviderImpl.cpp index b2e0e0cd0948f9..12beb5a882589a 100644 --- a/src/platform/Linux/DiagnosticDataProviderImpl.cpp +++ b/src/platform/Linux/DiagnosticDataProviderImpl.cpp @@ -281,7 +281,7 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetThreadMetrics(ThreadMetrics ** threadM struct dirent * entry; /* proc available, iterate through tasks... */ - while ((entry = readdir(proc_dir)) != NULL) + while ((entry = readdir(proc_dir)) != nullptr) { if (entry->d_name[0] == '.') continue; diff --git a/src/platform/Linux/DnssdImpl.cpp b/src/platform/Linux/DnssdImpl.cpp index 1d17d67ef2079a..3f5b5258c51344 100644 --- a/src/platform/Linux/DnssdImpl.cpp +++ b/src/platform/Linux/DnssdImpl.cpp @@ -569,7 +569,7 @@ DnssdServiceProtocol GetProtocolInType(const char * type) { const char * deliminator = strrchr(type, '.'); - if (deliminator == NULL) + if (deliminator == nullptr) { ChipLogError(Discovery, "Failed to find protocol in type: %s", type); return DnssdServiceProtocol::kDnssdProtocolUnknown; diff --git a/src/platform/Linux/PlatformManagerImpl.cpp b/src/platform/Linux/PlatformManagerImpl.cpp index 473653d4562c11..e6ad974847a081 100644 --- a/src/platform/Linux/PlatformManagerImpl.cpp +++ b/src/platform/Linux/PlatformManagerImpl.cpp @@ -136,7 +136,7 @@ void PlatformManagerImpl::WiFIIPChangeListener() if (routeInfo->rta_type == IFA_LOCAL) { char name[IFNAMSIZ]; - if (if_indextoname(addressMessage->ifa_index, name) == NULL) + if (if_indextoname(addressMessage->ifa_index, name) == nullptr) { ChipLogError(DeviceLayer, "Error %d when getting the interface name at index: %d", errno, addressMessage->ifa_index); @@ -178,11 +178,11 @@ CHIP_ERROR PlatformManagerImpl::_InitChipStack() memset(&action, 0, sizeof(action)); action.sa_handler = SignalHandler; - sigaction(SIGHUP, &action, NULL); - sigaction(SIGTERM, &action, NULL); - sigaction(SIGUSR1, &action, NULL); - sigaction(SIGUSR2, &action, NULL); - sigaction(SIGTSTP, &action, NULL); + sigaction(SIGHUP, &action, nullptr); + sigaction(SIGTERM, &action, nullptr); + sigaction(SIGUSR1, &action, nullptr); + sigaction(SIGUSR2, &action, nullptr); + sigaction(SIGTSTP, &action, nullptr); #if CHIP_WITH_GIO GError * error = nullptr; diff --git a/src/protocols/secure_channel/PASESession.cpp b/src/protocols/secure_channel/PASESession.cpp index 183e99bce604a6..c714f860225ae4 100644 --- a/src/protocols/secure_channel/PASESession.cpp +++ b/src/protocols/secure_channel/PASESession.cpp @@ -609,7 +609,7 @@ CHIP_ERROR PASESession::SendMsg1() constexpr uint8_t kPake1_pA = 1; - ReturnErrorOnFailure(mSpake2p.ComputeRoundOne(NULL, 0, X, &X_len)); + ReturnErrorOnFailure(mSpake2p.ComputeRoundOne(nullptr, 0, X, &X_len)); VerifyOrReturnError(X_len == sizeof(X), CHIP_ERROR_INTERNAL); ReturnErrorOnFailure(tlvWriter.Put(TLV::ContextTag(kPake1_pA), ByteSpan(X))); ReturnErrorOnFailure(tlvWriter.EndContainer(outerContainerType)); diff --git a/src/protocols/secure_channel/RendezvousParameters.h b/src/protocols/secure_channel/RendezvousParameters.h index f08082d2deb725..e81162cb237c29 100644 --- a/src/protocols/secure_channel/RendezvousParameters.h +++ b/src/protocols/secure_channel/RendezvousParameters.h @@ -80,7 +80,7 @@ class RendezvousParameters return *this; } - bool HasConnectionObject() const { return mConnectionObject != 0; } + bool HasConnectionObject() const { return mConnectionObject != BLE_CONNECTION_UNINITIALIZED; } BLE_CONNECTION_OBJECT GetConnectionObject() const { return mConnectionObject; } RendezvousParameters & SetConnectionObject(BLE_CONNECTION_OBJECT connObj) { @@ -101,7 +101,7 @@ class RendezvousParameters #if CONFIG_NETWORK_LAYER_BLE Ble::BleLayer * mBleLayer = nullptr; - BLE_CONNECTION_OBJECT mConnectionObject = 0; + BLE_CONNECTION_OBJECT mConnectionObject = BLE_CONNECTION_UNINITIALIZED; #endif // CONFIG_NETWORK_LAYER_BLE }; diff --git a/src/system/SystemTimer.cpp b/src/system/SystemTimer.cpp index f966564e788418..cb54d075ee23e1 100644 --- a/src/system/SystemTimer.cpp +++ b/src/system/SystemTimer.cpp @@ -41,7 +41,7 @@ namespace System { TimerList::Node * TimerList::Add(TimerList::Node * add) { VerifyOrDie(add != mEarliestTimer); - if (mEarliestTimer == NULL || (add->AwakenTime() < mEarliestTimer->AwakenTime())) + if (mEarliestTimer == nullptr || (add->AwakenTime() < mEarliestTimer->AwakenTime())) { add->mNextTimer = mEarliestTimer; mEarliestTimer = add; From d80d593758ba759e4fb14cd9bf7d6a992770cbfe Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Wed, 16 Mar 2022 21:15:16 -0400 Subject: [PATCH 37/37] use clang-tidy to modernize-use-override (#16307) * use clang-tidy to modernize-use-override * Restyle --- src/app/CASEClientPool.h | 2 +- src/app/CommandSender.h | 2 +- src/app/EventManagement.h | 2 +- src/app/OperationalDeviceProxy.h | 2 +- src/app/OperationalDeviceProxyPool.h | 2 +- src/app/ReadClient.h | 2 +- src/app/ReadHandler.h | 2 +- src/app/TimedHandler.h | 2 +- src/app/WriteClient.h | 2 +- src/app/WriteHandler.h | 2 +- .../commissioner/CommissionerCommands.h | 2 +- .../commands/discovery/DiscoveryCommands.h | 2 +- .../AbstractDnssdDiscoveryController.h | 2 +- src/controller/AutoCommissioner.h | 6 ++--- .../CHIPCommissionableNodeController.h | 2 +- src/controller/CHIPDeviceController.h | 4 ++-- src/controller/CommissioneeDeviceProxy.h | 2 +- .../CommissionerDiscoveryController.h | 2 +- .../ExampleOperationalCredentialsIssuer.h | 2 +- src/credentials/GroupDataProviderImpl.h | 2 +- src/crypto/CHIPCryptoPAL.h | 2 +- src/include/platform/NetworkCommissioning.h | 4 ++-- .../GenericConfigurationManagerImpl.h | 2 +- src/inet/InetLayer.h | 4 ++-- .../AddressResolve_DefaultImpl.h | 2 +- src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp | 2 +- src/lib/dnssd/minimal_mdns/Server.h | 2 +- .../minimal_mdns/responders/QueryResponder.h | 2 +- src/lib/support/PoolWrapper.h | 23 +++++++++---------- src/messaging/ApplicationExchangeDispatch.h | 2 +- src/messaging/ExchangeContext.h | 2 +- .../Linux/NetworkCommissioningDriver.h | 4 ++-- src/protocols/bdx/TransferFacilitator.h | 2 +- src/protocols/secure_channel/CASEServer.h | 2 +- src/protocols/secure_channel/CASESession.h | 4 ++-- src/protocols/secure_channel/PASESession.h | 2 +- .../SessionEstablishmentExchangeDispatch.h | 2 +- src/system/SystemClock.h | 2 +- src/system/SystemLayerImplSelect.h | 2 +- src/system/TLVPacketBufferBackingStore.h | 2 +- src/transport/GroupSession.h | 4 ++-- src/transport/SecureSession.h | 2 +- src/transport/SessionHolder.h | 2 +- src/transport/UnauthenticatedSessionTable.h | 2 +- src/transport/raw/TCP.h | 2 +- 45 files changed, 63 insertions(+), 64 deletions(-) diff --git a/src/app/CASEClientPool.h b/src/app/CASEClientPool.h index 99bc913793e738..f44d487771c8fc 100644 --- a/src/app/CASEClientPool.h +++ b/src/app/CASEClientPool.h @@ -36,7 +36,7 @@ template class CASEClientPool : public CASEClientPoolDelegate { public: - ~CASEClientPool() { mClientPool.ReleaseAll(); } + ~CASEClientPool() override { mClientPool.ReleaseAll(); } CASEClient * Allocate(CASEClientInitParams params) override { return mClientPool.CreateObject(params); } diff --git a/src/app/CommandSender.h b/src/app/CommandSender.h index 53edd9f3294ba0..1e9985eaf8338a 100644 --- a/src/app/CommandSender.h +++ b/src/app/CommandSender.h @@ -59,7 +59,7 @@ class CommandSender final : public Messaging::ExchangeDelegate * * See Abort() for details on when that might occur. */ - virtual ~CommandSender() { Abort(); } + ~CommandSender() override { Abort(); } /** * Gets the inner exchange context object, without ownership. diff --git a/src/app/EventManagement.h b/src/app/EventManagement.h index 07b900ca0f375c..68d29cc66404df 100644 --- a/src/app/EventManagement.h +++ b/src/app/EventManagement.h @@ -100,7 +100,7 @@ class CircularEventBuffer : public TLV::CHIPCircularTLVBuffer void SetRequiredSpaceforEvicted(size_t aRequiredSpace) { mRequiredSpaceForEvicted = aRequiredSpace; } size_t GetRequiredSpaceforEvicted() { return mRequiredSpaceForEvicted; } - virtual ~CircularEventBuffer() = default; + ~CircularEventBuffer() override = default; private: CircularEventBuffer * mpPrev = nullptr; ///< A pointer CircularEventBuffer storing events less important events diff --git a/src/app/OperationalDeviceProxy.h b/src/app/OperationalDeviceProxy.h index 3083fc68408f9f..c976bde994b525 100644 --- a/src/app/OperationalDeviceProxy.h +++ b/src/app/OperationalDeviceProxy.h @@ -88,7 +88,7 @@ class DLL_EXPORT OperationalDeviceProxy : public DeviceProxy, public AddressResolve::NodeListener { public: - virtual ~OperationalDeviceProxy(); + ~OperationalDeviceProxy() override; OperationalDeviceProxy(DeviceProxyInitParams & params, PeerId peerId) : mSecureSession(*this) { VerifyOrReturn(params.Validate() == CHIP_NO_ERROR); diff --git a/src/app/OperationalDeviceProxyPool.h b/src/app/OperationalDeviceProxyPool.h index cb93c29aebd40d..194c325bf426a4 100644 --- a/src/app/OperationalDeviceProxyPool.h +++ b/src/app/OperationalDeviceProxyPool.h @@ -48,7 +48,7 @@ template class OperationalDeviceProxyPool : public OperationalDeviceProxyPoolDelegate { public: - ~OperationalDeviceProxyPool() { mDevicePool.ReleaseAll(); } + ~OperationalDeviceProxyPool() override { mDevicePool.ReleaseAll(); } OperationalDeviceProxy * Allocate(DeviceProxyInitParams & params, PeerId peerId) override { diff --git a/src/app/ReadClient.h b/src/app/ReadClient.h index c8f30f359c5350..942d52cb3bd70a 100644 --- a/src/app/ReadClient.h +++ b/src/app/ReadClient.h @@ -202,7 +202,7 @@ class ReadClient : public Messaging::ExchangeDelegate * * OnDone() will not be called. */ - virtual ~ReadClient(); + ~ReadClient() override; /* * This forcibly closes the exchange context if a valid one is pointed to. Such a situation does diff --git a/src/app/ReadHandler.h b/src/app/ReadHandler.h index 9b7d84fb965e27..e5c4d7e83b2dff 100644 --- a/src/app/ReadHandler.h +++ b/src/app/ReadHandler.h @@ -98,7 +98,7 @@ class ReadHandler : public Messaging::ExchangeDelegate * * See Abort() for details on when that might occur. */ - ~ReadHandler(); + ~ReadHandler() override; /** * Process a read/subscribe request. Parts of the processing may end up being asynchronous, but the ReadHandler diff --git a/src/app/TimedHandler.h b/src/app/TimedHandler.h index da0f06bd0a0eac..47faa9d5940946 100644 --- a/src/app/TimedHandler.h +++ b/src/app/TimedHandler.h @@ -51,7 +51,7 @@ class TimedHandler : public Messaging::ExchangeDelegate { public: TimedHandler() {} - virtual ~TimedHandler() {} + ~TimedHandler() override {} // ExchangeDelegate implementation. CHIP_ERROR OnMessageReceived(Messaging::ExchangeContext * aExchangeContext, const PayloadHeader & aPayloadHeader, diff --git a/src/app/WriteClient.h b/src/app/WriteClient.h index eec72a5f12f0ab..0fd3e8466e1590 100644 --- a/src/app/WriteClient.h +++ b/src/app/WriteClient.h @@ -232,7 +232,7 @@ class WriteClient : public Messaging::ExchangeDelegate * * See Abort() for details on when that might occur. */ - virtual ~WriteClient() { Abort(); } + ~WriteClient() override { Abort(); } private: friend class TestWriteInteraction; diff --git a/src/app/WriteHandler.h b/src/app/WriteHandler.h index b38108baf64c78..6b820282cecf79 100644 --- a/src/app/WriteHandler.h +++ b/src/app/WriteHandler.h @@ -76,7 +76,7 @@ class WriteHandler : public Messaging::ExchangeDelegate bool IsFree() const { return mState == State::Uninitialized; } - virtual ~WriteHandler() = default; + ~WriteHandler() override = default; CHIP_ERROR ProcessAttributeDataIBs(TLV::TLVReader & aAttributeDataIBsReader); CHIP_ERROR ProcessGroupAttributeDataIBs(TLV::TLVReader & aAttributeDataIBsReader); diff --git a/src/app/tests/suites/commands/commissioner/CommissionerCommands.h b/src/app/tests/suites/commands/commissioner/CommissionerCommands.h index 90e9d021672870..bd622c9a10ba31 100644 --- a/src/app/tests/suites/commands/commissioner/CommissionerCommands.h +++ b/src/app/tests/suites/commands/commissioner/CommissionerCommands.h @@ -25,7 +25,7 @@ class CommissionerCommands : public chip::Controller::DevicePairingDelegate { public: CommissionerCommands(){}; - virtual ~CommissionerCommands(){}; + ~CommissionerCommands() override{}; virtual CHIP_ERROR ContinueOnChipMainThread(CHIP_ERROR err) = 0; virtual chip::Controller::DeviceCommissioner & GetCurrentCommissioner() = 0; diff --git a/src/app/tests/suites/commands/discovery/DiscoveryCommands.h b/src/app/tests/suites/commands/discovery/DiscoveryCommands.h index 729136e2093bff..b0123e5476e04b 100644 --- a/src/app/tests/suites/commands/discovery/DiscoveryCommands.h +++ b/src/app/tests/suites/commands/discovery/DiscoveryCommands.h @@ -47,7 +47,7 @@ class DiscoveryCommands : public chip::Dnssd::CommissioningResolveDelegate, publ { public: DiscoveryCommands(){}; - virtual ~DiscoveryCommands(){}; + ~DiscoveryCommands() override{}; virtual CHIP_ERROR ContinueOnChipMainThread(CHIP_ERROR err) = 0; diff --git a/src/controller/AbstractDnssdDiscoveryController.h b/src/controller/AbstractDnssdDiscoveryController.h index 66eab16ff7139d..3372aab1f67bf8 100644 --- a/src/controller/AbstractDnssdDiscoveryController.h +++ b/src/controller/AbstractDnssdDiscoveryController.h @@ -40,7 +40,7 @@ class DLL_EXPORT AbstractDnssdDiscoveryController : public Dnssd::CommissioningR { public: AbstractDnssdDiscoveryController() {} - virtual ~AbstractDnssdDiscoveryController() {} + ~AbstractDnssdDiscoveryController() override {} void OnNodeDiscovered(const chip::Dnssd::DiscoveredNodeData & nodeData) override; diff --git a/src/controller/AutoCommissioner.h b/src/controller/AutoCommissioner.h index 15a765fa17adf6..5c2438fc28ee33 100644 --- a/src/controller/AutoCommissioner.h +++ b/src/controller/AutoCommissioner.h @@ -29,13 +29,13 @@ class AutoCommissioner : public CommissioningDelegate { public: AutoCommissioner(); - virtual ~AutoCommissioner(); + ~AutoCommissioner() override; CHIP_ERROR SetCommissioningParameters(const CommissioningParameters & params) override; void SetOperationalCredentialsDelegate(OperationalCredentialsDelegate * operationalCredentialsDelegate) override; - virtual CHIP_ERROR StartCommissioning(DeviceCommissioner * commissioner, CommissioneeDeviceProxy * proxy) override; + CHIP_ERROR StartCommissioning(DeviceCommissioner * commissioner, CommissioneeDeviceProxy * proxy) override; - virtual CHIP_ERROR CommissioningStepFinished(CHIP_ERROR err, CommissioningDelegate::CommissioningReport report) override; + CHIP_ERROR CommissioningStepFinished(CHIP_ERROR err, CommissioningDelegate::CommissioningReport report) override; private: CommissioningStage GetNextCommissioningStage(CommissioningStage currentStage, CHIP_ERROR & lastErr); diff --git a/src/controller/CHIPCommissionableNodeController.h b/src/controller/CHIPCommissionableNodeController.h index cc381fccb0b583..53b77776d72abf 100644 --- a/src/controller/CHIPCommissionableNodeController.h +++ b/src/controller/CHIPCommissionableNodeController.h @@ -37,7 +37,7 @@ class DLL_EXPORT CommissionableNodeController : public AbstractDnssdDiscoveryCon { public: CommissionableNodeController(chip::Dnssd::Resolver * resolver = nullptr) : mResolver(resolver) {} - virtual ~CommissionableNodeController() {} + ~CommissionableNodeController() override {} CHIP_ERROR DiscoverCommissioners(Dnssd::DiscoveryFilter discoveryFilter = Dnssd::DiscoveryFilter()); diff --git a/src/controller/CHIPDeviceController.h b/src/controller/CHIPDeviceController.h index fccaa090af7a08..72ed6f2416a432 100644 --- a/src/controller/CHIPDeviceController.h +++ b/src/controller/CHIPDeviceController.h @@ -172,7 +172,7 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate, public Abstr { public: DeviceController(); - virtual ~DeviceController() {} + ~DeviceController() override {} enum class CommissioningWindowOption : uint8_t { @@ -436,7 +436,7 @@ class DLL_EXPORT DeviceCommissioner : public DeviceController, { public: DeviceCommissioner(); - ~DeviceCommissioner() {} + ~DeviceCommissioner() override {} #if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY // make this commissioner discoverable /** diff --git a/src/controller/CommissioneeDeviceProxy.h b/src/controller/CommissioneeDeviceProxy.h index a40a38eff91733..6d053ffec9b9d2 100644 --- a/src/controller/CommissioneeDeviceProxy.h +++ b/src/controller/CommissioneeDeviceProxy.h @@ -79,7 +79,7 @@ struct ControllerDeviceInitParams class CommissioneeDeviceProxy : public DeviceProxy, public SessionReleaseDelegate { public: - ~CommissioneeDeviceProxy(); + ~CommissioneeDeviceProxy() override; CommissioneeDeviceProxy() : mSecureSession(*this) {} CommissioneeDeviceProxy(const CommissioneeDeviceProxy &) = delete; diff --git a/src/controller/CommissionerDiscoveryController.h b/src/controller/CommissionerDiscoveryController.h index aff599dd663034..143c16465b1638 100644 --- a/src/controller/CommissionerDiscoveryController.h +++ b/src/controller/CommissionerDiscoveryController.h @@ -183,7 +183,7 @@ class CommissionerDiscoveryController : public chip::Protocols::UserDirectedComm * * This code will call the registered UserPrompter's PromptForCommissionOKPermission */ - void OnUserDirectedCommissioningRequest(UDCClientState state); + void OnUserDirectedCommissioningRequest(UDCClientState state) override; /** * This method should be called after the user has given consent for commissioning of the client diff --git a/src/controller/ExampleOperationalCredentialsIssuer.h b/src/controller/ExampleOperationalCredentialsIssuer.h index 98a04ae6defe61..96023a4945dc5a 100644 --- a/src/controller/ExampleOperationalCredentialsIssuer.h +++ b/src/controller/ExampleOperationalCredentialsIssuer.h @@ -52,7 +52,7 @@ class DLL_EXPORT ExampleOperationalCredentialsIssuer : public OperationalCredent // It is recommended that this index track the fabric index within which this issuer is operating. // ExampleOperationalCredentialsIssuer(uint32_t index = 0) { mIndex = index; } - virtual ~ExampleOperationalCredentialsIssuer() {} + ~ExampleOperationalCredentialsIssuer() override {} CHIP_ERROR GenerateNOCChain(const ByteSpan & csrElements, const ByteSpan & attestationSignature, const ByteSpan & DAC, const ByteSpan & PAI, const ByteSpan & PAA, diff --git a/src/credentials/GroupDataProviderImpl.h b/src/credentials/GroupDataProviderImpl.h index acb89dee4ff0be..e9717149367bdd 100644 --- a/src/credentials/GroupDataProviderImpl.h +++ b/src/credentials/GroupDataProviderImpl.h @@ -32,7 +32,7 @@ class GroupDataProviderImpl : public GroupDataProvider GroupDataProviderImpl(uint16_t maxGroupsPerFabric, uint16_t maxGroupKeysPerFabric) : GroupDataProvider(maxGroupsPerFabric, maxGroupKeysPerFabric) {} - virtual ~GroupDataProviderImpl() {} + ~GroupDataProviderImpl() override {} /** * @brief Set the storage implementation used for non-volatile storage of configuration data. diff --git a/src/crypto/CHIPCryptoPAL.h b/src/crypto/CHIPCryptoPAL.h index c21384b4e49fe1..056743b682fdaa 100644 --- a/src/crypto/CHIPCryptoPAL.h +++ b/src/crypto/CHIPCryptoPAL.h @@ -362,7 +362,7 @@ class P256Keypair : public P256KeypairBase { public: P256Keypair() {} - virtual ~P256Keypair(); + ~P256Keypair() override; /** * @brief Initialize the keypair. diff --git a/src/include/platform/NetworkCommissioning.h b/src/include/platform/NetworkCommissioning.h index dc16a5ed99f783..7661216e0612c6 100644 --- a/src/include/platform/NetworkCommissioning.h +++ b/src/include/platform/NetworkCommissioning.h @@ -272,7 +272,7 @@ class WiFiDriver : public Internal::WirelessDriver */ virtual void ScanNetworks(ByteSpan ssid, ScanCallback * callback) = 0; - virtual ~WiFiDriver() = default; + ~WiFiDriver() override = default; }; class ThreadDriver : public Internal::WirelessDriver @@ -302,7 +302,7 @@ class ThreadDriver : public Internal::WirelessDriver */ virtual void ScanNetworks(ScanCallback * callback) = 0; - virtual ~ThreadDriver() = default; + ~ThreadDriver() override = default; }; class EthernetDriver : public Internal::BaseDriver diff --git a/src/include/platform/internal/GenericConfigurationManagerImpl.h b/src/include/platform/internal/GenericConfigurationManagerImpl.h index 550f0579c106d1..9cc4f523049483 100644 --- a/src/include/platform/internal/GenericConfigurationManagerImpl.h +++ b/src/include/platform/internal/GenericConfigurationManagerImpl.h @@ -126,7 +126,7 @@ class GenericConfigurationManagerImpl : public ConfigurationManager #endif void LogDeviceConfig() override; - virtual ~GenericConfigurationManagerImpl() = default; + ~GenericConfigurationManagerImpl() override = default; protected: #if CHIP_ENABLE_ROTATING_DEVICE_ID && defined(CHIP_DEVICE_CONFIG_ROTATING_DEVICE_ID_UNIQUE_ID) diff --git a/src/inet/InetLayer.h b/src/inet/InetLayer.h index 9cd28eb3f2d052..8a075e3bcbd3dd 100644 --- a/src/inet/InetLayer.h +++ b/src/inet/InetLayer.h @@ -117,8 +117,8 @@ class EndPointManagerImplPool : public EndPointManager; using EndPoint = typename EndPointImpl::EndPoint; - EndPointManagerImplPool() = default; - ~EndPointManagerImplPool() = default; + EndPointManagerImplPool() = default; + ~EndPointManagerImplPool() override = default; EndPoint * CreateEndPoint() override { return sEndPointPool.CreateObject(*this); } void ReleaseEndPoint(EndPoint * endPoint) override { sEndPointPool.ReleaseObject(static_cast(endPoint)); } diff --git a/src/lib/address_resolve/AddressResolve_DefaultImpl.h b/src/lib/address_resolve/AddressResolve_DefaultImpl.h index ab234b88ecad69..c05bdfc7f93f62 100644 --- a/src/lib/address_resolve/AddressResolve_DefaultImpl.h +++ b/src/lib/address_resolve/AddressResolve_DefaultImpl.h @@ -129,7 +129,7 @@ class NodeLookupHandle : public NodeLookupHandleBase class Resolver : public ::chip::AddressResolve::Resolver, public Dnssd::OperationalResolveDelegate { public: - virtual ~Resolver() = default; + ~Resolver() override = default; // AddressResolve::Resolver diff --git a/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp index ee842dc6a577c0..3ff275395cf5dd 100644 --- a/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp +++ b/src/lib/dnssd/Advertiser_ImplMinimalMdns.cpp @@ -113,7 +113,7 @@ class AdvertiserMinMdns : public ServiceAdvertiser, mResponseSender.AddQueryResponder(mQueryResponderAllocatorCommissionable.GetQueryResponder()); mResponseSender.AddQueryResponder(mQueryResponderAllocatorCommissioner.GetQueryResponder()); } - ~AdvertiserMinMdns() {} + ~AdvertiserMinMdns() override {} // Service advertiser CHIP_ERROR Init(chip::Inet::EndPointManager * udpEndPointManager) override; diff --git a/src/lib/dnssd/minimal_mdns/Server.h b/src/lib/dnssd/minimal_mdns/Server.h index 46c1ae8c5c606c..0266b4625ebfb3 100644 --- a/src/lib/dnssd/minimal_mdns/Server.h +++ b/src/lib/dnssd/minimal_mdns/Server.h @@ -234,7 +234,7 @@ class Server : private chip::PoolImpl(this)) {} - ~Server() {} + ~Server() override {} }; } // namespace Minimal diff --git a/src/lib/dnssd/minimal_mdns/responders/QueryResponder.h b/src/lib/dnssd/minimal_mdns/responders/QueryResponder.h index 4ff359490ee19e..c2f55096606f95 100644 --- a/src/lib/dnssd/minimal_mdns/responders/QueryResponder.h +++ b/src/lib/dnssd/minimal_mdns/responders/QueryResponder.h @@ -239,7 +239,7 @@ class QueryResponderBase : public Responder // "_services._dns-sd._udp.local" public: /// Builds a new responder with the given storage for the response infos QueryResponderBase(Internal::QueryResponderInfo * infos, size_t infoSizes); - virtual ~QueryResponderBase() {} + ~QueryResponderBase() override {} /// Setup initial settings (clears all infos and sets up dns-sd query replies) void Init(); diff --git a/src/lib/support/PoolWrapper.h b/src/lib/support/PoolWrapper.h index e5025640179cf6..78b6d838245633 100644 --- a/src/lib/support/PoolWrapper.h +++ b/src/lib/support/PoolWrapper.h @@ -74,27 +74,26 @@ class PoolProxy> : public PoolIn static_assert(std::is_base_of::value, "Interface type is not derived from Pool type"); PoolProxy() {} - virtual ~PoolProxy() override {} + ~PoolProxy() override {} - virtual U * CreateObject(ConstructorArguments... args) override { return Impl().CreateObject(std::move(args)...); } + U * CreateObject(ConstructorArguments... args) override { return Impl().CreateObject(std::move(args)...); } - virtual void ReleaseObject(U * element) override { Impl().ReleaseObject(static_cast(element)); } + void ReleaseObject(U * element) override { Impl().ReleaseObject(static_cast(element)); } - virtual void ReleaseAll() override { Impl().ReleaseAll(); } + void ReleaseAll() override { Impl().ReleaseAll(); } - virtual void ResetObject(U * element, ConstructorArguments... args) override + void ResetObject(U * element, ConstructorArguments... args) override { return Impl().ResetObject(static_cast(element), std::move(args)...); } protected: - virtual Loop ForEachActiveObjectInner(void * context, - typename PoolInterface::Lambda lambda) override + Loop ForEachActiveObjectInner(void * context, typename PoolInterface::Lambda lambda) override { return Impl().ForEachActiveObject([&](T * target) { return lambda(context, static_cast(target)); }); } - virtual Loop ForEachActiveObjectInner(void * context, - typename PoolInterface::LambdaConst lambda) const override + Loop ForEachActiveObjectInner(void * context, + typename PoolInterface::LambdaConst lambda) const override { return Impl().ForEachActiveObject([&](const T * target) { return lambda(context, static_cast(target)); }); } @@ -120,11 +119,11 @@ class PoolImpl : public PoolProxy... { public: PoolImpl() {} - virtual ~PoolImpl() override {} + ~PoolImpl() override {} protected: - virtual ObjectPool & Impl() override { return mImpl; } - virtual const ObjectPool & Impl() const override { return mImpl; } + ObjectPool & Impl() override { return mImpl; } + const ObjectPool & Impl() const override { return mImpl; } private: ObjectPool mImpl; diff --git a/src/messaging/ApplicationExchangeDispatch.h b/src/messaging/ApplicationExchangeDispatch.h index d1fb76aa019ec6..6316df05f1b44f 100644 --- a/src/messaging/ApplicationExchangeDispatch.h +++ b/src/messaging/ApplicationExchangeDispatch.h @@ -40,7 +40,7 @@ class ApplicationExchangeDispatch : public ExchangeMessageDispatch } ApplicationExchangeDispatch() {} - virtual ~ApplicationExchangeDispatch() {} + ~ApplicationExchangeDispatch() override {} protected: bool MessagePermitted(uint16_t protocol, uint8_t type) override; diff --git a/src/messaging/ExchangeContext.h b/src/messaging/ExchangeContext.h index 1798ce2a8638b5..4e616194584037 100644 --- a/src/messaging/ExchangeContext.h +++ b/src/messaging/ExchangeContext.h @@ -68,7 +68,7 @@ class DLL_EXPORT ExchangeContext : public ReliableMessageContext, ExchangeContext(ExchangeManager * em, uint16_t ExchangeId, const SessionHandle & session, bool Initiator, ExchangeDelegate * delegate); - ~ExchangeContext(); + ~ExchangeContext() override; /** * Determine whether the context is the initiator of the exchange. diff --git a/src/platform/Linux/NetworkCommissioningDriver.h b/src/platform/Linux/NetworkCommissioningDriver.h index 19431e5010e96e..948de0e19ce64a 100644 --- a/src/platform/Linux/NetworkCommissioningDriver.h +++ b/src/platform/Linux/NetworkCommissioningDriver.h @@ -62,7 +62,7 @@ class LinuxWiFiDriver final : public WiFiDriver size_t Count() override; bool Next(Network & item) override; void Release() override { delete this; } - ~WiFiNetworkIterator() = default; + ~WiFiNetworkIterator() override = default; private: LinuxWiFiDriver * driver; @@ -119,7 +119,7 @@ class LinuxThreadDriver final : public ThreadDriver size_t Count() override; bool Next(Network & item) override; void Release() override { delete this; } - ~ThreadNetworkIterator() = default; + ~ThreadNetworkIterator() override = default; private: LinuxThreadDriver * driver; diff --git a/src/protocols/bdx/TransferFacilitator.h b/src/protocols/bdx/TransferFacilitator.h index 40f606d3524881..bc02e871ac1d41 100644 --- a/src/protocols/bdx/TransferFacilitator.h +++ b/src/protocols/bdx/TransferFacilitator.h @@ -45,7 +45,7 @@ class TransferFacilitator : public Messaging::ExchangeDelegate { public: TransferFacilitator() : mExchangeCtx(nullptr), mSystemLayer(nullptr), mPollFreq(kDefaultPollFreq) {} - ~TransferFacilitator() = default; + ~TransferFacilitator() override = default; private: // Inherited from ExchangeContext diff --git a/src/protocols/secure_channel/CASEServer.h b/src/protocols/secure_channel/CASEServer.h index 256c0fc04fa58c..81597fbb3e5f59 100644 --- a/src/protocols/secure_channel/CASEServer.h +++ b/src/protocols/secure_channel/CASEServer.h @@ -29,7 +29,7 @@ class CASEServer : public SessionEstablishmentDelegate, public Messaging::Exchan { public: CASEServer() {} - ~CASEServer() + ~CASEServer() override { if (mExchangeManager != nullptr) { diff --git a/src/protocols/secure_channel/CASESession.h b/src/protocols/secure_channel/CASESession.h index 6c8c35e3ed8d55..d5e8aed5edfde9 100644 --- a/src/protocols/secure_channel/CASESession.h +++ b/src/protocols/secure_channel/CASESession.h @@ -76,7 +76,7 @@ class DLL_EXPORT CASESession : public Messaging::ExchangeDelegate, public Pairin CASESession(CASESession &&) = default; CASESession(const CASESession &) = default; - virtual ~CASESession(); + ~CASESession() override; /** * @brief @@ -142,7 +142,7 @@ class DLL_EXPORT CASESession : public Messaging::ExchangeDelegate, public Pairin * @param role Role of the new session (initiator or responder) * @return CHIP_ERROR The result of session derivation */ - virtual CHIP_ERROR DeriveSecureSession(CryptoContext & session, CryptoContext::SessionRole role) override; + CHIP_ERROR DeriveSecureSession(CryptoContext & session, CryptoContext::SessionRole role) override; /** * @brief Serialize the CASESession to the given cachableSession data structure for secure pairing diff --git a/src/protocols/secure_channel/PASESession.h b/src/protocols/secure_channel/PASESession.h index 98bbc6c2d72914..a6f9b687c6566a 100644 --- a/src/protocols/secure_channel/PASESession.h +++ b/src/protocols/secure_channel/PASESession.h @@ -73,7 +73,7 @@ class DLL_EXPORT PASESession : public Messaging::ExchangeDelegate, public Pairin PASESession(PASESession &&) = default; PASESession(const PASESession &) = delete; - virtual ~PASESession(); + ~PASESession() override; // TODO: The SetPeerNodeId method should not be exposed; PASE sessions // should not need to be told their peer node ID diff --git a/src/protocols/secure_channel/SessionEstablishmentExchangeDispatch.h b/src/protocols/secure_channel/SessionEstablishmentExchangeDispatch.h index 60a3397033d716..9cb75a596ff6a4 100644 --- a/src/protocols/secure_channel/SessionEstablishmentExchangeDispatch.h +++ b/src/protocols/secure_channel/SessionEstablishmentExchangeDispatch.h @@ -38,7 +38,7 @@ class SessionEstablishmentExchangeDispatch : public Messaging::ExchangeMessageDi } SessionEstablishmentExchangeDispatch() {} - virtual ~SessionEstablishmentExchangeDispatch() {} + ~SessionEstablishmentExchangeDispatch() override {} protected: bool MessagePermitted(uint16_t protocol, uint8_t type) override; diff --git a/src/system/SystemClock.h b/src/system/SystemClock.h index 6202ea8b6861af..dfc54e8a12f0e9 100644 --- a/src/system/SystemClock.h +++ b/src/system/SystemClock.h @@ -285,7 +285,7 @@ class ClockBase class ClockImpl : public ClockBase { public: - ~ClockImpl() = default; + ~ClockImpl() override = default; Microseconds64 GetMonotonicMicroseconds64() override; Milliseconds64 GetMonotonicMilliseconds64() override; CHIP_ERROR GetClock_RealTime(Microseconds64 & aCurTime) override; diff --git a/src/system/SystemLayerImplSelect.h b/src/system/SystemLayerImplSelect.h index d714f7929067a5..5a631470f3e9e5 100644 --- a/src/system/SystemLayerImplSelect.h +++ b/src/system/SystemLayerImplSelect.h @@ -41,7 +41,7 @@ class LayerImplSelect : public LayerSocketsLoop { public: LayerImplSelect() = default; - ~LayerImplSelect() { VerifyOrDie(mLayerState.Destroy()); } + ~LayerImplSelect() override { VerifyOrDie(mLayerState.Destroy()); } // Layer overrides. CHIP_ERROR Init() override; diff --git a/src/system/TLVPacketBufferBackingStore.h b/src/system/TLVPacketBufferBackingStore.h index 512d4a20e996f4..bbdb85e89df894 100644 --- a/src/system/TLVPacketBufferBackingStore.h +++ b/src/system/TLVPacketBufferBackingStore.h @@ -42,7 +42,7 @@ class TLVPacketBufferBackingStore : public chip::TLV::TLVBackingStore { Init(std::move(buffer), useChainedBuffers); } - virtual ~TLVPacketBufferBackingStore() {} + ~TLVPacketBufferBackingStore() override {} /** * Take ownership of a backing packet buffer. diff --git a/src/transport/GroupSession.h b/src/transport/GroupSession.h index 969050436c4899..484d46ca4c27ff 100644 --- a/src/transport/GroupSession.h +++ b/src/transport/GroupSession.h @@ -48,7 +48,7 @@ class IncomingGroupSession : public Session { SetFabricIndex(fabricIndex); } - ~IncomingGroupSession() + ~IncomingGroupSession() override { NotifySessionReleased(); #ifndef NDEBUG @@ -113,7 +113,7 @@ class OutgoingGroupSession : public Session { SetFabricIndex(fabricIndex); } - ~OutgoingGroupSession() + ~OutgoingGroupSession() override { NotifySessionReleased(); #ifndef NDEBUG diff --git a/src/transport/SecureSession.h b/src/transport/SecureSession.h index 04094961ae6c6e..e77fab01eb7fbf 100644 --- a/src/transport/SecureSession.h +++ b/src/transport/SecureSession.h @@ -71,7 +71,7 @@ class SecureSession : public Session { SetFabricIndex(fabric); } - ~SecureSession() { NotifySessionReleased(); } + ~SecureSession() override { NotifySessionReleased(); } SecureSession(SecureSession &&) = delete; SecureSession(const SecureSession &) = delete; diff --git a/src/transport/SessionHolder.h b/src/transport/SessionHolder.h index 897004f59f6dcc..ded017e210da9f 100644 --- a/src/transport/SessionHolder.h +++ b/src/transport/SessionHolder.h @@ -32,7 +32,7 @@ class SessionHolder : public SessionReleaseDelegate, public IntrusiveListNodeBas { public: SessionHolder() {} - ~SessionHolder(); + ~SessionHolder() override; SessionHolder(const SessionHolder &); SessionHolder(SessionHolder && that); diff --git a/src/transport/UnauthenticatedSessionTable.h b/src/transport/UnauthenticatedSessionTable.h index 4ed209e066cd84..68c8afc66a72eb 100644 --- a/src/transport/UnauthenticatedSessionTable.h +++ b/src/transport/UnauthenticatedSessionTable.h @@ -56,7 +56,7 @@ class UnauthenticatedSession : public Session, public ReferenceCounted