Automation for new TC-CGEN-2.4 (#24560)
* Python OpenWindow plumbing, fix RevokeCommissioning
Fixes two issues:
1) Revoke Commissioning leaves the failsafe timer armed which means
you can't revoke then re-open the commissioning window
2) The python layer returned prematurely on window open and didn't
plumb through the returne SetupPayload, so the enhanced window
wasn't useable
Also adds a test for these two things.
* Fix return type
* automation for CGEN-2.4
* Try again for cirque
* Restyled by autopep8
* Restyled by isort
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/src/controller/python/ChipDeviceController-ScriptBinding.cpp b/src/controller/python/ChipDeviceController-ScriptBinding.cpp
index ea376ba..62fed10 100644
--- a/src/controller/python/ChipDeviceController-ScriptBinding.cpp
+++ b/src/controller/python/ChipDeviceController-ScriptBinding.cpp
@@ -174,6 +174,8 @@
PyChipError pychip_ScriptDevicePairingDelegate_SetCommissioningStatusUpdateCallback(
chip::Controller::DeviceCommissioner * devCtrl,
chip::Controller::DevicePairingDelegate_OnCommissioningStatusUpdateFunct callback);
+PyChipError pychip_ScriptDevicePairingDelegate_SetOpenWindowCompleteCallback(
+ chip::Controller::DeviceCommissioner * devCtrl, chip::Controller::DevicePairingDelegate_OnWindowOpenCompleteFunct callback);
// BLE
PyChipError pychip_DeviceCommissioner_CloseBleConnection(chip::Controller::DeviceCommissioner * devCtrl);
@@ -524,6 +526,13 @@
return ToPyChipError(devCtrl->DiscoverCommissionableNodes(filter));
}
+PyChipError pychip_ScriptDevicePairingDelegate_SetOpenWindowCompleteCallback(
+ chip::Controller::DeviceCommissioner * devCtrl, chip::Controller::DevicePairingDelegate_OnWindowOpenCompleteFunct callback)
+{
+ sPairingDelegate.SetCommissioningWindowOpenCallback(callback);
+ return ToPyChipError(CHIP_NO_ERROR);
+}
+
PyChipError pychip_DeviceController_OpenCommissioningWindow(chip::Controller::DeviceCommissioner * devCtrl, chip::NodeId nodeid,
uint16_t timeout, uint32_t iteration, uint16_t discriminator,
uint8_t optionInt)
@@ -538,8 +547,12 @@
if (option == Controller::CommissioningWindowOpener::CommissioningWindowOption::kTokenWithRandomPIN)
{
SetupPayload payload;
- return ToPyChipError(Controller::AutoCommissioningWindowOpener::OpenCommissioningWindow(
- devCtrl, nodeid, System::Clock::Seconds16(timeout), iteration, discriminator, NullOptional, NullOptional, payload));
+ auto opener =
+ Platform::New<Controller::CommissioningWindowOpener>(static_cast<chip::Controller::DeviceController *>(devCtrl));
+ PyChipError err = ToPyChipError(opener->OpenCommissioningWindow(nodeid, System::Clock::Seconds16(timeout), iteration,
+ discriminator, NullOptional, NullOptional,
+ sPairingDelegate.GetOpenWindowCallback(opener), payload));
+ return err;
}
return ToPyChipError(CHIP_ERROR_INVALID_ARGUMENT);