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_service.h b/wimax_service.h
index 86a59ed..410c04c 100644
--- a/wimax_service.h
+++ b/wimax_service.h
@@ -12,6 +12,8 @@
 
 namespace shill {
 
+class WiMaxNetworkProxyInterface;
+
 class WiMaxService : public Service {
  public:
   WiMaxService(ControlInterface *control,
@@ -21,6 +23,13 @@
                const WiMaxRefPtr &wimax);
   virtual ~WiMaxService();
 
+  // Returns true on success, false otherwise. Takes ownership of proxy,
+  // regardless of the result of the operation.
+  bool Start(WiMaxNetworkProxyInterface *proxy);
+
+  const std::string &network_name() const { return network_name_; }
+  uint32 network_identifier() const { return network_identifier_; }
+
   // Inherited from Service.
   virtual bool TechnologyIs(const Technology::Identifier type) const;
   virtual void Connect(Error *error);
@@ -33,8 +42,12 @@
   virtual std::string GetDeviceRpcId(Error *error);
 
   WiMaxRefPtr wimax_;
+  scoped_ptr<WiMaxNetworkProxyInterface> proxy_;
   std::string storage_id_;
 
+  uint32 network_identifier_;
+  std::string network_name_;
+
   DISALLOW_COPY_AND_ASSIGN(WiMaxService);
 };