@@ -105,7 +105,6 @@ chip::Controller::CommissioningParameters sCommissioningParameters;
105
105
106
106
} // namespace
107
107
108
- chip::Controller::ScriptDevicePairingDelegate sPairingDelegate ;
109
108
chip::Controller::ScriptPairingDeviceDiscoveryDelegate sPairingDeviceDiscoveryDelegate ;
110
109
chip::Credentials::GroupDataProviderImpl sGroupDataProvider ;
111
110
chip::Credentials::PersistentStorageOpCertStore sPersistentStorageOpCertStore ;
@@ -121,9 +120,8 @@ extern "C" {
121
120
PyChipError pychip_DeviceController_StackInit (Controller::Python::StorageAdapter * storageAdapter, bool enableServerInteractions);
122
121
PyChipError pychip_DeviceController_StackShutdown ();
123
122
124
- PyChipError pychip_DeviceController_NewDeviceController (chip::Controller::DeviceCommissioner ** outDevCtrl,
125
- chip::NodeId localDeviceId, bool useTestCommissioner);
126
- PyChipError pychip_DeviceController_DeleteDeviceController (chip::Controller::DeviceCommissioner * devCtrl);
123
+ PyChipError pychip_DeviceController_DeleteDeviceController (chip::Controller::DeviceCommissioner * devCtrl,
124
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate);
127
125
PyChipError pychip_DeviceController_GetAddressAndPort (chip::Controller::DeviceCommissioner * devCtrl, chip::NodeId nodeId,
128
126
char * outAddress, uint64_t maxAddressLen, uint16_t * outPort);
129
127
PyChipError pychip_DeviceController_GetCompressedFabricId (chip::Controller::DeviceCommissioner * devCtrl, uint64_t * outFabricId);
@@ -168,35 +166,46 @@ PyChipError pychip_DeviceController_DiscoverCommissionableNodesDeviceType(chip::
168
166
uint16_t device_type);
169
167
PyChipError pychip_DeviceController_DiscoverCommissionableNodesCommissioningEnabled (chip::Controller::DeviceCommissioner * devCtrl);
170
168
171
- PyChipError pychip_DeviceController_OnNetworkCommission (chip::Controller::DeviceCommissioner * devCtrl, uint64_t nodeId,
172
- uint32_t setupPasscode, const uint8_t filterType, const char * filterParam,
173
- uint32_t discoveryTimeoutMsec);
169
+ PyChipError pychip_DeviceController_OnNetworkCommission (chip::Controller::DeviceCommissioner * devCtrl,
170
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
171
+ uint64_t nodeId, uint32_t setupPasscode, const uint8_t filterType,
172
+ const char * filterParam, uint32_t discoveryTimeoutMsec);
174
173
175
174
PyChipError pychip_DeviceController_PostTaskOnChipThread (ChipThreadTaskRunnerFunct callback, void * pythonContext);
176
175
177
- PyChipError pychip_DeviceController_OpenCommissioningWindow (chip::Controller::DeviceCommissioner * devCtrl, chip::NodeId nodeid,
178
- uint16_t timeout, uint32_t iteration, uint16_t discriminator,
179
- uint8_t optionInt);
176
+ PyChipError pychip_DeviceController_OpenCommissioningWindow (chip::Controller::DeviceCommissioner * devCtrl,
177
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
178
+ chip::NodeId nodeid, uint16_t timeout, uint32_t iteration,
179
+ uint16_t discriminator, uint8_t optionInt);
180
180
181
181
void pychip_DeviceController_PrintDiscoveredDevices (chip::Controller::DeviceCommissioner * devCtrl);
182
182
bool pychip_DeviceController_GetIPForDiscoveredDevice (chip::Controller::DeviceCommissioner * devCtrl, int idx, char * addrStr,
183
183
uint32_t len);
184
184
185
185
// Pairing Delegate
186
186
PyChipError
187
- pychip_ScriptDevicePairingDelegate_SetKeyExchangeCallback (chip::Controller::DeviceCommissioner * devCtrl ,
187
+ pychip_ScriptDevicePairingDelegate_SetKeyExchangeCallback (chip::Controller::ScriptDevicePairingDelegate * pairingDelegate ,
188
188
chip::Controller::DevicePairingDelegate_OnPairingCompleteFunct callback);
189
189
190
190
PyChipError pychip_ScriptDevicePairingDelegate_SetCommissioningCompleteCallback (
191
- chip::Controller::DeviceCommissioner * devCtrl, chip::Controller::DevicePairingDelegate_OnCommissioningCompleteFunct callback);
191
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
192
+ chip::Controller::DevicePairingDelegate_OnCommissioningCompleteFunct callback);
192
193
193
194
PyChipError pychip_ScriptDevicePairingDelegate_SetCommissioningStatusUpdateCallback (
194
- chip::Controller::DeviceCommissioner * devCtrl ,
195
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate ,
195
196
chip::Controller::DevicePairingDelegate_OnCommissioningStatusUpdateFunct callback);
197
+
196
198
PyChipError
197
- pychip_ScriptDevicePairingDelegate_SetFabricCheckCallback (chip::Controller::DevicePairingDelegate_OnFabricCheckFunct callback);
199
+ pychip_ScriptDevicePairingDelegate_SetFabricCheckCallback (chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
200
+ chip::Controller::DevicePairingDelegate_OnFabricCheckFunct callback);
201
+
198
202
PyChipError pychip_ScriptDevicePairingDelegate_SetOpenWindowCompleteCallback (
199
- chip::Controller::DeviceCommissioner * devCtrl, chip::Controller::DevicePairingDelegate_OnWindowOpenCompleteFunct callback);
203
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
204
+ chip::Controller::DevicePairingDelegate_OnWindowOpenCompleteFunct callback);
205
+
206
+ PyChipError
207
+ pychip_ScriptDevicePairingDelegate_SetExpectingPairingComplete (chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
208
+ bool value);
200
209
201
210
// BLE
202
211
PyChipError pychip_DeviceCommissioner_CloseBleConnection (chip::Controller::DeviceCommissioner * devCtrl);
@@ -354,7 +363,6 @@ const char * pychip_DeviceController_StatusReportToString(uint32_t profileId, ui
354
363
PyChipError pychip_DeviceController_ConnectBLE (chip::Controller::DeviceCommissioner * devCtrl, uint16_t discriminator,
355
364
uint32_t setupPINCode, chip::NodeId nodeid)
356
365
{
357
- sPairingDelegate .SetExpectingPairingComplete (true );
358
366
return ToPyChipError (devCtrl->PairDevice (nodeid,
359
367
chip::RendezvousParameters ()
360
368
.SetPeerAddress (Transport::PeerAddress (Transport::Type::kBle ))
@@ -378,14 +386,12 @@ PyChipError pychip_DeviceController_ConnectIP(chip::Controller::DeviceCommission
378
386
addr.SetTransportType (chip::Transport::Type::kUdp ).SetIPAddress (peerAddr).SetInterface (ifaceOutput);
379
387
params.SetPeerAddress (addr).SetDiscriminator (0 );
380
388
381
- sPairingDelegate .SetExpectingPairingComplete (true );
382
389
return ToPyChipError (devCtrl->PairDevice (nodeid, params, sCommissioningParameters ));
383
390
}
384
391
385
392
PyChipError pychip_DeviceController_ConnectWithCode (chip::Controller::DeviceCommissioner * devCtrl, const char * onboardingPayload,
386
393
chip::NodeId nodeid, uint8_t discoveryType)
387
394
{
388
- sPairingDelegate .SetExpectingPairingComplete (true );
389
395
return ToPyChipError (devCtrl->PairDevice (nodeid, onboardingPayload, sCommissioningParameters ,
390
396
static_cast <chip::Controller::DiscoveryType>(discoveryType)));
391
397
}
@@ -430,9 +436,10 @@ PyChipError pychip_DeviceController_UnpairDevice(chip::Controller::DeviceCommiss
430
436
return ToPyChipError (err);
431
437
}
432
438
433
- PyChipError pychip_DeviceController_OnNetworkCommission (chip::Controller::DeviceCommissioner * devCtrl, uint64_t nodeId,
434
- uint32_t setupPasscode, const uint8_t filterType, const char * filterParam,
435
- uint32_t discoveryTimeoutMsec)
439
+ PyChipError pychip_DeviceController_OnNetworkCommission (chip::Controller::DeviceCommissioner * devCtrl,
440
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
441
+ uint64_t nodeId, uint32_t setupPasscode, const uint8_t filterType,
442
+ const char * filterParam, uint32_t discoveryTimeoutMsec)
436
443
{
437
444
Dnssd::DiscoveryFilter filter (static_cast <Dnssd::DiscoveryFilterType>(filterType));
438
445
switch (static_cast <Dnssd::DiscoveryFilterType>(filterType))
@@ -467,9 +474,8 @@ PyChipError pychip_DeviceController_OnNetworkCommission(chip::Controller::Device
467
474
return ToPyChipError (CHIP_ERROR_INVALID_ARGUMENT);
468
475
}
469
476
470
- sPairingDelegate .SetExpectingPairingComplete (true );
471
- CHIP_ERROR err = sPairingDeviceDiscoveryDelegate .Init (nodeId, setupPasscode, sCommissioningParameters , &sPairingDelegate ,
472
- devCtrl, discoveryTimeoutMsec);
477
+ CHIP_ERROR err = sPairingDeviceDiscoveryDelegate .Init (nodeId, setupPasscode, sCommissioningParameters , pairingDelegate, devCtrl,
478
+ discoveryTimeoutMsec);
473
479
VerifyOrReturnError (err == CHIP_NO_ERROR, ToPyChipError (err));
474
480
return ToPyChipError (devCtrl->DiscoverCommissionableNodes (filter));
475
481
}
@@ -587,7 +593,6 @@ PyChipError pychip_DeviceController_EstablishPASESessionIP(chip::Controller::Dev
587
593
addr.SetPort (port);
588
594
}
589
595
params.SetPeerAddress (addr).SetDiscriminator (0 );
590
- sPairingDelegate .SetExpectingPairingComplete (true );
591
596
return ToPyChipError (devCtrl->EstablishPASEConnection (nodeid, params));
592
597
}
593
598
@@ -598,14 +603,12 @@ PyChipError pychip_DeviceController_EstablishPASESessionBLE(chip::Controller::De
598
603
RendezvousParameters params = chip::RendezvousParameters ().SetSetupPINCode (setupPINCode);
599
604
addr.SetTransportType (chip::Transport::Type::kBle );
600
605
params.SetPeerAddress (addr).SetDiscriminator (discriminator);
601
- sPairingDelegate .SetExpectingPairingComplete (true );
602
606
return ToPyChipError (devCtrl->EstablishPASEConnection (nodeid, params));
603
607
}
604
608
605
609
PyChipError pychip_DeviceController_EstablishPASESession (chip::Controller::DeviceCommissioner * devCtrl, const char * setUpCode,
606
610
chip::NodeId nodeid)
607
611
{
608
- sPairingDelegate .SetExpectingPairingComplete (true );
609
612
return ToPyChipError (devCtrl->EstablishPASEConnection (nodeid, setUpCode));
610
613
}
611
614
@@ -656,15 +659,17 @@ PyChipError pychip_DeviceController_DiscoverCommissionableNodesCommissioningEnab
656
659
}
657
660
658
661
PyChipError pychip_ScriptDevicePairingDelegate_SetOpenWindowCompleteCallback (
659
- chip::Controller::DeviceCommissioner * devCtrl, chip::Controller::DevicePairingDelegate_OnWindowOpenCompleteFunct callback)
662
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
663
+ chip::Controller::DevicePairingDelegate_OnWindowOpenCompleteFunct callback)
660
664
{
661
- sPairingDelegate . SetCommissioningWindowOpenCallback (callback);
665
+ pairingDelegate-> SetCommissioningWindowOpenCallback (callback);
662
666
return ToPyChipError (CHIP_NO_ERROR);
663
667
}
664
668
665
- PyChipError pychip_DeviceController_OpenCommissioningWindow (chip::Controller::DeviceCommissioner * devCtrl, chip::NodeId nodeid,
666
- uint16_t timeout, uint32_t iteration, uint16_t discriminator,
667
- uint8_t optionInt)
669
+ PyChipError pychip_DeviceController_OpenCommissioningWindow (chip::Controller::DeviceCommissioner * devCtrl,
670
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
671
+ chip::NodeId nodeid, uint16_t timeout, uint32_t iteration,
672
+ uint16_t discriminator, uint8_t optionInt)
668
673
{
669
674
const auto option = static_cast <Controller::CommissioningWindowOpener::CommissioningWindowOption>(optionInt);
670
675
if (option == Controller::CommissioningWindowOpener::CommissioningWindowOption::kOriginalSetupCode )
@@ -680,40 +685,50 @@ PyChipError pychip_DeviceController_OpenCommissioningWindow(chip::Controller::De
680
685
Platform::New<Controller::CommissioningWindowOpener>(static_cast <chip::Controller::DeviceController *>(devCtrl));
681
686
PyChipError err = ToPyChipError (opener->OpenCommissioningWindow (nodeid, System::Clock::Seconds16 (timeout), iteration,
682
687
discriminator, NullOptional, NullOptional,
683
- sPairingDelegate . GetOpenWindowCallback (opener), payload));
688
+ pairingDelegate-> GetOpenWindowCallback (opener), payload));
684
689
return err;
685
690
}
686
691
687
692
return ToPyChipError (CHIP_ERROR_INVALID_ARGUMENT);
688
693
}
689
694
690
695
PyChipError
691
- pychip_ScriptDevicePairingDelegate_SetKeyExchangeCallback (chip::Controller::DeviceCommissioner * devCtrl ,
696
+ pychip_ScriptDevicePairingDelegate_SetKeyExchangeCallback (chip::Controller::ScriptDevicePairingDelegate * pairingDelegate ,
692
697
chip::Controller::DevicePairingDelegate_OnPairingCompleteFunct callback)
693
698
{
694
- sPairingDelegate . SetKeyExchangeCallback (callback);
699
+ pairingDelegate-> SetKeyExchangeCallback (callback);
695
700
return ToPyChipError (CHIP_NO_ERROR);
696
701
}
697
702
698
703
PyChipError pychip_ScriptDevicePairingDelegate_SetCommissioningCompleteCallback (
699
- chip::Controller::DeviceCommissioner * devCtrl, chip::Controller::DevicePairingDelegate_OnCommissioningCompleteFunct callback)
704
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
705
+ chip::Controller::DevicePairingDelegate_OnCommissioningCompleteFunct callback)
700
706
{
701
- sPairingDelegate . SetCommissioningCompleteCallback (callback);
707
+ pairingDelegate-> SetCommissioningCompleteCallback (callback);
702
708
return ToPyChipError (CHIP_NO_ERROR);
703
709
}
704
710
705
711
PyChipError pychip_ScriptDevicePairingDelegate_SetCommissioningStatusUpdateCallback (
706
- chip::Controller::DeviceCommissioner * devCtrl ,
712
+ chip::Controller::ScriptDevicePairingDelegate * pairingDelegate ,
707
713
chip::Controller::DevicePairingDelegate_OnCommissioningStatusUpdateFunct callback)
708
714
{
709
- sPairingDelegate .SetCommissioningStatusUpdateCallback (callback);
715
+ pairingDelegate->SetCommissioningStatusUpdateCallback (callback);
716
+ return ToPyChipError (CHIP_NO_ERROR);
717
+ }
718
+
719
+ PyChipError
720
+ pychip_ScriptDevicePairingDelegate_SetFabricCheckCallback (chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
721
+ chip::Controller::DevicePairingDelegate_OnFabricCheckFunct callback)
722
+ {
723
+ pairingDelegate->SetFabricCheckCallback (callback);
710
724
return ToPyChipError (CHIP_NO_ERROR);
711
725
}
712
726
713
727
PyChipError
714
- pychip_ScriptDevicePairingDelegate_SetFabricCheckCallback (chip::Controller::DevicePairingDelegate_OnFabricCheckFunct callback)
728
+ pychip_ScriptDevicePairingDelegate_SetExpectingPairingComplete (chip::Controller::ScriptDevicePairingDelegate * pairingDelegate,
729
+ bool value)
715
730
{
716
- sPairingDelegate . SetFabricCheckCallback (callback );
731
+ pairingDelegate-> SetExpectingPairingComplete (value );
717
732
return ToPyChipError (CHIP_NO_ERROR);
718
733
}
719
734
0 commit comments