From 4175729483a88345c43df87f44ecf4085ad41b06 Mon Sep 17 00:00:00 2001 From: "Robin.Gao" Date: Thu, 27 Apr 2023 00:08:35 +0800 Subject: [PATCH] [Darwin]Fix: enable controller to skip complete step (#26248) * [Darwin]Fix: enable controller to skip complete step; * [Darwin]set skipCommissioningComplete to boolean value and append MTR_NEWLY_AVAILABLE annotation * Update src/darwin/Framework/CHIP/MTRCommissioningParameters.h Co-authored-by: Boris Zbarsky * Update src/darwin/Framework/CHIP/MTRDeviceController.mm Co-authored-by: Boris Zbarsky --------- Co-authored-by: Boris Zbarsky --- src/darwin/Framework/CHIP/MTRCommissioningParameters.h | 8 ++++++++ src/darwin/Framework/CHIP/MTRDeviceController.mm | 1 + 2 files changed, 9 insertions(+) diff --git a/src/darwin/Framework/CHIP/MTRCommissioningParameters.h b/src/darwin/Framework/CHIP/MTRCommissioningParameters.h index 722bc1ee8ca4ec..c16aaf692de1bb 100644 --- a/src/darwin/Framework/CHIP/MTRCommissioningParameters.h +++ b/src/darwin/Framework/CHIP/MTRCommissioningParameters.h @@ -80,6 +80,14 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, copy, nullable) NSNumber * failSafeTimeout API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +/** + * Only perform the PASE steps of commissioning. + * If set to YES, commissioning will be completed by another admin on the network. + * + * Defaults to NO. + */ +@property (nonatomic, assign) BOOL skipCommissioningComplete MTR_NEWLY_AVAILABLE; + @end @interface MTRCommissioningParameters (Deprecated) diff --git a/src/darwin/Framework/CHIP/MTRDeviceController.mm b/src/darwin/Framework/CHIP/MTRDeviceController.mm index f0ecc5441bddca..e6388e083cd3fa 100644 --- a/src/darwin/Framework/CHIP/MTRDeviceController.mm +++ b/src/darwin/Framework/CHIP/MTRDeviceController.mm @@ -463,6 +463,7 @@ - (BOOL)commissionNodeWithID:(NSNumber *)nodeID if (commissioningParams.threadOperationalDataset) { params.SetThreadOperationalDataset(AsByteSpan(commissioningParams.threadOperationalDataset)); } + params.SetSkipCommissioningComplete(commissioningParams.skipCommissioningComplete); if (commissioningParams.wifiSSID) { chip::ByteSpan ssid = AsByteSpan(commissioningParams.wifiSSID); chip::ByteSpan credentials;