shill: wimax: Listen to SignalStrengthChanged and update the service strength.

Also, change some instances of DBus::Path to RpcIdentifier.

BUG=chrome-os-partner:9831,chrome-os-partner:9837
TEST=unit tests
CQ-DEPEND=If7c0543cc98bc39fba28e7465bcd6de974d8aa1f

Change-Id: I49fafd5569764d46f5814ac3d19783fe4409a675
Reviewed-on: https://gerrit.chromium.org/gerrit/23115
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/wimax_service.h b/wimax_service.h
index 98e4cc2..aaf0119 100644
--- a/wimax_service.h
+++ b/wimax_service.h
@@ -27,10 +27,9 @@
   // connecting to the network associated with this service.
   void GetConnectParameters(DBusPropertiesMap *parameters) const;
 
-  // Returns the DBus object path for the WiMaxManager.Network object
-  // associated with this service. Must only be called after |proxy_| is set
-  // by Start().
-  DBus::Path GetNetworkObjectPath() const;
+  // Returns the RPC object path for the WiMaxManager.Network object associated
+  // with this service. Must only be called after |proxy_| is set by Start().
+  RpcIdentifier GetNetworkObjectPath() const;
 
   // Returns true on success, false otherwise. Takes ownership of proxy,
   // regardless of the result of the operation.
@@ -47,9 +46,12 @@
 
  private:
   FRIEND_TEST(WiMaxServiceTest, GetDeviceRpcId);
+  FRIEND_TEST(WiMaxServiceTest, OnSignalStrengthChanged);
 
   virtual std::string GetDeviceRpcId(Error *error);
 
+  void OnSignalStrengthChanged(int strength);
+
   WiMaxRefPtr wimax_;
   scoped_ptr<WiMaxNetworkProxyInterface> proxy_;
   std::string storage_id_;