Emit SignalStrengthChanged DBus signal when signal strength changes.
This CL modifies NetworkDBusAdaptor::UpdateProperties to emit
Network.SignalStrengthChanged DBus signal when the value of signal
strength has changed.
BUG=chrome-os-partner:9831
TEST=Monitor SignalStrengthChanged signals when the signal strength changes.
Change-Id: I06e6921378640fda77dd2e16dfc3521fd86c358e
Reviewed-on: https://gerrit.chromium.org/gerrit/23136
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/network_dbus_adaptor.cc b/network_dbus_adaptor.cc
index 93eeb11..81e2dfe 100644
--- a/network_dbus_adaptor.cc
+++ b/network_dbus_adaptor.cc
@@ -19,6 +19,9 @@
Network *network)
: DBusAdaptor(connection, GetNetworkObjectPath(*network)),
network_(network) {
+ // Initialize |SignalStrength| before UpdateProperties() reads it for
+ // the first time.
+ SignalStrength = network_->GetSignalStrength();
UpdateProperties();
}
@@ -37,7 +40,11 @@
Type = network_->type();
CINR = network_->cinr();
RSSI = network_->rssi();
- SignalStrength = network_->GetSignalStrength();
+ int signal_strength = network_->GetSignalStrength();
+ if (SignalStrength() != signal_strength) {
+ SignalStrength = signal_strength;
+ SignalStrengthChanged(signal_strength);
+ }
}
} // namespace wimax_manager