Skip to content

Commit

Permalink
Move RendezvousServer and CommissionManager to a single class (#9709)
Browse files Browse the repository at this point in the history
* Move RendezvousServer and CommissionManager to a single class

* fix compilation of tv app

* address review comments

* remove fabric deletion code from CommissioningWindowManager

* fix build issue

* fix test compilation
  • Loading branch information
pan-apple authored and pull[bot] committed Sep 21, 2021
1 parent ac5dc99 commit 4246372
Show file tree
Hide file tree
Showing 30 changed files with 378 additions and 601 deletions.
9 changes: 5 additions & 4 deletions examples/all-clusters-app/esp32/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,8 @@ class SetupListModel : public ListScreen::Model
if (i == 0)
{
ConnectivityMgr().ClearWiFiStationProvision();
chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(ResetFabrics::kYes);
chip::Server::GetInstance().GetFabricTable().DeleteAllFabrics();
chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow();
}
else if (i == 1)
{
Expand All @@ -355,9 +356,9 @@ class SetupListModel : public ListScreen::Model
else if (i == 2)
{
app::MdnsServer::Instance().StartServer(Mdns::CommissioningMode::kEnabledBasic);

chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(
ResetFabrics::kYes, kNoCommissioningTimeout, CommissioningWindowAdvertisement::kMdns);
chip::Server::GetInstance().GetFabricTable().DeleteAllFabrics();
chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow(
kNoCommissioningTimeout, CommissioningWindowAdvertisement::kMdnsOnly);
}
}

Expand Down
3 changes: 1 addition & 2 deletions examples/lighting-app/k32w/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -489,8 +489,7 @@ void AppTask::BleHandler(AppEvent * aEvent)
{
ConnectivityMgr().SetBLEAdvertisingEnabled(true);

if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) ==
CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() == CHIP_NO_ERROR)
{
K32W_LOG("Started BLE Advertising!");
}
Expand Down
3 changes: 1 addition & 2 deletions examples/lighting-app/mbed/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,8 @@ target_sources(${APP_TARGET} PRIVATE
${CHIP_ROOT}/src/app/server/EchoHandler.cpp
${CHIP_ROOT}/src/app/server/Mdns.cpp
${CHIP_ROOT}/src/app/server/OnboardingCodesUtil.cpp
${CHIP_ROOT}/src/app/server/RendezvousServer.cpp
${CHIP_ROOT}/src/app/server/Server.cpp
${CHIP_ROOT}/src/app/server/CommissionManager.cpp
${CHIP_ROOT}/src/app/server/CommissioningWindowManager.cpp
${CHIP_ROOT}/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp
${CHIP_ROOT}/src/app/clusters/basic/basic.cpp
${CHIP_ROOT}/src/app/clusters/bindings/bindings.cpp
Expand Down
2 changes: 1 addition & 1 deletion examples/lighting-app/nrfconnect/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent)
return;
}

if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) != CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR)
{
LOG_ERR("OpenBasicCommissioningWindow() failed");
}
Expand Down
2 changes: 1 addition & 1 deletion examples/lighting-app/qpg/src/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ CHIP_ERROR AppTask::Init()
PrintOnboardingCodes(chip::RendezvousInformationFlags(chip::RendezvousInformationFlag::kBLE));

// Enable BLE advertisements
chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo);
chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow();
ChipLogProgress(NotSpecified, "BLE advertising started. Waiting for Pairing.");

