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_manager_proxy_interface.h b/wimax_manager_proxy_interface.h
index cab9384..96f86d4 100644
--- a/wimax_manager_proxy_interface.h
+++ b/wimax_manager_proxy_interface.h
@@ -7,6 +7,8 @@
 
 #include <vector>
 
+#include <base/callback.h>
+
 #include "shill/accessor_interface.h"
 
 namespace shill {
@@ -17,10 +19,15 @@
 // is provided so that it can be mocked in tests.
 class WiMaxManagerProxyInterface {
  public:
+  typedef base::Callback<void(const RpcIdentifiers &)> DevicesChangedCallback;
+
   virtual ~WiMaxManagerProxyInterface() {}
 
+  virtual void set_devices_changed_callback(
+      const DevicesChangedCallback &callback) = 0;
+
   // Properties.
-  virtual std::vector<RpcIdentifier> Devices(Error *error) = 0;
+  virtual RpcIdentifiers Devices(Error *error) = 0;
 };
 
 }  // namespace shill