| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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/dbus/fake_shill_manager_client.h" | 5 #include "chromeos/dbus/fake_shill_manager_client.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| 11 #include "base/location.h" | 11 #include "base/location.h" |
| 12 #include "base/memory/ptr_util.h" |
| 12 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
| 13 #include "base/single_thread_task_runner.h" | 14 #include "base/single_thread_task_runner.h" |
| 14 #include "base/strings/string_number_conversions.h" | 15 #include "base/strings/string_number_conversions.h" |
| 15 #include "base/strings/string_split.h" | 16 #include "base/strings/string_split.h" |
| 16 #include "base/strings/string_util.h" | 17 #include "base/strings/string_util.h" |
| 17 #include "base/strings/stringprintf.h" | 18 #include "base/strings/stringprintf.h" |
| 18 #include "base/threading/thread_task_runner_handle.h" | 19 #include "base/threading/thread_task_runner_handle.h" |
| 19 #include "base/values.h" | 20 #include "base/values.h" |
| 20 #include "chromeos/chromeos_switches.h" | 21 #include "chromeos/chromeos_switches.h" |
| 21 #include "chromeos/dbus/dbus_thread_manager.h" | 22 #include "chromeos/dbus/dbus_thread_manager.h" |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 } | 376 } |
| 376 | 377 |
| 377 ShillManagerClient::TestInterface* FakeShillManagerClient::GetTestInterface() { | 378 ShillManagerClient::TestInterface* FakeShillManagerClient::GetTestInterface() { |
| 378 return this; | 379 return this; |
| 379 } | 380 } |
| 380 | 381 |
| 381 // ShillManagerClient::TestInterface overrides. | 382 // ShillManagerClient::TestInterface overrides. |
| 382 | 383 |
| 383 void FakeShillManagerClient::AddDevice(const std::string& device_path) { | 384 void FakeShillManagerClient::AddDevice(const std::string& device_path) { |
| 384 if (GetListProperty(shill::kDevicesProperty) | 385 if (GetListProperty(shill::kDevicesProperty) |
| 385 ->AppendIfNotPresent(new base::StringValue(device_path))) { | 386 ->AppendIfNotPresent( |
| 387 base::MakeUnique<base::StringValue>(device_path))) { |
| 386 CallNotifyObserversPropertyChanged(shill::kDevicesProperty); | 388 CallNotifyObserversPropertyChanged(shill::kDevicesProperty); |
| 387 } | 389 } |
| 388 } | 390 } |
| 389 | 391 |
| 390 void FakeShillManagerClient::RemoveDevice(const std::string& device_path) { | 392 void FakeShillManagerClient::RemoveDevice(const std::string& device_path) { |
| 391 base::StringValue device_path_value(device_path); | 393 base::StringValue device_path_value(device_path); |
| 392 if (GetListProperty(shill::kDevicesProperty)->Remove( | 394 if (GetListProperty(shill::kDevicesProperty)->Remove( |
| 393 device_path_value, NULL)) { | 395 device_path_value, NULL)) { |
| 394 CallNotifyObserversPropertyChanged(shill::kDevicesProperty); | 396 CallNotifyObserversPropertyChanged(shill::kDevicesProperty); |
| 395 } | 397 } |
| 396 } | 398 } |
| 397 | 399 |
| 398 void FakeShillManagerClient::ClearDevices() { | 400 void FakeShillManagerClient::ClearDevices() { |
| 399 GetListProperty(shill::kDevicesProperty)->Clear(); | 401 GetListProperty(shill::kDevicesProperty)->Clear(); |
| 400 CallNotifyObserversPropertyChanged(shill::kDevicesProperty); | 402 CallNotifyObserversPropertyChanged(shill::kDevicesProperty); |
| 401 } | 403 } |
| 402 | 404 |
| 403 void FakeShillManagerClient::AddTechnology(const std::string& type, | 405 void FakeShillManagerClient::AddTechnology(const std::string& type, |
| 404 bool enabled) { | 406 bool enabled) { |
| 405 if (GetListProperty(shill::kAvailableTechnologiesProperty) | 407 if (GetListProperty(shill::kAvailableTechnologiesProperty) |
| 406 ->AppendIfNotPresent(new base::StringValue(type))) { | 408 ->AppendIfNotPresent(base::MakeUnique<base::StringValue>(type))) { |
| 407 CallNotifyObserversPropertyChanged( | 409 CallNotifyObserversPropertyChanged( |
| 408 shill::kAvailableTechnologiesProperty); | 410 shill::kAvailableTechnologiesProperty); |
| 409 } | 411 } |
| 410 if (enabled && | 412 if (enabled && |
| 411 GetListProperty(shill::kEnabledTechnologiesProperty) | 413 GetListProperty(shill::kEnabledTechnologiesProperty) |
| 412 ->AppendIfNotPresent(new base::StringValue(type))) { | 414 ->AppendIfNotPresent(base::MakeUnique<base::StringValue>(type))) { |
| 413 CallNotifyObserversPropertyChanged( | 415 CallNotifyObserversPropertyChanged( |
| 414 shill::kEnabledTechnologiesProperty); | 416 shill::kEnabledTechnologiesProperty); |
| 415 } | 417 } |
| 416 } | 418 } |
| 417 | 419 |
| 418 void FakeShillManagerClient::RemoveTechnology(const std::string& type) { | 420 void FakeShillManagerClient::RemoveTechnology(const std::string& type) { |
| 419 base::StringValue type_value(type); | 421 base::StringValue type_value(type); |
| 420 if (GetListProperty(shill::kAvailableTechnologiesProperty)->Remove( | 422 if (GetListProperty(shill::kAvailableTechnologiesProperty)->Remove( |
| 421 type_value, NULL)) { | 423 type_value, NULL)) { |
| 422 CallNotifyObserversPropertyChanged( | 424 CallNotifyObserversPropertyChanged( |
| 423 shill::kAvailableTechnologiesProperty); | 425 shill::kAvailableTechnologiesProperty); |
| 424 } | 426 } |
| 425 if (GetListProperty(shill::kEnabledTechnologiesProperty)->Remove( | 427 if (GetListProperty(shill::kEnabledTechnologiesProperty)->Remove( |
| 426 type_value, NULL)) { | 428 type_value, NULL)) { |
| 427 CallNotifyObserversPropertyChanged( | 429 CallNotifyObserversPropertyChanged( |
| 428 shill::kEnabledTechnologiesProperty); | 430 shill::kEnabledTechnologiesProperty); |
| 429 } | 431 } |
| 430 } | 432 } |
| 431 | 433 |
| 432 void FakeShillManagerClient::SetTechnologyInitializing(const std::string& type, | 434 void FakeShillManagerClient::SetTechnologyInitializing(const std::string& type, |
| 433 bool initializing) { | 435 bool initializing) { |
| 434 if (initializing) { | 436 if (initializing) { |
| 435 if (GetListProperty(shill::kUninitializedTechnologiesProperty) | 437 if (GetListProperty(shill::kUninitializedTechnologiesProperty) |
| 436 ->AppendIfNotPresent(new base::StringValue(type))) { | 438 ->AppendIfNotPresent(base::MakeUnique<base::StringValue>(type))) { |
| 437 CallNotifyObserversPropertyChanged( | 439 CallNotifyObserversPropertyChanged( |
| 438 shill::kUninitializedTechnologiesProperty); | 440 shill::kUninitializedTechnologiesProperty); |
| 439 } | 441 } |
| 440 } else { | 442 } else { |
| 441 if (GetListProperty(shill::kUninitializedTechnologiesProperty)->Remove( | 443 if (GetListProperty(shill::kUninitializedTechnologiesProperty)->Remove( |
| 442 base::StringValue(type), NULL)) { | 444 base::StringValue(type), NULL)) { |
| 443 CallNotifyObserversPropertyChanged( | 445 CallNotifyObserversPropertyChanged( |
| 444 shill::kUninitializedTechnologiesProperty); | 446 shill::kUninitializedTechnologiesProperty); |
| 445 } | 447 } |
| 446 } | 448 } |
| 447 } | 449 } |
| 448 | 450 |
| 449 void FakeShillManagerClient::AddGeoNetwork( | 451 void FakeShillManagerClient::AddGeoNetwork( |
| 450 const std::string& technology, | 452 const std::string& technology, |
| 451 const base::DictionaryValue& network) { | 453 const base::DictionaryValue& network) { |
| 452 base::ListValue* list_value = NULL; | 454 base::ListValue* list_value = NULL; |
| 453 if (!stub_geo_networks_.GetListWithoutPathExpansion(technology, | 455 if (!stub_geo_networks_.GetListWithoutPathExpansion(technology, |
| 454 &list_value)) { | 456 &list_value)) { |
| 455 list_value = new base::ListValue; | 457 list_value = new base::ListValue; |
| 456 stub_geo_networks_.SetWithoutPathExpansion(technology, list_value); | 458 stub_geo_networks_.SetWithoutPathExpansion(technology, list_value); |
| 457 } | 459 } |
| 458 list_value->Append(network.DeepCopy()); | 460 list_value->Append(network.DeepCopy()); |
| 459 } | 461 } |
| 460 | 462 |
| 461 void FakeShillManagerClient::AddProfile(const std::string& profile_path) { | 463 void FakeShillManagerClient::AddProfile(const std::string& profile_path) { |
| 462 const char* key = shill::kProfilesProperty; | 464 const char* key = shill::kProfilesProperty; |
| 463 if (GetListProperty(key) | 465 if (GetListProperty(key)->AppendIfNotPresent( |
| 464 ->AppendIfNotPresent(new base::StringValue(profile_path))) { | 466 base::MakeUnique<base::StringValue>(profile_path))) { |
| 465 CallNotifyObserversPropertyChanged(key); | 467 CallNotifyObserversPropertyChanged(key); |
| 466 } | 468 } |
| 467 } | 469 } |
| 468 | 470 |
| 469 void FakeShillManagerClient::ClearProperties() { | 471 void FakeShillManagerClient::ClearProperties() { |
| 470 stub_properties_.Clear(); | 472 stub_properties_.Clear(); |
| 471 } | 473 } |
| 472 | 474 |
| 473 void FakeShillManagerClient::SetManagerProperty(const std::string& key, | 475 void FakeShillManagerClient::SetManagerProperty(const std::string& key, |
| 474 const base::Value& value) { | 476 const base::Value& value) { |
| 475 SetProperty(key, value, | 477 SetProperty(key, value, |
| 476 base::Bind(&base::DoNothing), base::Bind(&LogErrorCallback)); | 478 base::Bind(&base::DoNothing), base::Bind(&LogErrorCallback)); |
| 477 } | 479 } |
| 478 | 480 |
| 479 void FakeShillManagerClient::AddManagerService( | 481 void FakeShillManagerClient::AddManagerService( |
| 480 const std::string& service_path, | 482 const std::string& service_path, |
| 481 bool notify_observers) { | 483 bool notify_observers) { |
| 482 VLOG(2) << "AddManagerService: " << service_path; | 484 VLOG(2) << "AddManagerService: " << service_path; |
| 483 GetListProperty(shill::kServiceCompleteListProperty) | 485 GetListProperty(shill::kServiceCompleteListProperty) |
| 484 ->AppendIfNotPresent(new base::StringValue(service_path)); | 486 ->AppendIfNotPresent(base::MakeUnique<base::StringValue>(service_path)); |
| 485 SortManagerServices(false); | 487 SortManagerServices(false); |
| 486 if (notify_observers) | 488 if (notify_observers) |
| 487 CallNotifyObserversPropertyChanged(shill::kServiceCompleteListProperty); | 489 CallNotifyObserversPropertyChanged(shill::kServiceCompleteListProperty); |
| 488 } | 490 } |
| 489 | 491 |
| 490 void FakeShillManagerClient::RemoveManagerService( | 492 void FakeShillManagerClient::RemoveManagerService( |
| 491 const std::string& service_path) { | 493 const std::string& service_path) { |
| 492 VLOG(2) << "RemoveManagerService: " << service_path; | 494 VLOG(2) << "RemoveManagerService: " << service_path; |
| 493 base::StringValue service_path_value(service_path); | 495 base::StringValue service_path_value(service_path); |
| 494 GetListProperty(shill::kServiceCompleteListProperty)->Remove( | 496 GetListProperty(shill::kServiceCompleteListProperty)->Remove( |
| (...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1001 return enabled; | 1003 return enabled; |
| 1002 } | 1004 } |
| 1003 | 1005 |
| 1004 void FakeShillManagerClient::SetTechnologyEnabled( | 1006 void FakeShillManagerClient::SetTechnologyEnabled( |
| 1005 const std::string& type, | 1007 const std::string& type, |
| 1006 const base::Closure& callback, | 1008 const base::Closure& callback, |
| 1007 bool enabled) { | 1009 bool enabled) { |
| 1008 base::ListValue* enabled_list = | 1010 base::ListValue* enabled_list = |
| 1009 GetListProperty(shill::kEnabledTechnologiesProperty); | 1011 GetListProperty(shill::kEnabledTechnologiesProperty); |
| 1010 if (enabled) | 1012 if (enabled) |
| 1011 enabled_list->AppendIfNotPresent(new base::StringValue(type)); | 1013 enabled_list->AppendIfNotPresent(base::MakeUnique<base::StringValue>(type)); |
| 1012 else | 1014 else |
| 1013 enabled_list->Remove(base::StringValue(type), NULL); | 1015 enabled_list->Remove(base::StringValue(type), NULL); |
| 1014 CallNotifyObserversPropertyChanged( | 1016 CallNotifyObserversPropertyChanged( |
| 1015 shill::kEnabledTechnologiesProperty); | 1017 shill::kEnabledTechnologiesProperty); |
| 1016 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback); | 1018 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, callback); |
| 1017 // May affect available services. | 1019 // May affect available services. |
| 1018 SortManagerServices(true); | 1020 SortManagerServices(true); |
| 1019 } | 1021 } |
| 1020 | 1022 |
| 1021 base::ListValue* FakeShillManagerClient::GetEnabledServiceList( | 1023 base::ListValue* FakeShillManagerClient::GetEnabledServiceList( |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1228 LOG(WARNING) << "Invalid state: " << state << " for " << type; | 1230 LOG(WARNING) << "Invalid state: " << state << " for " << type; |
| 1229 result = shill::kStateIdle; | 1231 result = shill::kStateIdle; |
| 1230 } | 1232 } |
| 1231 } | 1233 } |
| 1232 VLOG(1) << "Initial state for: " << type << " = " << result | 1234 VLOG(1) << "Initial state for: " << type << " = " << result |
| 1233 << " Enabled: " << *enabled; | 1235 << " Enabled: " << *enabled; |
| 1234 return result; | 1236 return result; |
| 1235 } | 1237 } |
| 1236 | 1238 |
| 1237 } // namespace chromeos | 1239 } // namespace chromeos |
| OLD | NEW |