shill: implement manager.RequestScan (for WiFi only)
BUG=chromium-os:19831
TEST=unittests, WiFiManager/000_SSID_Length_Limit
note that 000_SSID_Length_Limit does not pass yet,
because we don't do IP configuration yet. but it
does get scan results.
Change-Id: I8993b3c646eda705271d1f7ad7d7341c692ae06b
Reviewed-on: http://gerrit.chromium.org/gerrit/7407
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/wifi.h b/wifi.h
index 8a35e95..c58aa8c 100644
--- a/wifi.h
+++ b/wifi.h
@@ -33,6 +33,7 @@
virtual ~WiFi();
virtual void Start();
virtual void Stop();
+ virtual void Scan();
virtual bool TechnologyIs(const Technology type) const;
// called by SupplicantInterfaceProxy, in response to events from
@@ -42,7 +43,7 @@
void ScanDone();
// called by WiFiService
- void ConnectTo(const WiFiService &service);
+ void ConnectTo(WiFiService *service);
private:
typedef std::map<const std::string, WiFiEndpointRefPtr> EndpointMap;
@@ -55,9 +56,12 @@
static const char kSupplicantPropertySSID[];
static const char kSupplicantPropertyNetworkMode[];
static const char kSupplicantPropertyKeyMode[];
+ static const char kSupplicantPropertyScanType[];
static const char kSupplicantKeyModeNone[];
+ static const char kSupplicantScanTypeActive[];
void ScanDoneTask();
+ void ScanTask();
ScopedRunnableMethodFactory<WiFi> task_factory_;
scoped_ptr<SupplicantProcessProxyInterface> supplicant_process_proxy_;