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_network_proxy.h b/wimax_network_proxy.h
index d1bccc1..1be7733 100644
--- a/wimax_network_proxy.h
+++ b/wimax_network_proxy.h
@@ -5,6 +5,8 @@
#ifndef SHILL_WIMAX_NETWORK_PROXY_H_
#define SHILL_WIMAX_NETWORK_PROXY_H_
+#include <base/callback.h>
+
#include "shill/dbus_bindings/wimax_manager-network.h"
#include "shill/wimax_network_proxy_interface.h"
@@ -18,7 +20,9 @@
virtual ~WiMaxNetworkProxy();
// Inherited from WiMaxNetwokProxyInterface.
- virtual DBus::Path proxy_object_path() const;
+ virtual RpcIdentifier path() const;
+ virtual void set_signal_strength_changed_callback(
+ const SignalStrengthChangedCallback &callback);
virtual uint32 Identifier(Error *error);
virtual std::string Name(Error *error);
virtual int Type(Error *error);
@@ -33,13 +37,18 @@
Proxy(DBus::Connection *connection, const DBus::Path &path);
virtual ~Proxy();
+ void set_signal_strength_changed_callback(
+ const SignalStrengthChangedCallback &callback);
+
private:
// Signal callbacks inherited from WiMaxManager::Network_proxy.
- // [None]
+ virtual void SignalStrengthChanged(const int32 &signal_strength);
// Method callbacks inherited from WiMaxManager::Network_proxy.
// [None]
+ SignalStrengthChangedCallback signal_strength_changed_callback_;
+
DISALLOW_COPY_AND_ASSIGN(Proxy);
};