shill: Support for GSM network scanning.

This is mostly placeholder code since synchronous calls will cause crashes due
to timeouts.

BUG=chromium-os:19805
TEST=unit tests

Change-Id: I7ad07d6274b19b39d7955ee256c6928c9f1ce5a1
Reviewed-on: http://gerrit.chromium.org/gerrit/7895
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/modem_gsm_network_proxy_interface.h b/modem_gsm_network_proxy_interface.h
index 0c53f95..84299f5 100644
--- a/modem_gsm_network_proxy_interface.h
+++ b/modem_gsm_network_proxy_interface.h
@@ -5,7 +5,9 @@
 #ifndef SHILL_MODEM_GSM_NETWORK_PROXY_INTERFACE_
 #define SHILL_MODEM_GSM_NETWORK_PROXY_INTERFACE_
 
+#include <map>
 #include <string>
+#include <vector>
 
 #include <base/basictypes.h>
 #include <dbus-c++/types.h>
@@ -17,12 +19,15 @@
 class ModemGSMNetworkProxyInterface {
  public:
   typedef DBus::Struct<uint32, std::string, std::string> RegistrationInfo;
+  typedef std::map<std::string, std::string> ScanResult;
+  typedef std::vector<ScanResult> ScanResults;
 
   virtual ~ModemGSMNetworkProxyInterface() {}
 
   virtual RegistrationInfo GetRegistrationInfo() = 0;
   virtual uint32 GetSignalQuality() = 0;
   virtual void Register(const std::string &network_id) = 0;
+  virtual ScanResults Scan() = 0;
 
   // Properties.
   virtual uint32 AccessTechnology() = 0;