shill: update service signal strength and frequency from endpoints
In addition to updating the values in WiFiService, we emit
notification of the changes over RPC.
BUG=chromium-os:16786,chromium-os:16788
TEST=new unit tests, manual
Manual test: run on device, see signal strength indicator in UI
instead of "X".
Change-Id: I1ab5f064953a412387362d50e47602ee62dbe0cc
Reviewed-on: https://gerrit.chromium.org/gerrit/16000
Reviewed-by: Gary Morain <gmorain@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/wifi_endpoint.cc b/wifi_endpoint.cc
index e78d6cd..629eff3 100644
--- a/wifi_endpoint.cc
+++ b/wifi_endpoint.cc
@@ -142,7 +142,9 @@
WiFiEndpoint *WiFiEndpoint::MakeOpenEndpoint(ProxyFactory *proxy_factory,
const WiFiRefPtr &wifi,
const string &ssid,
- const string &bssid) {
+ const string &bssid,
+ uint16 frequency,
+ int16 signal_dbm) {
map <string, ::DBus::Variant> args;
::DBus::MessageIter writer;
@@ -156,7 +158,8 @@
writer = args[wpa_supplicant::kBSSPropertyBSSID].writer();
writer << bssid_bytes;
- args[wpa_supplicant::kBSSPropertySignal].writer().append_int16(0);
+ args[wpa_supplicant::kBSSPropertySignal].writer().append_int16(signal_dbm);
+ args[wpa_supplicant::kBSSPropertyFrequency].writer().append_uint16(frequency);
args[wpa_supplicant::kBSSPropertyMode].writer().append_string(
wpa_supplicant::kNetworkModeInfrastructure);
// We indicate this is an open BSS by leaving out all security properties.