OSDN Git Service

Add netlink helper function to request a full scan
authorNingyuan Wang <nywang@google.com>
Thu, 1 Dec 2016 00:14:22 +0000 (16:14 -0800)
committerNingyuan Wang <nywang@google.com>
Tue, 10 Jan 2017 16:52:09 +0000 (08:52 -0800)
Bug: 33251936
Test: compile, unit tests, and manual test
Change-Id: I724adc9cd3a3a439f3d4ccbfb389e6752b6dc2d6

scanning/scan_utils.cpp
scanning/scan_utils.h
tests/mock_scan_utils.h

index 38ec54a..081ed65 100644 (file)
@@ -213,6 +213,12 @@ bool ScanUtils::GetSSIDFromInfoElement(const vector<uint8_t>& ie,
   return false;
 }
 
+bool ScanUtils::StartFullScan(uint32_t interface_index) {
+  // Using empty SSID for a wildcard scan.
+  vector<vector<uint8_t>> ssids{vector<uint8_t>{0}};
+  return Scan(interface_index, ssids, vector<uint32_t>());
+}
+
 bool ScanUtils::Scan(uint32_t interface_index,
                      const vector<vector<uint8_t>>& ssids,
                      const vector<uint32_t>& freqs) {
index 1fa63af..5a865ea 100644 (file)
@@ -58,6 +58,11 @@ class ScanUtils {
       uint32_t interface_index,
       std::vector<::com::android::server::wifi::wificond::NativeScanResult>* out_scan_results);
 
+  // Start a full scan on interface with index |interface_index|.
+  // This will scan for all ssids and frequencies.
+  // Returns true on success.
+  virtual bool StartFullScan(uint32_t interface_index);
+
   // Send scan request to kernel for interface with index |interface_index|.
   // |ssids| is a vector of ssids we request to scan, which mostly is used
   // for hidden networks.
index dbe3b85..ab4a64b 100644 (file)
@@ -29,6 +29,9 @@ class MockScanUtils : public ScanUtils {
   MockScanUtils(NetlinkManager* netlink_manager);
   ~MockScanUtils() override = default;
 
+  MOCK_METHOD1(StartFullScan, bool(
+      uint32_t interface_index));
+
   MOCK_METHOD2(GetScanResult, bool(
       uint32_t interface_index,
       std::vector<::com::android::server::wifi::wificond::NativeScanResult>* out_scan_results));