| 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 "chrome/browser/chromeos/cros/cros_network_functions.h" | 5 #include "chrome/browser/chromeos/cros/cros_network_functions.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" |
| 8 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/string_tokenizer.h" | 10 #include "base/string_tokenizer.h" |
| 10 #include "base/stringprintf.h" | 11 #include "base/stringprintf.h" |
| 11 #include "base/values.h" | 12 #include "base/values.h" |
| 12 #include "chrome/browser/chromeos/cros/sms_watcher.h" | 13 #include "chrome/browser/chromeos/cros/sms_watcher.h" |
| 13 #include "chromeos/dbus/cashew_client.h" | 14 #include "chromeos/dbus/cashew_client.h" |
| 14 #include "chromeos/dbus/dbus_thread_manager.h" | 15 #include "chromeos/dbus/dbus_thread_manager.h" |
| 15 #include "chromeos/dbus/shill_device_client.h" | 16 #include "chromeos/dbus/shill_device_client.h" |
| 16 #include "chromeos/dbus/shill_ipconfig_client.h" | 17 #include "chromeos/dbus/shill_ipconfig_client.h" |
| 17 #include "chromeos/dbus/shill_manager_client.h" | 18 #include "chromeos/dbus/shill_manager_client.h" |
| 18 #include "chromeos/dbus/shill_network_client.h" | 19 #include "chromeos/dbus/shill_network_client.h" |
| 19 #include "chromeos/dbus/shill_profile_client.h" | 20 #include "chromeos/dbus/shill_profile_client.h" |
| 20 #include "chromeos/dbus/shill_property_changed_observer.h" | 21 #include "chromeos/dbus/shill_property_changed_observer.h" |
| 21 #include "chromeos/dbus/shill_service_client.h" | 22 #include "chromeos/dbus/shill_service_client.h" |
| 22 #include "dbus/object_path.h" | 23 #include "dbus/object_path.h" |
| 23 #include "third_party/cros_system_api/dbus/service_constants.h" | 24 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 24 | 25 |
| 26 using base::DoNothing; |
| 27 |
| 25 namespace chromeos { | 28 namespace chromeos { |
| 26 | 29 |
| 27 namespace { | 30 namespace { |
| 28 | 31 |
| 29 // Class to watch network manager's properties without Libcros. | 32 // Class to watch network manager's properties without Libcros. |
| 30 class NetworkManagerPropertiesWatcher | 33 class NetworkManagerPropertiesWatcher |
| 31 : public CrosNetworkWatcher, | 34 : public CrosNetworkWatcher, |
| 32 public ShillPropertyChangedObserver { | 35 public ShillPropertyChangedObserver { |
| 33 public: | 36 public: |
| 34 NetworkManagerPropertiesWatcher( | 37 NetworkManagerPropertiesWatcher( |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 &plan->data_bytes_used); | 205 &plan->data_bytes_used); |
| 203 data_plan_vector->push_back(plan); | 206 data_plan_vector->push_back(plan); |
| 204 } | 207 } |
| 205 callback_.Run(service, data_plan_vector); | 208 callback_.Run(service, data_plan_vector); |
| 206 } | 209 } |
| 207 | 210 |
| 208 DataPlanUpdateWatcherCallback callback_; | 211 DataPlanUpdateWatcherCallback callback_; |
| 209 }; | 212 }; |
| 210 | 213 |
| 211 // Does nothing. Used as a callback. | 214 // Does nothing. Used as a callback. |
| 212 void DoNothing(DBusMethodCallStatus call_status) {} | 215 void DoNothingWithCallStatus(DBusMethodCallStatus call_status) {} |
| 216 |
| 217 // Ignores errors. |
| 218 void IgnoreErrors(const std::string& error_name, |
| 219 const std::string& error_message) {} |
| 213 | 220 |
| 214 // A callback used to implement CrosRequest*Properties functions. | 221 // A callback used to implement CrosRequest*Properties functions. |
| 215 void RunCallbackWithDictionaryValue(const NetworkPropertiesCallback& callback, | 222 void RunCallbackWithDictionaryValue(const NetworkPropertiesCallback& callback, |
| 216 const std::string& path, | 223 const std::string& path, |
| 217 DBusMethodCallStatus call_status, | 224 DBusMethodCallStatus call_status, |
| 218 const base::DictionaryValue& value) { | 225 const base::DictionaryValue& value) { |
| 219 callback.Run(path, call_status == DBUS_METHOD_CALL_SUCCESS ? &value : NULL); | 226 callback.Run(path, call_status == DBUS_METHOD_CALL_SUCCESS ? &value : NULL); |
| 220 } | 227 } |
| 221 | 228 |
| 229 // A callback used to implement CrosRequest*Properties functions. |
| 230 void RunCallbackWithDictionaryValueNoStatus( |
| 231 const NetworkPropertiesCallback& callback, |
| 232 const std::string& path, |
| 233 const base::DictionaryValue& value) { |
| 234 callback.Run(path, &value); |
| 235 } |
| 236 |
| 237 // A callback used to implement the error callback for CrosRequest*Properties |
| 238 // functions. |
| 239 void RunCallbackWithDictionaryValueError( |
| 240 const NetworkPropertiesCallback& callback, |
| 241 const std::string& path, |
| 242 const std::string& error_name, |
| 243 const std::string& error_message) { |
| 244 callback.Run(path, NULL); |
| 245 } |
| 246 |
| 222 // Used as a callback for ShillManagerClient::GetService | 247 // Used as a callback for ShillManagerClient::GetService |
| 223 void OnGetService(const NetworkPropertiesCallback& callback, | 248 void OnGetService(const NetworkPropertiesCallback& callback, |
| 224 DBusMethodCallStatus call_status, | |
| 225 const dbus::ObjectPath& service_path) { | 249 const dbus::ObjectPath& service_path) { |
| 226 if (call_status == DBUS_METHOD_CALL_SUCCESS) { | 250 VLOG(1) << "OnGetServiceService: " << service_path.value(); |
| 227 VLOG(1) << "OnGetServiceService: " << service_path.value(); | 251 DBusThreadManager::Get()->GetShillServiceClient()->GetProperties( |
| 228 DBusThreadManager::Get()->GetShillServiceClient()->GetProperties( | 252 service_path, base::Bind(&RunCallbackWithDictionaryValue, |
| 229 service_path, base::Bind(&RunCallbackWithDictionaryValue, | 253 callback, |
| 230 callback, | 254 service_path.value())); |
| 231 service_path.value())); | |
| 232 } | |
| 233 } | 255 } |
| 234 | 256 |
| 235 // A callback used to call a NetworkOperationCallback on error. | 257 // A callback used to call a NetworkOperationCallback on error. |
| 236 void OnNetworkActionError(const NetworkOperationCallback& callback, | 258 void OnNetworkActionError(const NetworkOperationCallback& callback, |
| 237 const std::string& path, | 259 const std::string& path, |
| 238 const std::string& error_name, | 260 const std::string& error_name, |
| 239 const std::string& error_message) { | 261 const std::string& error_message) { |
| 240 if (error_name.empty()) | 262 if (error_name.empty()) |
| 241 callback.Run(path, NETWORK_METHOD_ERROR_LOCAL, ""); | 263 callback.Run(path, NETWORK_METHOD_ERROR_LOCAL, ""); |
| 242 else | 264 else |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 return DBusThreadManager::Get()->GetShillServiceClient()-> | 360 return DBusThreadManager::Get()->GetShillServiceClient()-> |
| 339 CallActivateCellularModemAndBlock(dbus::ObjectPath(service_path), | 361 CallActivateCellularModemAndBlock(dbus::ObjectPath(service_path), |
| 340 carrier); | 362 carrier); |
| 341 } | 363 } |
| 342 | 364 |
| 343 void CrosSetNetworkServiceProperty(const std::string& service_path, | 365 void CrosSetNetworkServiceProperty(const std::string& service_path, |
| 344 const std::string& property, | 366 const std::string& property, |
| 345 const base::Value& value) { | 367 const base::Value& value) { |
| 346 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 368 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
| 347 dbus::ObjectPath(service_path), property, value, | 369 dbus::ObjectPath(service_path), property, value, |
| 348 base::Bind(&DoNothing)); | 370 base::Bind(&DoNothing), |
| 371 base::Bind(&IgnoreErrors)); |
| 349 } | 372 } |
| 350 | 373 |
| 351 void CrosClearNetworkServiceProperty(const std::string& service_path, | 374 void CrosClearNetworkServiceProperty(const std::string& service_path, |
| 352 const std::string& property) { | 375 const std::string& property) { |
| 353 DBusThreadManager::Get()->GetShillServiceClient()->ClearProperty( | 376 DBusThreadManager::Get()->GetShillServiceClient()->ClearProperty( |
| 354 dbus::ObjectPath(service_path), property, base::Bind(&DoNothing)); | 377 dbus::ObjectPath(service_path), property, base::Bind(&DoNothing), |
| 378 base::Bind(&IgnoreErrors)); |
| 355 } | 379 } |
| 356 | 380 |
| 357 void CrosSetNetworkDeviceProperty(const std::string& device_path, | 381 void CrosSetNetworkDeviceProperty(const std::string& device_path, |
| 358 const std::string& property, | 382 const std::string& property, |
| 359 const base::Value& value) { | 383 const base::Value& value) { |
| 360 DBusThreadManager::Get()->GetShillDeviceClient()->SetProperty( | 384 DBusThreadManager::Get()->GetShillDeviceClient()->SetProperty( |
| 361 dbus::ObjectPath(device_path), property, value, base::Bind(&DoNothing)); | 385 dbus::ObjectPath(device_path), property, value, base::Bind(&DoNothing), |
| 386 base::Bind(&IgnoreErrors)); |
| 362 } | 387 } |
| 363 | 388 |
| 364 void CrosSetNetworkIPConfigProperty(const std::string& ipconfig_path, | 389 void CrosSetNetworkIPConfigProperty(const std::string& ipconfig_path, |
| 365 const std::string& property, | 390 const std::string& property, |
| 366 const base::Value& value) { | 391 const base::Value& value) { |
| 367 DBusThreadManager::Get()->GetShillIPConfigClient()->SetProperty( | 392 DBusThreadManager::Get()->GetShillIPConfigClient()->SetProperty( |
| 368 dbus::ObjectPath(ipconfig_path), property, value, | 393 dbus::ObjectPath(ipconfig_path), property, value, |
| 369 base::Bind(&DoNothing)); | 394 base::Bind(&DoNothingWithCallStatus)); |
| 370 } | 395 } |
| 371 | 396 |
| 372 void CrosSetNetworkManagerProperty(const std::string& property, | 397 void CrosSetNetworkManagerProperty(const std::string& property, |
| 373 const base::Value& value) { | 398 const base::Value& value) { |
| 374 DBusThreadManager::Get()->GetShillManagerClient()->SetProperty( | 399 DBusThreadManager::Get()->GetShillManagerClient()->SetProperty( |
| 375 property, value, base::Bind(&DoNothing)); | 400 property, value, base::Bind(&DoNothing), |
| 401 base::Bind(&IgnoreErrors)); |
| 376 } | 402 } |
| 377 | 403 |
| 378 void CrosDeleteServiceFromProfile(const std::string& profile_path, | 404 void CrosDeleteServiceFromProfile(const std::string& profile_path, |
| 379 const std::string& service_path) { | 405 const std::string& service_path) { |
| 380 DBusThreadManager::Get()->GetShillProfileClient()->DeleteEntry( | 406 DBusThreadManager::Get()->GetShillProfileClient()->DeleteEntry( |
| 381 dbus::ObjectPath(profile_path), service_path, base::Bind(&DoNothing)); | 407 dbus::ObjectPath(profile_path), |
| 408 service_path, |
| 409 base::Bind(&DoNothing), |
| 410 base::Bind(&IgnoreErrors)); |
| 382 } | 411 } |
| 383 | 412 |
| 384 void CrosRequestCellularDataPlanUpdate(const std::string& modem_service_path) { | 413 void CrosRequestCellularDataPlanUpdate(const std::string& modem_service_path) { |
| 385 DBusThreadManager::Get()->GetCashewClient()->RequestDataPlansUpdate( | 414 DBusThreadManager::Get()->GetCashewClient()->RequestDataPlansUpdate( |
| 386 modem_service_path); | 415 modem_service_path); |
| 387 } | 416 } |
| 388 | 417 |
| 389 CrosNetworkWatcher* CrosMonitorNetworkManagerProperties( | 418 CrosNetworkWatcher* CrosMonitorNetworkManagerProperties( |
| 390 const NetworkPropertiesWatcherCallback& callback) { | 419 const NetworkPropertiesWatcherCallback& callback) { |
| 391 return new NetworkManagerPropertiesWatcher(callback); | 420 return new NetworkManagerPropertiesWatcher(callback); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 DBusThreadManager::Get()->GetShillDeviceClient()->GetProperties( | 474 DBusThreadManager::Get()->GetShillDeviceClient()->GetProperties( |
| 446 dbus::ObjectPath(device_path), | 475 dbus::ObjectPath(device_path), |
| 447 base::Bind(&RunCallbackWithDictionaryValue, callback, device_path)); | 476 base::Bind(&RunCallbackWithDictionaryValue, callback, device_path)); |
| 448 } | 477 } |
| 449 | 478 |
| 450 void CrosRequestNetworkProfileProperties( | 479 void CrosRequestNetworkProfileProperties( |
| 451 const std::string& profile_path, | 480 const std::string& profile_path, |
| 452 const NetworkPropertiesCallback& callback) { | 481 const NetworkPropertiesCallback& callback) { |
| 453 DBusThreadManager::Get()->GetShillProfileClient()->GetProperties( | 482 DBusThreadManager::Get()->GetShillProfileClient()->GetProperties( |
| 454 dbus::ObjectPath(profile_path), | 483 dbus::ObjectPath(profile_path), |
| 455 base::Bind(&RunCallbackWithDictionaryValue, callback, profile_path)); | 484 base::Bind(&RunCallbackWithDictionaryValueNoStatus, |
| 485 callback, profile_path), |
| 486 base::Bind(&RunCallbackWithDictionaryValueError, callback, profile_path)); |
| 456 } | 487 } |
| 457 | 488 |
| 458 void CrosRequestNetworkProfileEntryProperties( | 489 void CrosRequestNetworkProfileEntryProperties( |
| 459 const std::string& profile_path, | 490 const std::string& profile_path, |
| 460 const std::string& profile_entry_path, | 491 const std::string& profile_entry_path, |
| 461 const NetworkPropertiesCallback& callback) { | 492 const NetworkPropertiesCallback& callback) { |
| 462 DBusThreadManager::Get()->GetShillProfileClient()->GetEntry( | 493 DBusThreadManager::Get()->GetShillProfileClient()->GetEntry( |
| 463 dbus::ObjectPath(profile_path), | 494 dbus::ObjectPath(profile_path), |
| 464 profile_entry_path, | 495 profile_entry_path, |
| 465 base::Bind(&RunCallbackWithDictionaryValue, | 496 base::Bind(&RunCallbackWithDictionaryValueNoStatus, |
| 497 callback, |
| 498 profile_entry_path), |
| 499 base::Bind(&RunCallbackWithDictionaryValueError, |
| 466 callback, | 500 callback, |
| 467 profile_entry_path)); | 501 profile_entry_path)); |
| 468 } | 502 } |
| 469 | 503 |
| 470 void CrosRequestHiddenWifiNetworkProperties( | 504 void CrosRequestHiddenWifiNetworkProperties( |
| 471 const std::string& ssid, | 505 const std::string& ssid, |
| 472 const std::string& security, | 506 const std::string& security, |
| 473 const NetworkPropertiesCallback& callback) { | 507 const NetworkPropertiesCallback& callback) { |
| 474 base::DictionaryValue properties; | 508 base::DictionaryValue properties; |
| 475 properties.SetWithoutPathExpansion( | 509 properties.SetWithoutPathExpansion( |
| 476 flimflam::kModeProperty, | 510 flimflam::kModeProperty, |
| 477 base::Value::CreateStringValue(flimflam::kModeManaged)); | 511 base::Value::CreateStringValue(flimflam::kModeManaged)); |
| 478 properties.SetWithoutPathExpansion( | 512 properties.SetWithoutPathExpansion( |
| 479 flimflam::kTypeProperty, | 513 flimflam::kTypeProperty, |
| 480 base::Value::CreateStringValue(flimflam::kTypeWifi)); | 514 base::Value::CreateStringValue(flimflam::kTypeWifi)); |
| 481 properties.SetWithoutPathExpansion( | 515 properties.SetWithoutPathExpansion( |
| 482 flimflam::kSSIDProperty, | 516 flimflam::kSSIDProperty, |
| 483 base::Value::CreateStringValue(ssid)); | 517 base::Value::CreateStringValue(ssid)); |
| 484 properties.SetWithoutPathExpansion( | 518 properties.SetWithoutPathExpansion( |
| 485 flimflam::kSecurityProperty, | 519 flimflam::kSecurityProperty, |
| 486 base::Value::CreateStringValue(security)); | 520 base::Value::CreateStringValue(security)); |
| 487 // shill.Manger.GetService() will apply the property changes in | 521 // shill.Manger.GetService() will apply the property changes in |
| 488 // |properties| and return a new or existing service to OnGetService(). | 522 // |properties| and return a new or existing service to OnGetService(). |
| 489 // OnGetService will then call GetProperties which will then call callback. | 523 // OnGetService will then call GetProperties which will then call callback. |
| 490 DBusThreadManager::Get()->GetShillManagerClient()->GetService( | 524 DBusThreadManager::Get()->GetShillManagerClient()->GetService( |
| 491 properties, base::Bind(&OnGetService, callback)); | 525 properties, base::Bind(&OnGetService, callback), |
| 526 base::Bind(&IgnoreErrors)); |
| 492 } | 527 } |
| 493 | 528 |
| 494 void CrosRequestVirtualNetworkProperties( | 529 void CrosRequestVirtualNetworkProperties( |
| 495 const std::string& service_name, | 530 const std::string& service_name, |
| 496 const std::string& server_hostname, | 531 const std::string& server_hostname, |
| 497 const std::string& provider_type, | 532 const std::string& provider_type, |
| 498 const NetworkPropertiesCallback& callback) { | 533 const NetworkPropertiesCallback& callback) { |
| 499 base::DictionaryValue properties; | 534 base::DictionaryValue properties; |
| 500 properties.SetWithoutPathExpansion( | 535 properties.SetWithoutPathExpansion( |
| 501 flimflam::kTypeProperty, | 536 flimflam::kTypeProperty, |
| 502 base::Value::CreateStringValue(flimflam::kTypeVPN)); | 537 base::Value::CreateStringValue(flimflam::kTypeVPN)); |
| 503 properties.SetWithoutPathExpansion( | 538 properties.SetWithoutPathExpansion( |
| 504 flimflam::kProviderNameProperty, | 539 flimflam::kProviderNameProperty, |
| 505 base::Value::CreateStringValue(service_name)); | 540 base::Value::CreateStringValue(service_name)); |
| 506 properties.SetWithoutPathExpansion( | 541 properties.SetWithoutPathExpansion( |
| 507 flimflam::kProviderHostProperty, | 542 flimflam::kProviderHostProperty, |
| 508 base::Value::CreateStringValue(server_hostname)); | 543 base::Value::CreateStringValue(server_hostname)); |
| 509 properties.SetWithoutPathExpansion( | 544 properties.SetWithoutPathExpansion( |
| 510 flimflam::kProviderTypeProperty, | 545 flimflam::kProviderTypeProperty, |
| 511 base::Value::CreateStringValue(provider_type)); | 546 base::Value::CreateStringValue(provider_type)); |
| 512 // The actual value of Domain does not matter, so just use service_name. | 547 // The actual value of Domain does not matter, so just use service_name. |
| 513 properties.SetWithoutPathExpansion( | 548 properties.SetWithoutPathExpansion( |
| 514 flimflam::kVPNDomainProperty, | 549 flimflam::kVPNDomainProperty, |
| 515 base::Value::CreateStringValue(service_name)); | 550 base::Value::CreateStringValue(service_name)); |
| 516 | 551 |
| 517 // shill.Manger.GetService() will apply the property changes in | 552 // shill.Manger.GetService() will apply the property changes in |
| 518 // |properties| and pass a new or existing service to OnGetService(). | 553 // |properties| and pass a new or existing service to OnGetService(). |
| 519 // OnGetService will then call GetProperties which will then call callback. | 554 // OnGetService will then call GetProperties which will then call callback. |
| 520 DBusThreadManager::Get()->GetShillManagerClient()->GetService( | 555 DBusThreadManager::Get()->GetShillManagerClient()->GetService( |
| 521 properties, base::Bind(&OnGetService, callback)); | 556 properties, base::Bind(&OnGetService, callback), |
| 557 base::Bind(&IgnoreErrors)); |
| 522 } | 558 } |
| 523 | 559 |
| 524 void CrosRequestNetworkServiceDisconnect(const std::string& service_path) { | 560 void CrosRequestNetworkServiceDisconnect(const std::string& service_path) { |
| 525 DBusThreadManager::Get()->GetShillServiceClient()->Disconnect( | 561 DBusThreadManager::Get()->GetShillServiceClient()->Disconnect( |
| 526 dbus::ObjectPath(service_path), base::Bind(&DoNothing)); | 562 dbus::ObjectPath(service_path), base::Bind(&DoNothing), |
| 563 base::Bind(&IgnoreErrors)); |
| 527 } | 564 } |
| 528 | 565 |
| 529 void CrosRequestRemoveNetworkService(const std::string& service_path) { | 566 void CrosRequestRemoveNetworkService(const std::string& service_path) { |
| 530 DBusThreadManager::Get()->GetShillServiceClient()->Remove( | 567 DBusThreadManager::Get()->GetShillServiceClient()->Remove( |
| 531 dbus::ObjectPath(service_path), base::Bind(&DoNothing)); | 568 dbus::ObjectPath(service_path), base::Bind(&DoNothing), |
| 569 base::Bind(&IgnoreErrors)); |
| 532 } | 570 } |
| 533 | 571 |
| 534 void CrosRequestNetworkScan(const std::string& network_type) { | 572 void CrosRequestNetworkScan(const std::string& network_type) { |
| 535 DBusThreadManager::Get()->GetShillManagerClient()->RequestScan( | 573 DBusThreadManager::Get()->GetShillManagerClient()->RequestScan( |
| 536 network_type, base::Bind(&DoNothing)); | 574 network_type, base::Bind(&DoNothing), |
| 575 base::Bind(&IgnoreErrors)); |
| 537 } | 576 } |
| 538 | 577 |
| 539 void CrosRequestNetworkDeviceEnable(const std::string& network_type, | 578 void CrosRequestNetworkDeviceEnable(const std::string& network_type, |
| 540 bool enable) { | 579 bool enable) { |
| 541 if (enable) { | 580 if (enable) { |
| 542 DBusThreadManager::Get()->GetShillManagerClient()->EnableTechnology( | 581 DBusThreadManager::Get()->GetShillManagerClient()->EnableTechnology( |
| 543 network_type, base::Bind(&DoNothing)); | 582 network_type, base::Bind(&DoNothing), |
| 583 base::Bind(&IgnoreErrors)); |
| 544 } else { | 584 } else { |
| 545 DBusThreadManager::Get()->GetShillManagerClient()->DisableTechnology( | 585 DBusThreadManager::Get()->GetShillManagerClient()->DisableTechnology( |
| 546 network_type, base::Bind(&DoNothing)); | 586 network_type, base::Bind(&DoNothing), |
| 587 base::Bind(&IgnoreErrors)); |
| 547 } | 588 } |
| 548 } | 589 } |
| 549 | 590 |
| 550 void CrosRequestRequirePin(const std::string& device_path, | 591 void CrosRequestRequirePin(const std::string& device_path, |
| 551 const std::string& pin, | 592 const std::string& pin, |
| 552 bool enable, | 593 bool enable, |
| 553 const NetworkOperationCallback& callback) { | 594 const NetworkOperationCallback& callback) { |
| 554 DBusThreadManager::Get()->GetShillDeviceClient()->RequirePin( | 595 DBusThreadManager::Get()->GetShillDeviceClient()->RequirePin( |
| 555 dbus::ObjectPath(device_path), pin, enable, | 596 dbus::ObjectPath(device_path), pin, enable, |
| 556 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, | 597 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, |
| (...skipping 28 matching lines...) Expand all Loading... |
| 585 const NetworkOperationCallback& callback) { | 626 const NetworkOperationCallback& callback) { |
| 586 DBusThreadManager::Get()->GetShillDeviceClient()->ChangePin( | 627 DBusThreadManager::Get()->GetShillDeviceClient()->ChangePin( |
| 587 dbus::ObjectPath(device_path), old_pin, new_pin, | 628 dbus::ObjectPath(device_path), old_pin, new_pin, |
| 588 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, | 629 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, |
| 589 std::string()), | 630 std::string()), |
| 590 base::Bind(&OnNetworkActionError, callback, device_path)); | 631 base::Bind(&OnNetworkActionError, callback, device_path)); |
| 591 } | 632 } |
| 592 | 633 |
| 593 void CrosProposeScan(const std::string& device_path) { | 634 void CrosProposeScan(const std::string& device_path) { |
| 594 DBusThreadManager::Get()->GetShillDeviceClient()->ProposeScan( | 635 DBusThreadManager::Get()->GetShillDeviceClient()->ProposeScan( |
| 595 dbus::ObjectPath(device_path), base::Bind(&DoNothing)); | 636 dbus::ObjectPath(device_path), base::Bind(&DoNothingWithCallStatus)); |
| 596 } | 637 } |
| 597 | 638 |
| 598 void CrosRequestCellularRegister(const std::string& device_path, | 639 void CrosRequestCellularRegister(const std::string& device_path, |
| 599 const std::string& network_id, | 640 const std::string& network_id, |
| 600 const NetworkOperationCallback& callback) { | 641 const NetworkOperationCallback& callback) { |
| 601 DBusThreadManager::Get()->GetShillDeviceClient()->Register( | 642 DBusThreadManager::Get()->GetShillDeviceClient()->Register( |
| 602 dbus::ObjectPath(device_path), network_id, | 643 dbus::ObjectPath(device_path), network_id, |
| 603 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, | 644 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, |
| 604 std::string()), | 645 std::string()), |
| 605 base::Bind(&OnNetworkActionError, callback, device_path)); | 646 base::Bind(&OnNetworkActionError, callback, device_path)); |
| 606 } | 647 } |
| 607 | 648 |
| 608 bool CrosSetOfflineMode(bool offline) { | 649 bool CrosSetOfflineMode(bool offline) { |
| 609 base::FundamentalValue value(offline); | 650 base::FundamentalValue value(offline); |
| 610 DBusThreadManager::Get()->GetShillManagerClient()->SetProperty( | 651 DBusThreadManager::Get()->GetShillManagerClient()->SetProperty( |
| 611 flimflam::kOfflineModeProperty, value, base::Bind(&DoNothing)); | 652 flimflam::kOfflineModeProperty, value, base::Bind(&DoNothing), |
| 653 base::Bind(&IgnoreErrors)); |
| 612 return true; | 654 return true; |
| 613 } | 655 } |
| 614 | 656 |
| 615 bool CrosListIPConfigs(const std::string& device_path, | 657 bool CrosListIPConfigs(const std::string& device_path, |
| 616 NetworkIPConfigVector* ipconfig_vector, | 658 NetworkIPConfigVector* ipconfig_vector, |
| 617 std::vector<std::string>* ipconfig_paths, | 659 std::vector<std::string>* ipconfig_paths, |
| 618 std::string* hardware_address) { | 660 std::string* hardware_address) { |
| 619 if (hardware_address) | 661 if (hardware_address) |
| 620 hardware_address->clear(); | 662 hardware_address->clear(); |
| 621 const dbus::ObjectPath device_object_path(device_path); | 663 const dbus::ObjectPath device_object_path(device_path); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 } | 731 } |
| 690 | 732 |
| 691 bool CrosRemoveIPConfig(const std::string& ipconfig_path) { | 733 bool CrosRemoveIPConfig(const std::string& ipconfig_path) { |
| 692 return DBusThreadManager::Get()->GetShillIPConfigClient()-> | 734 return DBusThreadManager::Get()->GetShillIPConfigClient()-> |
| 693 CallRemoveAndBlock(dbus::ObjectPath(ipconfig_path)); | 735 CallRemoveAndBlock(dbus::ObjectPath(ipconfig_path)); |
| 694 } | 736 } |
| 695 | 737 |
| 696 void CrosRequestIPConfigRefresh(const std::string& ipconfig_path) { | 738 void CrosRequestIPConfigRefresh(const std::string& ipconfig_path) { |
| 697 DBusThreadManager::Get()->GetShillIPConfigClient()->Refresh( | 739 DBusThreadManager::Get()->GetShillIPConfigClient()->Refresh( |
| 698 dbus::ObjectPath(ipconfig_path), | 740 dbus::ObjectPath(ipconfig_path), |
| 699 base::Bind(&DoNothing)); | 741 base::Bind(&DoNothingWithCallStatus)); |
| 700 } | 742 } |
| 701 | 743 |
| 702 bool CrosGetWifiAccessPoints(WifiAccessPointVector* result) { | 744 bool CrosGetWifiAccessPoints(WifiAccessPointVector* result) { |
| 703 scoped_ptr<base::DictionaryValue> manager_properties( | 745 scoped_ptr<base::DictionaryValue> manager_properties( |
| 704 DBusThreadManager::Get()->GetShillManagerClient()-> | 746 DBusThreadManager::Get()->GetShillManagerClient()-> |
| 705 CallGetPropertiesAndBlock()); | 747 CallGetPropertiesAndBlock()); |
| 706 if (!manager_properties.get()) { | 748 if (!manager_properties.get()) { |
| 707 LOG(WARNING) << "Couldn't read managers's properties"; | 749 LOG(WARNING) << "Couldn't read managers's properties"; |
| 708 return false; | 750 return false; |
| 709 } | 751 } |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 result->push_back(ap); | 822 result->push_back(ap); |
| 781 } | 823 } |
| 782 } | 824 } |
| 783 if (!found_at_least_one_device) | 825 if (!found_at_least_one_device) |
| 784 return false; // No powered device found that has a 'Networks' array. | 826 return false; // No powered device found that has a 'Networks' array. |
| 785 return true; | 827 return true; |
| 786 } | 828 } |
| 787 | 829 |
| 788 void CrosConfigureService(const base::DictionaryValue& properties) { | 830 void CrosConfigureService(const base::DictionaryValue& properties) { |
| 789 DBusThreadManager::Get()->GetShillManagerClient()->ConfigureService( | 831 DBusThreadManager::Get()->GetShillManagerClient()->ConfigureService( |
| 790 properties, base::Bind(&DoNothing)); | 832 properties, base::Bind(&DoNothing), |
| 833 base::Bind(&IgnoreErrors)); |
| 791 } | 834 } |
| 792 | 835 |
| 793 std::string CrosPrefixLengthToNetmask(int32 prefix_length) { | 836 std::string CrosPrefixLengthToNetmask(int32 prefix_length) { |
| 794 std::string netmask; | 837 std::string netmask; |
| 795 // Return the empty string for invalid inputs. | 838 // Return the empty string for invalid inputs. |
| 796 if (prefix_length < 0 || prefix_length > 32) | 839 if (prefix_length < 0 || prefix_length > 32) |
| 797 return netmask; | 840 return netmask; |
| 798 for (int i = 0; i < 4; i++) { | 841 for (int i = 0; i < 4; i++) { |
| 799 int remainder = 8; | 842 int remainder = 8; |
| 800 if (prefix_length >= 8) { | 843 if (prefix_length >= 8) { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 861 const std::string& carrier, | 904 const std::string& carrier, |
| 862 const NetworkOperationCallback& callback) { | 905 const NetworkOperationCallback& callback) { |
| 863 DBusThreadManager::Get()->GetShillDeviceClient()->SetCarrier( | 906 DBusThreadManager::Get()->GetShillDeviceClient()->SetCarrier( |
| 864 dbus::ObjectPath(device_path), carrier, | 907 dbus::ObjectPath(device_path), carrier, |
| 865 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, | 908 base::Bind(callback, device_path, NETWORK_METHOD_ERROR_NONE, |
| 866 std::string()), | 909 std::string()), |
| 867 base::Bind(&OnNetworkActionError, callback, device_path)); | 910 base::Bind(&OnNetworkActionError, callback, device_path)); |
| 868 } | 911 } |
| 869 | 912 |
| 870 } // namespace chromeos | 913 } // namespace chromeos |
| OLD | NEW |