[chip-tool] Add --skip-commissioning-complete optional parameter for non-concurrent connection use case (#23701)
diff --git a/examples/chip-tool/commands/pairing/PairingCommand.cpp b/examples/chip-tool/commands/pairing/PairingCommand.cpp
index 9f82700..adc560a 100644
--- a/examples/chip-tool/commands/pairing/PairingCommand.cpp
+++ b/examples/chip-tool/commands/pairing/PairingCommand.cpp
@@ -70,17 +70,23 @@
CommissioningParameters PairingCommand::GetCommissioningParameters()
{
+ auto params = CommissioningParameters();
+ params.SetSkipCommissioningComplete(mSkipCommissioningComplete.ValueOr(false));
+
switch (mNetworkType)
{
case PairingNetworkType::WiFi:
- return CommissioningParameters().SetWiFiCredentials(Controller::WiFiCredentials(mSSID, mPassword));
+ params.SetWiFiCredentials(Controller::WiFiCredentials(mSSID, mPassword));
+ break;
case PairingNetworkType::Thread:
- return CommissioningParameters().SetThreadOperationalDataset(mOperationalDataset);
+ params.SetThreadOperationalDataset(mOperationalDataset);
+ break;
case PairingNetworkType::Ethernet:
case PairingNetworkType::None:
- return CommissioningParameters();
+ break;
}
- return CommissioningParameters();
+
+ return params;
}
CHIP_ERROR PairingCommand::PaseWithCode(NodeId remoteId)
diff --git a/examples/chip-tool/commands/pairing/PairingCommand.h b/examples/chip-tool/commands/pairing/PairingCommand.h
index 61c7440..3edd1cf 100644
--- a/examples/chip-tool/commands/pairing/PairingCommand.h
+++ b/examples/chip-tool/commands/pairing/PairingCommand.h
@@ -78,20 +78,24 @@
case PairingMode::None:
break;
case PairingMode::Code:
+ AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete);
case PairingMode::CodePaseOnly:
AddArgument("payload", &mOnboardingPayload);
AddArgument("discover-once", 0, 1, &mDiscoverOnce);
AddArgument("use-only-onnetwork-discovery", 0, 1, &mUseOnlyOnNetworkDiscovery);
break;
case PairingMode::Ble:
+ AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete);
AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode);
AddArgument("discriminator", 0, 4096, &mDiscriminator);
break;
case PairingMode::OnNetwork:
+ AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete);
AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode);
AddArgument("pase-only", 0, 1, &mPaseOnly);
break;
case PairingMode::SoftAP:
+ AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete);
AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode);
AddArgument("discriminator", 0, 4096, &mDiscriminator);
AddArgument("device-remote-ip", &mRemoteAddr);
@@ -99,6 +103,7 @@
AddArgument("pase-only", 0, 1, &mPaseOnly);
break;
case PairingMode::Ethernet:
+ AddArgument("skip-commissioning-complete", 0, 1, &mSkipCommissioningComplete);
AddArgument("setup-pin-code", 0, 134217727, &mSetupPINCode);
AddArgument("discriminator", 0, 4096, &mDiscriminator);
AddArgument("device-remote-ip", &mRemoteAddr);
@@ -169,6 +174,7 @@
chip::Optional<bool> mDiscoverOnce;
chip::Optional<bool> mUseOnlyOnNetworkDiscovery;
chip::Optional<bool> mPaseOnly;
+ chip::Optional<bool> mSkipCommissioningComplete;
uint16_t mRemotePort;
uint16_t mDiscriminator;
uint32_t mSetupPINCode;