return err;
Expand Down
3 changes: 1 addition & 2 deletions examples/lighting-app/telink/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,8 @@ target_sources(app PRIVATE
${CHIP_ROOT}/src/app/server/EchoHandler.cpp
${CHIP_ROOT}/src/app/server/Mdns.cpp
${CHIP_ROOT}/src/app/server/OnboardingCodesUtil.cpp
${CHIP_ROOT}/src/app/server/RendezvousServer.cpp
${CHIP_ROOT}/src/app/server/Server.cpp
${CHIP_ROOT}/src/app/server/CommissionManager.cpp
${CHIP_ROOT}/src/app/server/CommissioningWindowManager.cpp
${CHIP_ROOT}/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp
${CHIP_ROOT}/src/app/clusters/basic/basic.cpp
${CHIP_ROOT}/src/app/clusters/bindings/bindings.cpp
Expand Down
3 changes: 1 addition & 2 deletions examples/lock-app/cc13x2x7_26x2x7/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -333,8 +333,7 @@ void AppTask::DispatchEvent(AppEvent * aEvent)
// Enable BLE advertisements
if (!ConnectivityMgr().IsBLEAdvertisingEnabled())
{
if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) ==
CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() == CHIP_NO_ERROR)
{
PLAT_LOG("Enabled BLE Advertisement");
}
Expand Down
3 changes: 1 addition & 2 deletions examples/lock-app/k32w/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -528,8 +528,7 @@ void AppTask::BleHandler(void * aGenericEvent)
{
ConnectivityMgr().SetBLEAdvertisingEnabled(true);

if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) ==
CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() == CHIP_NO_ERROR)
{
K32W_LOG("Started BLE Advertising!");
}
Expand Down
3 changes: 1 addition & 2 deletions examples/lock-app/mbed/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,8 @@ target_sources(${APP_TARGET} PRIVATE
${CHIP_ROOT}/src/app/server/EchoHandler.cpp
${CHIP_ROOT}/src/app/server/Mdns.cpp
${CHIP_ROOT}/src/app/server/OnboardingCodesUtil.cpp
${CHIP_ROOT}/src/app/server/RendezvousServer.cpp
${CHIP_ROOT}/src/app/server/Server.cpp
${CHIP_ROOT}/src/app/server/CommissionManager.cpp
${CHIP_ROOT}/src/app/server/CommissioningWindowManager.cpp
${CHIP_ROOT}/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp
${CHIP_ROOT}/src/app/clusters/basic/basic.cpp
${CHIP_ROOT}/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp
Expand Down
2 changes: 1 addition & 1 deletion examples/lock-app/nrfconnect/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent)
return;
}

if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) != CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR)
{
LOG_ERR("OpenBasicCommissioningWindow() failed");
}
Expand Down
3 changes: 1 addition & 2 deletions examples/lock-app/qpg/src/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,7 @@ void AppTask::FunctionHandler(AppEvent * aEvent)
if (!ConnectivityMgr().IsThreadProvisioned())
{
// Enable BLE advertisements and pairing window
if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) ==
CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() == CHIP_NO_ERROR)
{
ChipLogProgress(NotSpecified, "BLE advertising started. Waiting for Pairing.");
}
Expand Down
3 changes: 1 addition & 2 deletions examples/pump-app/cc13x2x7_26x2x7/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,7 @@ void AppTask::DispatchEvent(AppEvent * aEvent)
// Enable BLE advertisements
if (!ConnectivityMgr().IsBLEAdvertisingEnabled())
{
if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) ==
CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() == CHIP_NO_ERROR)
{
PLAT_LOG("Enabled BLE Advertisement");
}
Expand Down
2 changes: 1 addition & 1 deletion examples/pump-app/nrfconnect/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent)
return;
}

if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) != CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR)
{
LOG_ERR("OpenBasicCommissioningWindow() failed");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,8 +335,7 @@ void AppTask::DispatchEvent(AppEvent * aEvent)
// Enable BLE advertisements
if (!ConnectivityMgr().IsBLEAdvertisingEnabled())
{
if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) ==
CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() == CHIP_NO_ERROR)
{
PLAT_LOG("Enabled BLE Advertisement");
}
Expand Down
2 changes: 1 addition & 1 deletion examples/pump-controller-app/nrfconnect/main/AppTask.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ void AppTask::StartBLEAdvertisementHandler(AppEvent * aEvent)
return;
}

