Chromium Code Reviews| Index: chrome/browser/chromeos/cros/network_library_impl_cros.cc |
| diff --git a/chrome/browser/chromeos/cros/network_library_impl_cros.cc b/chrome/browser/chromeos/cros/network_library_impl_cros.cc |
| index 21b12a53f052abba6c5d32e0d5012c8614f42761..fc6d309af25a132e441999dd671f93a9f4f88ceb 100644 |
| --- a/chrome/browser/chromeos/cros/network_library_impl_cros.cc |
| +++ b/chrome/browser/chromeos/cros/network_library_impl_cros.cc |
| @@ -5,9 +5,11 @@ |
| #include "chrome/browser/chromeos/cros/network_library_impl_cros.h" |
| #include <dbus/dbus-glib.h> |
| +#include "base/bind.h" |
| #include "base/command_line.h" |
| #include "base/json/json_writer.h" // for debug output only. |
| #include "base/metrics/histogram.h" |
| +#include "base/values.h" |
| #include "chrome/browser/chromeos/cros/cros_library.h" |
| #include "chrome/browser/chromeos/cros/native_network_constants.h" |
| #include "chrome/browser/chromeos/cros/native_network_parser.h" |
| @@ -456,6 +458,30 @@ bool NetworkLibraryImplCros::GetWifiAccessPoints( |
| return CrosGetWifiAccessPoints(result); |
| } |
| +void NetworkLibraryImplCros::RefreshIPConfig(Network* network) { |
| + DCHECK(network); |
| + CrosRequestNetworkDeviceProperties( |
| + network->device_path(), |
| + base::Bind(&NetworkLibraryImplCros::RefreshIPConfigCallback, |
| + weak_ptr_factory_.GetWeakPtr())); |
|
stevenjb
2012/08/09 20:45:50
nit: alignment
|
| +} |
| + |
| +void NetworkLibraryImplCros::RefreshIPConfigCallback( |
| + const std::string& device_path, |
| + const base::DictionaryValue* properties) { |
| + const ListValue* ips = NULL; |
| + if (!properties->GetListWithoutPathExpansion( |
| + flimflam::kIPConfigsProperty, &ips)) |
| + return; |
| + |
| + for (size_t i = 0; i < ips->GetSize(); i++) { |
| + std::string ipconfig_path; |
| + if (!ips->GetString(i, &ipconfig_path)) |
| + continue; |
| + CrosRequestIPConfigRefresh(ipconfig_path); |
| + } |
| +} |
| + |
| void NetworkLibraryImplCros::DisconnectFromNetwork(const Network* network) { |
| DCHECK(network); |
| // Asynchronous disconnect request. Network state will be updated through |