Re-add the openCommissioningWindowWithSetupPasscode APIs on MTRDevice and MTRBaseDevice. (#23157)
This is a re-landing of the API addition parts of
https://github.com/project-chip/connectedhomeip/pull/22521, without including
any of the API changes/removals. The code is identical to what was on master
before Darwin framework changes were reverted in
https://github.com/project-chip/connectedhomeip/pull/23155.
diff --git a/src/darwin/Framework/CHIP/MTRDevice.h b/src/darwin/Framework/CHIP/MTRDevice.h
index ea2d047..d946a76 100644
--- a/src/darwin/Framework/CHIP/MTRDevice.h
+++ b/src/darwin/Framework/CHIP/MTRDevice.h
@@ -50,7 +50,7 @@
* The current state of the device.
*
* The three states:
- * MTRDeviceStateUnknkown
+ * MTRDeviceStateUnknown
* Unable to determine the state of the device at the moment.
*
* MTRDeviceStateReachable
@@ -137,6 +137,26 @@
clientQueue:(dispatch_queue_t)clientQueue
completion:(MTRDeviceResponseHandler)completion;
+/**
+ * Open a commissioning window on the device.
+ *
+ * On success, completion will be called on queue with the MTRSetupPayload that
+ * can be used to commission the device.
+ *
+ * @param setupPasscode The setup passcode to use for the commissioning window.
+ * See MTRSetupPayload's generateRandomSetupPasscode for
+ * generating a valid random passcode.
+ * @param discriminator The discriminator to use for the commissionable
+ * advertisement.
+ * @param duration Duration, in seconds, during which the commissioning
+ * window will be open.
+ */
+- (void)openCommissioningWindowWithSetupPasscode:(NSNumber *)setupPasscode
+ discriminator:(NSNumber *)discriminator
+ duration:(NSNumber *)duration
+ queue:(dispatch_queue_t)queue
+ completion:(MTRDeviceOpenCommissioningWindowHandler)completion;
+
@end
@protocol MTRDeviceDelegate <NSObject>