Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: chromeos/network/network_state_handler.cc

Issue 15233002: Add NetworkStateHandler::RequestUpdateForNetwork (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add request call for NetworkConfigurationHandler::CreateConfiguration Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/network/network_state_handler.h ('k') | chromeos/network/network_state_handler_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/network/network_state_handler.cc
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
index 8ef955f9f2cf0bf6cd0977b32817803059625e4b..db733487c17cf43782c65bb820bf20b9d188989c 100644
--- a/chromeos/network/network_state_handler.cc
+++ b/chromeos/network/network_state_handler.cc
@@ -294,6 +294,29 @@ void NetworkStateHandler::ConnectToBestWifiNetwork() {
shill_property_handler_->AsWeakPtr()));
}
+bool NetworkStateHandler::RequestUpdateForNetwork(
+ const std::string& service_path) {
+ NetworkState* network = GetModifiableNetworkState(service_path);
+ if (!network)
+ return false; // Only request an update for known networks.
+ network->set_update_requested(true);
+ NET_LOG_EVENT("RequestUpdate", service_path);
+ shill_property_handler_->RequestProperties(
+ ManagedState::MANAGED_TYPE_NETWORK, service_path);
+ return true;
+}
+
+void NetworkStateHandler::RequestUpdateForAllNetworks() {
+ NET_LOG_EVENT("RequestUpdateForAllNetworks", "");
+ for (ManagedStateList::iterator iter = network_list_.begin();
+ iter != network_list_.end(); ++iter) {
+ ManagedState* network = *iter;
+ network->set_update_requested(true);
+ shill_property_handler_->RequestProperties(
+ ManagedState::MANAGED_TYPE_NETWORK, network->path());
+ }
+}
+
void NetworkStateHandler::SetConnectingNetwork(
const std::string& service_path) {
connecting_network_ = service_path;
@@ -395,7 +418,7 @@ void NetworkStateHandler::UpdateManagedStateProperties(
managed->InitialPropertiesReceived();
NET_LOG_DEBUG("PropertiesReceived", GetManagedStateLogName(managed));
// Notify observers.
- if (network_property_updated) {
+ if (network_property_updated || managed->update_requested()) {
NetworkState* network = managed->AsNetworkState();
DCHECK(network);
// Signal connection state changed after all properties have been updated.
@@ -403,6 +426,7 @@ void NetworkStateHandler::UpdateManagedStateProperties(
OnNetworkConnectionStateChanged(network);
NetworkPropertiesUpdated(network);
}
+ managed->set_update_requested(false);
}
void NetworkStateHandler::UpdateNetworkServiceProperty(
« no previous file with comments | « chromeos/network/network_state_handler.h ('k') | chromeos/network/network_state_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698