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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
46 network_handler::RunErrorCallback( | 46 network_handler::RunErrorCallback( |
47 error_callback, service_path, error_name, error_msg); | 47 error_callback, service_path, error_name, error_msg); |
48 } | 48 } |
49 | 49 |
50 void GetPropertiesCallback( | 50 void GetPropertiesCallback( |
51 const network_handler::DictionaryResultCallback& callback, | 51 const network_handler::DictionaryResultCallback& callback, |
52 const network_handler::ErrorCallback& error_callback, | 52 const network_handler::ErrorCallback& error_callback, |
53 const std::string& service_path, | 53 const std::string& service_path, |
54 DBusMethodCallStatus call_status, | 54 DBusMethodCallStatus call_status, |
55 const base::DictionaryValue& properties) { | 55 const base::DictionaryValue& properties) { |
56 // Get the correct name from WifiHex if necessary. | |
57 scoped_ptr<base::DictionaryValue> properties_copy(properties.DeepCopy()); | 56 scoped_ptr<base::DictionaryValue> properties_copy(properties.DeepCopy()); |
58 std::string name = | 57 if (properties.HasKey(shill::kTypeProperty)) { |
pneubeck (no reviews)
2014/03/21 09:33:42
isn't this a major error and should stop the conne
stevenjb
2014/03/21 17:08:51
This one happens regularly, but it's because somet
| |
59 shill_property_util::GetNameFromProperties(service_path, properties); | 58 // Get the correct name from WifiHex if necessary. |
60 if (!name.empty()) { | 59 std::string name = |
61 properties_copy->SetStringWithoutPathExpansion(shill::kNameProperty, name); | 60 shill_property_util::GetNameFromProperties(service_path, properties); |
61 if (!name.empty()) { | |
62 properties_copy->SetStringWithoutPathExpansion( | |
63 shill::kNameProperty, name); | |
64 } | |
62 } | 65 } |
63 if (call_status != DBUS_METHOD_CALL_SUCCESS) { | 66 if (call_status != DBUS_METHOD_CALL_SUCCESS) { |
64 // Because network services are added and removed frequently, we will see | 67 // Because network services are added and removed frequently, we will see |
65 // failures regularly, so don't log these. | 68 // failures regularly, so don't log these. |
66 network_handler::RunErrorCallback(error_callback, | 69 network_handler::RunErrorCallback(error_callback, |
67 service_path, | 70 service_path, |
68 network_handler::kDBusFailedError, | 71 network_handler::kDBusFailedError, |
69 network_handler::kDBusFailedErrorMessage); | 72 network_handler::kDBusFailedErrorMessage); |
70 } else if (!callback.is_null()) { | 73 } else if (!callback.is_null()) { |
71 callback.Run(service_path, *properties_copy.get()); | 74 callback.Run(service_path, *properties_copy.get()); |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
272 } | 275 } |
273 | 276 |
274 void NetworkConfigurationHandler::CreateConfiguration( | 277 void NetworkConfigurationHandler::CreateConfiguration( |
275 const base::DictionaryValue& properties, | 278 const base::DictionaryValue& properties, |
276 const network_handler::StringResultCallback& callback, | 279 const network_handler::StringResultCallback& callback, |
277 const network_handler::ErrorCallback& error_callback) { | 280 const network_handler::ErrorCallback& error_callback) { |
278 ShillManagerClient* manager = | 281 ShillManagerClient* manager = |
279 DBusThreadManager::Get()->GetShillManagerClient(); | 282 DBusThreadManager::Get()->GetShillManagerClient(); |
280 std::string type; | 283 std::string type; |
281 properties.GetStringWithoutPathExpansion(shill::kTypeProperty, &type); | 284 properties.GetStringWithoutPathExpansion(shill::kTypeProperty, &type); |
285 DCHECK(!type.empty()); | |
282 if (NetworkTypePattern::Ethernet().MatchesType(type)) { | 286 if (NetworkTypePattern::Ethernet().MatchesType(type)) { |
283 InvokeErrorCallback( | 287 InvokeErrorCallback( |
284 "" /* no service path */, | 288 shill_property_util::GetNetworkIdFromProperties(properties), |
285 error_callback, | 289 error_callback, |
286 "ConfigureServiceForProfile is not implemented for Ethernet"); | 290 "ConfigureServiceForProfile: Invalid type: " + type); |
287 return; | 291 return; |
288 } | 292 } |
289 | 293 |
290 NET_LOG_USER("CreateConfiguration", type); | 294 NET_LOG_USER("CreateConfiguration: " + type, |
295 shill_property_util::GetNetworkIdFromProperties(properties)); | |
291 LogConfigProperties("Configure", type, properties); | 296 LogConfigProperties("Configure", type, properties); |
292 | 297 |
293 std::string profile; | 298 std::string profile; |
294 properties.GetStringWithoutPathExpansion(shill::kProfileProperty, | 299 properties.GetStringWithoutPathExpansion(shill::kProfileProperty, |
295 &profile); | 300 &profile); |
296 DCHECK(!profile.empty()); | 301 DCHECK(!profile.empty()); |
297 manager->ConfigureServiceForProfile( | 302 manager->ConfigureServiceForProfile( |
298 dbus::ObjectPath(profile), | 303 dbus::ObjectPath(profile), |
299 properties, | 304 properties, |
300 base::Bind(&NetworkConfigurationHandler::RunCreateNetworkCallback, | 305 base::Bind(&NetworkConfigurationHandler::RunCreateNetworkCallback, |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
451 | 456 |
452 // static | 457 // static |
453 NetworkConfigurationHandler* NetworkConfigurationHandler::InitializeForTest( | 458 NetworkConfigurationHandler* NetworkConfigurationHandler::InitializeForTest( |
454 NetworkStateHandler* network_state_handler) { | 459 NetworkStateHandler* network_state_handler) { |
455 NetworkConfigurationHandler* handler = new NetworkConfigurationHandler(); | 460 NetworkConfigurationHandler* handler = new NetworkConfigurationHandler(); |
456 handler->Init(network_state_handler); | 461 handler->Init(network_state_handler); |
457 return handler; | 462 return handler; |
458 } | 463 } |
459 | 464 |
460 } // namespace chromeos | 465 } // namespace chromeos |
OLD | NEW |