shill: Update WiMAX DBus proxy interfaces and classes.

Adds WiMaxManager.Network proxy. Creates WiMaxService objects based on
the available WiMax networks thus adding initial support for multiple
active WiMAX services. Adds a "Scanning" property to the WiMax device,
similar to WiFi and Cellular.

BUG=chrome-os-partner:9782
TEST=Build and run unit tests.
CQ-DEPEND=I97ce1351436afb3aeac0d2a48a8f51e1501e7466

Change-Id: Ie3f919846114f63414788c5b970fa0dff2e2d06a
Reviewed-on: https://gerrit.chromium.org/gerrit/23008
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
diff --git a/wimax_device_proxy_interface.h b/wimax_device_proxy_interface.h
index 0098978..89a4971 100644
--- a/wimax_device_proxy_interface.h
+++ b/wimax_device_proxy_interface.h
@@ -19,6 +19,8 @@
 // interface is provided so that it can be mocked in tests.
 class WiMaxDeviceProxyInterface {
  public:
+  typedef base::Callback<void(const RpcIdentifiers &)> NetworksChangedCallback;
+
   virtual ~WiMaxDeviceProxyInterface() {}
 
   virtual void Enable(Error *error,
@@ -27,6 +29,9 @@
   virtual void Disable(Error *error,
                        const ResultCallback &callback,
                        int timeout) = 0;
+  virtual void ScanNetworks(Error *error,
+                            const ResultCallback &callback,
+                            int timeout) = 0;
   virtual void Connect(Error *error,
                        const ResultCallback &callback,
                        int timeout) = 0;
@@ -34,6 +39,9 @@
                           const ResultCallback &callback,
                           int timeout) = 0;
 
+  virtual void set_networks_changed_callback(
+      const NetworksChangedCallback &callback) = 0;
+
   // Properties.
   virtual uint8 Index(Error *error) = 0;
   virtual std::string Name(Error *error) = 0;