if (chip::Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(chip::ResetFabrics::kNo) != CHIP_NO_ERROR)
if (chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow() != CHIP_NO_ERROR)
{
LOG_ERR("OpenBasicCommissioningWindow() failed");
}
Expand Down
5 changes: 3 additions & 2 deletions examples/tv-casting-app/linux/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,9 @@ void PrepareForCommissioning(const Mdns::DiscoveredNodeData * selectedCommission
{
// Enter commissioning mode, open commissioning window
Server::GetInstance().Init();
ReturnOnFailure(Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(ResetFabrics::kYes,
kCommissioningWindowTimeoutInSec));
Server::GetInstance().GetFabricTable().DeleteAllFabrics();
ReturnOnFailure(
Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow(kCommissioningWindowTimeoutInSec));

// Display onboarding payload
chip::DeviceLayer::ConfigurationMgr().LogDeviceConfig();
Expand Down
3 changes: 1 addition & 2 deletions src/app/chip_data_model.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,8 @@ function(chip_configure_data_model APP_TARGET)
${CHIP_APP_BASE_DIR}/server/EchoHandler.cpp
${CHIP_APP_BASE_DIR}/server/Mdns.cpp
${CHIP_APP_BASE_DIR}/server/OnboardingCodesUtil.cpp
${CHIP_APP_BASE_DIR}/server/RendezvousServer.cpp
${CHIP_APP_BASE_DIR}/server/Server.cpp
${CHIP_APP_BASE_DIR}/server/CommissionManager.cpp
${CHIP_APP_BASE_DIR}/server/CommissioningWindowManager.cpp
)
endif()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ bool emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(End

ChipLogProgress(Zcl, "Received command to open commissioning window");

VerifyOrExit(!Server::GetInstance().GetCommissionManager().IsPairingWindowOpen(), status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(!Server::GetInstance().GetCommissioningWindowManager().IsCommissioningWindowOpen(),
status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(sizeof(verifier) == pakeVerifier.size(), status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(iterations >= kPBKDFMinimumIterations, status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(iterations <= kPBKDFMaximumIterations, status = EMBER_ZCL_STATUS_FAILURE);
Expand All @@ -55,7 +56,7 @@ bool emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback(End
memcpy(verifier.mW0, &verifierData[0], kSpake2p_WS_Length);
memcpy(verifier.mL, &verifierData[kSpake2p_WS_Length], kSpake2p_WS_Length);

VerifyOrExit(Server::GetInstance().GetCommissionManager().OpenEnhancedCommissioningWindow(
VerifyOrExit(Server::GetInstance().GetCommissioningWindowManager().OpenEnhancedCommissioningWindow(
commissioningTimeout, discriminator, verifier, iterations, salt, passcodeID) == CHIP_NO_ERROR,
status = EMBER_ZCL_STATUS_FAILURE);
ChipLogProgress(Zcl, "Commissioning window is now open");
Expand All @@ -75,10 +76,11 @@ bool emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallbac
{
EmberAfStatus status = EMBER_ZCL_STATUS_SUCCESS;
ChipLogProgress(Zcl, "Received command to open basic commissioning window");
VerifyOrExit(!Server::GetInstance().GetCommissionManager().IsPairingWindowOpen(), status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(!Server::GetInstance().GetCommissioningWindowManager().IsCommissioningWindowOpen(),
status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(commissioningTimeout <= kMaxCommissionioningTimeoutSeconds, status = EMBER_ZCL_STATUS_FAILURE);
VerifyOrExit(Server::GetInstance().GetCommissionManager().OpenBasicCommissioningWindow(ResetFabrics::kNo,
commissioningTimeout) == CHIP_NO_ERROR,
VerifyOrExit(Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow(commissioningTimeout) ==
CHIP_NO_ERROR,
status = EMBER_ZCL_STATUS_FAILURE);
ChipLogProgress(Zcl, "Commissioning window is now open");

Expand All @@ -94,7 +96,7 @@ bool emberAfAdministratorCommissioningClusterOpenBasicCommissioningWindowCallbac
bool emberAfAdministratorCommissioningClusterRevokeCommissioningCallback(EndpointId endpoint, app::CommandHandler * commandObj)
{
ChipLogProgress(Zcl, "Received command to close commissioning window");
Server::GetInstance().GetCommissionManager().CloseCommissioningWindow();
Server::GetInstance().GetCommissioningWindowManager().CloseCommissioningWindow();
ChipLogProgress(Zcl, "Commissioning window is now closed");
emberAfSendImmediateDefaultResponse(EMBER_ZCL_STATUS_SUCCESS);
return true;
Expand Down
6 changes: 2 additions & 4 deletions src/app/server/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,14 @@ static_library("server") {
output_name = "libCHIPAppServer"

sources = [
"CommissionManager.cpp",
"CommissionManager.h",
"CommissioningWindowManager.cpp",
"CommissioningWindowManager.h",
"EchoHandler.cpp",
"EchoHandler.h",
"Mdns.cpp",
"Mdns.h",
"OnboardingCodesUtil.cpp",
"OnboardingCodesUtil.h",
"RendezvousServer.cpp",
"RendezvousServer.h",
"Server.cpp",
"Server.h",
]
Expand Down

0 comments on commit 4246372

Please sign in to comment.