| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_configuration_handler.h" | 5 #include "chromeos/network/network_configuration_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 const network_handler::StringResultCallback& callback, | 272 const network_handler::StringResultCallback& callback, |
| 273 const network_handler::ErrorCallback& error_callback) { | 273 const network_handler::ErrorCallback& error_callback) { |
| 274 ShillManagerClient* manager = | 274 ShillManagerClient* manager = |
| 275 DBusThreadManager::Get()->GetShillManagerClient(); | 275 DBusThreadManager::Get()->GetShillManagerClient(); |
| 276 std::string type; | 276 std::string type; |
| 277 properties.GetStringWithoutPathExpansion(flimflam::kTypeProperty, &type); | 277 properties.GetStringWithoutPathExpansion(flimflam::kTypeProperty, &type); |
| 278 | 278 |
| 279 NET_LOG_USER("CreateConfiguration", type); | 279 NET_LOG_USER("CreateConfiguration", type); |
| 280 LogConfigProperties("Configure", type, properties); | 280 LogConfigProperties("Configure", type, properties); |
| 281 | 281 |
| 282 // Shill supports ConfigureServiceForProfile only for network type WiFi. In | 282 std::string profile; |
| 283 // all other cases, we have to rely on GetService for now. This is | 283 properties.GetStringWithoutPathExpansion(flimflam::kProfileProperty, |
| 284 // unproblematic for VPN (user profile only), but will lead to inconsistencies | 284 &profile); |
| 285 // with WiMax, for example. | 285 DCHECK(!profile.empty()); |
| 286 if (type == flimflam::kTypeWifi) { | 286 manager->ConfigureServiceForProfile( |
| 287 std::string profile; | 287 dbus::ObjectPath(profile), |
| 288 properties.GetStringWithoutPathExpansion(flimflam::kProfileProperty, | 288 properties, |
| 289 &profile); | 289 base::Bind(&NetworkConfigurationHandler::RunCreateNetworkCallback, |
| 290 manager->ConfigureServiceForProfile( | 290 AsWeakPtr(), |
| 291 dbus::ObjectPath(profile), | 291 callback), |
| 292 properties, | 292 base::Bind(&network_handler::ShillErrorCallbackFunction, |
| 293 base::Bind(&NetworkConfigurationHandler::RunCreateNetworkCallback, | 293 "Config.CreateConfiguration Failed", |
| 294 AsWeakPtr(), callback), | 294 "", |
| 295 base::Bind(&network_handler::ShillErrorCallbackFunction, | 295 error_callback)); |
| 296 "Config.CreateConfiguration Failed", "", error_callback)); | |
| 297 } else { | |
| 298 manager->ConfigureService( | |
| 299 properties, | |
| 300 base::Bind(&NetworkConfigurationHandler::RunCreateNetworkCallback, | |
| 301 AsWeakPtr(), callback), | |
| 302 base::Bind(&network_handler::ShillErrorCallbackFunction, | |
| 303 "Config.CreateConfiguration Failed", "", error_callback)); | |
| 304 } | |
| 305 } | 296 } |
| 306 | 297 |
| 307 void NetworkConfigurationHandler::RemoveConfiguration( | 298 void NetworkConfigurationHandler::RemoveConfiguration( |
| 308 const std::string& service_path, | 299 const std::string& service_path, |
| 309 const base::Closure& callback, | 300 const base::Closure& callback, |
| 310 const network_handler::ErrorCallback& error_callback) { | 301 const network_handler::ErrorCallback& error_callback) { |
| 311 // Service.Remove is not reliable. Instead, request the profile entries | 302 // Service.Remove is not reliable. Instead, request the profile entries |
| 312 // for the service and remove each entry. | 303 // for the service and remove each entry. |
| 313 if (profile_entry_deleters_.count(service_path)) { | 304 if (profile_entry_deleters_.count(service_path)) { |
| 314 InvokeErrorCallback( | 305 InvokeErrorCallback( |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 | 440 |
| 450 // static | 441 // static |
| 451 NetworkConfigurationHandler* NetworkConfigurationHandler::InitializeForTest( | 442 NetworkConfigurationHandler* NetworkConfigurationHandler::InitializeForTest( |
| 452 NetworkStateHandler* network_state_handler) { | 443 NetworkStateHandler* network_state_handler) { |
| 453 NetworkConfigurationHandler* handler = new NetworkConfigurationHandler(); | 444 NetworkConfigurationHandler* handler = new NetworkConfigurationHandler(); |
| 454 handler->Init(network_state_handler); | 445 handler->Init(network_state_handler); |
| 455 return handler; | 446 return handler; |
| 456 } | 447 } |
| 457 | 448 |
| 458 } // namespace chromeos | 449 } // namespace chromeos |
| OLD | NEW |