Skip to content

RDK-61444 : Network Manager Plugin to support Scan Specific SSID#306

Open
jincysam87 wants to merge 22 commits into
rdkcentral:developfrom
jincysam87:feature/RDK-61444-1
Open

RDK-61444 : Network Manager Plugin to support Scan Specific SSID#306
jincysam87 wants to merge 22 commits into
rdkcentral:developfrom
jincysam87:feature/RDK-61444-1

Conversation

@jincysam87
Copy link
Copy Markdown
Contributor

Reason for change: Support to scan multiple SSIDs
Test Procedure: Test wifi scan API with multiple SSIDs
Risks: Low
Signed-off-by: jincysaramma_sam@comcast.com

Copilot AI review requested due to automatic review settings May 8, 2026 15:59
@jincysam87 jincysam87 requested a review from a team as a code owner May 8, 2026 15:59
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/306/rdkcentral/networkmanager

  • Commit: 3a19acc

Report detail: gist'

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the GNOME NetworkManager WiFi scan path to support scanning with multiple SSID filters (instead of a single optional SSID string), aligning the plugin with the requirement to “scan multiple SSIDs”.

Changes:

  • Updated wifiScanRequest API to accept a std::vector<std::string> of SSIDs to filter.
  • Built a GVariant aay SSID list for nm_device_wifi_request_scan_options_async() when filters are provided; otherwise falls back to a normal scan.
  • Updated the GNOME proxy to pass the SSID filter list through to the WiFi manager.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
plugin/gnome/NetworkManagerGnomeWIFI.h Changes wifiScanRequest signature to take a vector of SSIDs.
plugin/gnome/NetworkManagerGnomeWIFI.cpp Implements building a multi-SSID scan options payload and triggers filtered vs unfiltered scan.
plugin/gnome/NetworkManagerGnomeProxy.cpp Passes the SSID filter list to the updated scan request API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h Outdated
bool wifiConnectedSSIDInfo(Exchange::INetworkManager::WiFiSSIDInfo &ssidinfo);
bool wifiConnect(const Exchange::INetworkManager::WiFiConnectTo &ssidInfo);
bool wifiScanRequest(std::string ssidReq = "");
bool wifiScanRequest(std::vector<std::string> ssidsToFilter = {});
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp Outdated
if(!ssidsToFilter.empty())
{
NMLOG_INFO("starting wifi scanning .. %s", ssidReq.c_str());
NMLOG_INFO("Starting wifi scanning for %d SSIDs:", ssidsToFilter.size());
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 8, 2026 16:05
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/306/rdkcentral/networkmanager

  • Commit: ec5d3a2

Report detail: gist'

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h Outdated
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h Outdated
bool wifiConnectedSSIDInfo(Exchange::INetworkManager::WiFiSSIDInfo &ssidinfo);
bool wifiConnect(const Exchange::INetworkManager::WiFiConnectTo &ssidInfo);
bool wifiScanRequest(std::string ssidReq = "");
bool wifiScanRequest(std::vector<std::string> ssidsToFilter = {});
if(!ssidsToFilter.empty())
{
NMLOG_INFO("starting wifi scanning .. %s", ssidReq.c_str());
NMLOG_INFO("Starting wifi scanning for %d SSIDs:", ssidsToFilter.size());
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 8, 2026 16:13
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/306/rdkcentral/networkmanager

  • Commit: 3aba5bb

Report detail: gist'

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/306/rdkcentral/networkmanager

  • Commit: 7032c46

Report detail: gist'

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/306/rdkcentral/networkmanager

  • Commit: 7032c46

Report detail: gist'

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.h
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Copilot AI review requested due to automatic review settings May 8, 2026 16:52
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Comment thread tools/plugincli/NetworkManagerLibnmTest.cpp Outdated
Comment on lines +1699 to +1707
if(!ssidsToFilter.empty())
{
NMLOG_INFO("starting wifi scanning .. %s", ssidReq.c_str());
NMLOG_INFO("Starting wifi scanning for %d SSIDs:",static_cast<int>(ssidsToFilter.size()));
GVariantBuilder builder, array_builder;
GVariant *options;
g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
g_variant_builder_init(&array_builder, G_VARIANT_TYPE("aay"));
g_variant_builder_add(&array_builder, "@ay",
g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, (const guint8 *) ssidReq.c_str(), ssidReq.length(), 1)
);
for (const auto& ssid : ssidsToFilter) {
if (!ssid.empty()) {
Comment on lines 1688 to 1716
@@ -1696,23 +1696,27 @@ namespace WPEFramework
return false;
}
m_isSuccess = false;
if(!ssidReq.empty())
if(!ssidsToFilter.empty())
{
NMLOG_INFO("starting wifi scanning .. %s", ssidReq.c_str());
NMLOG_INFO("Starting wifi scanning for %d SSIDs:",static_cast<int>(ssidsToFilter.size()));
GVariantBuilder builder, array_builder;
GVariant *options;
g_variant_builder_init(&builder, G_VARIANT_TYPE_VARDICT);
g_variant_builder_init(&array_builder, G_VARIANT_TYPE("aay"));
g_variant_builder_add(&array_builder, "@ay",
g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, (const guint8 *) ssidReq.c_str(), ssidReq.length(), 1)
);
for (const auto& ssid : ssidsToFilter) {
if (!ssid.empty()) {
g_variant_builder_add(&array_builder, "@ay",
g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, (const guint8 *) ssid.c_str(), ssid.length(), 1)
);
}
}
g_variant_builder_add(&builder, "{sv}", "ssids", g_variant_builder_end(&array_builder));
options = g_variant_builder_end(&builder);
nm_device_wifi_request_scan_options_async(wifiDevice, options, m_cancellable, wifiScanCb, this);
g_variant_unref(options); // Unreference the GVariant after passing it to the async function
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 8, 2026 17:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeWIFI.cpp
Comment thread plugin/gnome/NetworkManagerGnomeProxy.cpp
Copilot AI review requested due to automatic review settings May 8, 2026 17:12
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/networkmanager/306/rdkcentral/networkmanager

  • Commit: 8b1f241

Report detail: gist'

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment on lines 1705 to +1709
g_variant_builder_init(&array_builder, G_VARIANT_TYPE("aay"));
g_variant_builder_add(&array_builder, "@ay",
g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, (const guint8 *) ssidReq.c_str(), ssidReq.length(), 1)
);
for (const auto& ssid : ssidsToFilter) {
g_variant_builder_add(&array_builder, "@ay",
g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, (const guint8 *) ssid.c_str(), ssid.length(), 1)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants