Skip to content

Commit

Permalink
Adding config checks for fucntions specific to only wifi and thread i…
Browse files Browse the repository at this point in the history
…n NetworkCommissioning
  • Loading branch information
shripad621git committed May 3, 2024
1 parent f6b3594 commit 9860bc5
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
14 changes: 14 additions & 0 deletions src/app/clusters/network-commissioning/network-commissioning.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ using namespace DeviceLayer::NetworkCommissioning;
namespace {

// For WiFi and Thread scan results, each item will cost ~60 bytes in TLV, thus 15 is a safe upper bound of scan results.
#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION || CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP || CHIP_DEVICE_CONFIG_ENABLE_THREAD
constexpr size_t kMaxNetworksInScanResponse = 15;
#endif

constexpr uint16_t kCurrentClusterRevision = 2;

Expand Down Expand Up @@ -545,6 +547,7 @@ bool CheckFailSafeArmed(CommandHandlerInterface::HandlerContext & ctx)

void Instance::HandleAddOrUpdateWiFiNetwork(HandlerContext & ctx, const Commands::AddOrUpdateWiFiNetwork::DecodableType & req)
{
#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION || CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP
MATTER_TRACE_SCOPE("HandleAddOrUpdateWiFiNetwork", "NetworkCommissioning");

VerifyOrReturn(CheckFailSafeArmed(ctx));
Expand Down Expand Up @@ -617,8 +620,10 @@ void Instance::HandleAddOrUpdateWiFiNetwork(HandlerContext & ctx, const Commands
UpdateBreadcrumb(req.breadcrumb);
ReportNetworksListChanged();
}
#endif
}


#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_PDC
void Instance::HandleAddOrUpdateWiFiNetworkWithPDC(HandlerContext & ctx,
const Commands::AddOrUpdateWiFiNetwork::DecodableType & req)
Expand Down Expand Up @@ -727,6 +732,8 @@ void Instance::HandleAddOrUpdateWiFiNetworkWithPDC(HandlerContext & ctx,

void Instance::HandleAddOrUpdateThreadNetwork(HandlerContext & ctx, const Commands::AddOrUpdateThreadNetwork::DecodableType & req)
{
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD

MATTER_TRACE_SCOPE("HandleAddOrUpdateThreadNetwork", "NetworkCommissioning");

VerifyOrReturn(CheckFailSafeArmed(ctx));
Expand All @@ -744,8 +751,10 @@ void Instance::HandleAddOrUpdateThreadNetwork(HandlerContext & ctx, const Comman
ReportNetworksListChanged();
UpdateBreadcrumb(req.breadcrumb);
}
#endif
}


void Instance::UpdateBreadcrumb(const Optional<uint64_t> & breadcrumb)
{
VerifyOrReturn(breadcrumb.HasValue());
Expand Down Expand Up @@ -979,6 +988,7 @@ void Instance::OnResult(Status commissioningError, CharSpan debugText, int32_t i

void Instance::OnFinished(Status status, CharSpan debugText, ThreadScanResponseIterator * networks)
{
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
CHIP_ERROR err = CHIP_NO_ERROR;
auto commandHandleRef = std::move(mAsyncCommandHandle);
auto commandHandle = commandHandleRef.Get();
Expand Down Expand Up @@ -1089,10 +1099,12 @@ void Instance::OnFinished(Status status, CharSpan debugText, ThreadScanResponseI
CommitSavedBreadcrumb();
}
networks->Release();
#endif
}

void Instance::OnFinished(Status status, CharSpan debugText, WiFiScanResponseIterator * networks)
{
#if CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION || CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP
CHIP_ERROR err = CHIP_NO_ERROR;
auto commandHandleRef = std::move(mAsyncCommandHandle);
auto commandHandle = commandHandleRef.Get();
Expand Down Expand Up @@ -1169,8 +1181,10 @@ void Instance::OnFinished(Status status, CharSpan debugText, WiFiScanResponseIte
{
networks->Release();
}
#endif
}


void Instance::OnPlatformEventHandler(const DeviceLayer::ChipDeviceEvent * event, intptr_t arg)
{
Instance * this_ = reinterpret_cast<Instance *>(arg);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,13 @@ class Instance : public CommandHandlerInterface,

// Actual handlers of the commands
void HandleScanNetworks(HandlerContext & ctx, const Commands::ScanNetworks::DecodableType & req);

void HandleAddOrUpdateWiFiNetwork(HandlerContext & ctx, const Commands::AddOrUpdateWiFiNetwork::DecodableType & req);

void HandleAddOrUpdateWiFiNetworkWithPDC(HandlerContext & ctx, const Commands::AddOrUpdateWiFiNetwork::DecodableType & req);

void HandleAddOrUpdateThreadNetwork(HandlerContext & ctx, const Commands::AddOrUpdateThreadNetwork::DecodableType & req);

void HandleRemoveNetwork(HandlerContext & ctx, const Commands::RemoveNetwork::DecodableType & req);
void HandleConnectNetwork(HandlerContext & ctx, const Commands::ConnectNetwork::DecodableType & req);
void HandleReorderNetwork(HandlerContext & ctx, const Commands::ReorderNetwork::DecodableType & req);
Expand Down
2 changes: 0 additions & 2 deletions src/include/platform/NetworkCommissioning.h
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,6 @@ class WiFiDriver : public Internal::WirelessDriver
* message.)
*/
virtual void OnFinished(Status status, CharSpan debugText, WiFiScanResponseIterator * networks) = 0;

virtual ~ScanCallback() = default;
};

Expand Down Expand Up @@ -399,7 +398,6 @@ class ThreadDriver : public Internal::WirelessDriver
* message.)
*/
virtual void OnFinished(Status err, CharSpan debugText, ThreadScanResponseIterator * networks) = 0;

virtual ~ScanCallback() = default;
};

Expand Down

0 comments on commit 9860bc5

Please sign in to comment.