Index: chromeos/network/network_state.cc |
diff --git a/chromeos/network/network_state.cc b/chromeos/network/network_state.cc |
index 5a8914cec2a8582c6abcafd69cdeaa4689dfd16a..337b5240b56d2a3ec50aa57a3fa357b417bdc9ad 100644 |
--- a/chromeos/network/network_state.cc |
+++ b/chromeos/network/network_state.cc |
@@ -6,6 +6,7 @@ |
#include "base/i18n/icu_encoding_detection.h" |
#include "base/i18n/icu_string_conversions.h" |
+#include "base/json/json_writer.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "base/strings/stringprintf.h" |
@@ -15,6 +16,9 @@ |
#include "chromeos/network/onc/onc_utils.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
+// TODO(stevenjb): Use flimflam:: property when defined in service_constants.h |
+const char kWifiFrequencyListProperty[] = "WiFi.FrequencyList"; |
stevenjb
2013/06/20 20:19:30
This will be removed before comitting
|
+ |
namespace { |
bool ConvertListValueToStringVector(const base::ListValue& string_list, |
@@ -81,6 +85,24 @@ bool NetworkState::PropertyChanged(const std::string& key, |
return GetBooleanValue(key, value, &connectable_); |
} else if (key == flimflam::kPassphraseRequiredProperty) { |
return GetBooleanValue(key, value, &passphrase_required_); |
+ } else if (key == kWifiFrequencyListProperty) { |
+ const base::ListValue* frequencies; |
+ if (!value.GetAsList(&frequencies)) { |
+ NET_LOG_ERROR("Failed to parse " + key, path()); |
+ return false; |
+ } |
+ wifi_frequencies_.clear(); |
+ for (base::ListValue::const_iterator iter = frequencies->begin(); |
+ iter != frequencies->end(); ++iter) { |
+ int frequency; |
+ if ((*iter)->GetAsInteger(&frequency)) |
+ wifi_frequencies_.push_back(frequency); |
+ } |
+ if (!wifi_frequencies_.empty()) { |
+ std::string str; |
+ base::JSONWriter::Write(frequencies, &str); |
+ NET_LOG_DEBUG("WifiFrequencies for " + path(), str); |
+ } |
} else if (key == flimflam::kErrorProperty) { |
return GetStringValue(key, value, &error_); |
} else if (key == shill::kErrorDetailsProperty) { |
@@ -108,7 +130,7 @@ bool NetworkState::PropertyChanged(const std::string& key, |
} else if (key == flimflam::kProxyConfigProperty) { |
std::string proxy_config_str; |
if (!value.GetAsString(&proxy_config_str)) { |
- LOG(WARNING) << "Failed to parse string value for:" << key; |
+ NET_LOG_ERROR("Failed to parse " + key, path()); |
return false; |
} |
@@ -125,13 +147,13 @@ bool NetworkState::PropertyChanged(const std::string& key, |
// order leads to memory access errors. |
proxy_config_.MergeDictionary(proxy_config_dict.get()); |
} else { |
- LOG(WARNING) << "Failed to parse dictionary value for: " << key; |
+ NET_LOG_ERROR("Failed to parse " + key, path()); |
} |
return true; |
} else if (key == flimflam::kUIDataProperty) { |
std::string ui_data_str; |
if (!value.GetAsString(&ui_data_str)) { |
- LOG(WARNING) << "Failed to parse string value for:" << key; |
+ NET_LOG_ERROR("Failed to parse " + key, path()); |
return false; |
} |
@@ -144,7 +166,7 @@ bool NetworkState::PropertyChanged(const std::string& key, |
if (ui_data_dict) |
onc_source_ = NetworkUIData(*ui_data_dict).onc_source(); |
else |
- LOG(WARNING) << "Failed to parse dictionary value for: " << key; |
+ NET_LOG_ERROR("Failed to parse " + key, path()); |
return true; |
} else if (key == flimflam::kNetworkTechnologyProperty) { |
return GetStringValue(key, value, &technology_); |
@@ -186,6 +208,14 @@ void NetworkState::GetProperties(base::DictionaryValue* dictionary) const { |
connectable_); |
dictionary->SetBooleanWithoutPathExpansion( |
flimflam::kPassphraseRequiredProperty, passphrase_required_); |
+ |
+ base::ListValue* frequencies = new base::ListValue; |
+ for (FrequencyList::const_iterator iter = wifi_frequencies_.begin(); |
+ iter != wifi_frequencies_.end(); ++iter) { |
+ frequencies->AppendInteger(*iter); |
+ } |
+ dictionary->SetWithoutPathExpansion(kWifiFrequencyListProperty, frequencies); |
+ |
dictionary->SetStringWithoutPathExpansion(flimflam::kErrorProperty, |
error_); |
dictionary->SetStringWithoutPathExpansion(shill::kErrorDetailsProperty, |