Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromeos/network/network_profile_handler.h" | 5 #include "chromeos/network/network_profile_handler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 continue; | 125 continue; |
| 126 | 126 |
| 127 VLOG(2) << "Requesting properties of profile path " << *it << "."; | 127 VLOG(2) << "Requesting properties of profile path " << *it << "."; |
| 128 DBusThreadManager::Get()->GetShillProfileClient()->GetProperties( | 128 DBusThreadManager::Get()->GetShillProfileClient()->GetProperties( |
| 129 dbus::ObjectPath(*it), | 129 dbus::ObjectPath(*it), |
| 130 base::Bind(&NetworkProfileHandler::GetProfilePropertiesCallback, | 130 base::Bind(&NetworkProfileHandler::GetProfilePropertiesCallback, |
| 131 weak_ptr_factory_.GetWeakPtr(), | 131 weak_ptr_factory_.GetWeakPtr(), |
| 132 *it), | 132 *it), |
| 133 base::Bind(&LogProfileRequestError, *it)); | 133 base::Bind(&LogProfileRequestError, *it)); |
| 134 } | 134 } |
| 135 | |
| 136 // When the profile list changes, ServiceCompleteList may also change, so | |
| 137 // trigger a Manager update to request the updated list. | |
| 138 if (network_state_handler_) | |
| 139 network_state_handler_->UpdateManagerProperties(); | |
| 140 } | 135 } |
| 141 | 136 |
| 142 void NetworkProfileHandler::GetProfilePropertiesCallback( | 137 void NetworkProfileHandler::GetProfilePropertiesCallback( |
| 143 const std::string& profile_path, | 138 const std::string& profile_path, |
| 144 const base::DictionaryValue& properties) { | 139 const base::DictionaryValue& properties) { |
| 145 std::string userhash; | 140 std::string userhash; |
| 146 properties.GetStringWithoutPathExpansion(shill::kUserHashProperty, &userhash); | 141 properties.GetStringWithoutPathExpansion(shill::kUserHashProperty, &userhash); |
| 147 | 142 |
| 148 AddProfile(NetworkProfile(profile_path, userhash)); | 143 AddProfile(NetworkProfile(profile_path, userhash)); |
| 149 } | 144 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 193 for (NetworkProfileHandler::ProfileList::const_iterator it = | 188 for (NetworkProfileHandler::ProfileList::const_iterator it = |
| 194 profiles_.begin(); | 189 profiles_.begin(); |
| 195 it != profiles_.end(); ++it) { | 190 it != profiles_.end(); ++it) { |
| 196 if (!it->userhash.empty()) | 191 if (!it->userhash.empty()) |
| 197 return &*it; | 192 return &*it; |
| 198 } | 193 } |
| 199 return NULL; | 194 return NULL; |
| 200 } | 195 } |
| 201 | 196 |
| 202 NetworkProfileHandler::NetworkProfileHandler() | 197 NetworkProfileHandler::NetworkProfileHandler() |
| 203 : network_state_handler_(NULL), | 198 : network_state_handler_(NULL), |
|
pneubeck (no reviews)
2014/06/11 12:44:56
dependency on network_state_handler_ not necessary
stevenjb
2014/06/11 23:31:41
Done.
| |
| 204 weak_ptr_factory_(this) { | 199 weak_ptr_factory_(this) { |
| 205 } | 200 } |
| 206 | 201 |
| 207 void NetworkProfileHandler::Init(NetworkStateHandler* network_state_handler) { | 202 void NetworkProfileHandler::Init(NetworkStateHandler* network_state_handler) { |
| 208 network_state_handler_ = network_state_handler; | 203 network_state_handler_ = network_state_handler; |
| 209 | 204 |
| 210 DBusThreadManager::Get()->GetShillManagerClient()-> | 205 DBusThreadManager::Get()->GetShillManagerClient()-> |
| 211 AddPropertyChangedObserver(this); | 206 AddPropertyChangedObserver(this); |
| 212 | 207 |
| 213 // Request the initial profile list. | 208 // Request the initial profile list. |
| 214 DBusThreadManager::Get()->GetShillManagerClient()->GetProperties( | 209 DBusThreadManager::Get()->GetShillManagerClient()->GetProperties( |
| 215 base::Bind(&NetworkProfileHandler::GetManagerPropertiesCallback, | 210 base::Bind(&NetworkProfileHandler::GetManagerPropertiesCallback, |
| 216 weak_ptr_factory_.GetWeakPtr())); | 211 weak_ptr_factory_.GetWeakPtr())); |
| 217 } | 212 } |
| 218 | 213 |
| 219 NetworkProfileHandler::~NetworkProfileHandler() { | 214 NetworkProfileHandler::~NetworkProfileHandler() { |
| 220 DBusThreadManager::Get()->GetShillManagerClient()-> | 215 DBusThreadManager::Get()->GetShillManagerClient()-> |
| 221 RemovePropertyChangedObserver(this); | 216 RemovePropertyChangedObserver(this); |
| 222 } | 217 } |
| 223 | 218 |
| 224 } // namespace chromeos | 219 } // namespace chromeos |
| OLD | NEW |