| 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_service_client.h" | 5 #include "chromeos/dbus/fake_shill_service_client.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 ShillServiceClient::TestInterface* FakeShillServiceClient::GetTestInterface() { | 301 ShillServiceClient::TestInterface* FakeShillServiceClient::GetTestInterface() { |
| 302 return this; | 302 return this; |
| 303 } | 303 } |
| 304 | 304 |
| 305 // ShillServiceClient::TestInterface overrides. | 305 // ShillServiceClient::TestInterface overrides. |
| 306 | 306 |
| 307 void FakeShillServiceClient::AddService(const std::string& service_path, | 307 void FakeShillServiceClient::AddService(const std::string& service_path, |
| 308 const std::string& name, | 308 const std::string& name, |
| 309 const std::string& type, | 309 const std::string& type, |
| 310 const std::string& state, | 310 const std::string& state, |
| 311 bool add_to_visible_list) { | 311 bool visible) { |
| 312 AddServiceWithIPConfig(service_path, "" /* guid */, name, | 312 AddServiceWithIPConfig(service_path, "" /* guid */, name, |
| 313 type, state, "" /* ipconfig_path */, | 313 type, state, "" /* ipconfig_path */, |
| 314 add_to_visible_list); | 314 visible); |
| 315 } | 315 } |
| 316 | 316 |
| 317 void FakeShillServiceClient::AddServiceWithIPConfig( | 317 void FakeShillServiceClient::AddServiceWithIPConfig( |
| 318 const std::string& service_path, | 318 const std::string& service_path, |
| 319 const std::string& guid, | 319 const std::string& guid, |
| 320 const std::string& name, | 320 const std::string& name, |
| 321 const std::string& type, | 321 const std::string& type, |
| 322 const std::string& state, | 322 const std::string& state, |
| 323 const std::string& ipconfig_path, | 323 const std::string& ipconfig_path, |
| 324 bool add_to_visible_list) { | 324 bool visible) { |
| 325 std::string device_path = | 325 base::DictionaryValue* properties = SetServiceProperties( |
| 326 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface()-> | 326 service_path, guid, name, type, state, visible); |
| 327 GetDevicePathForType(type); | |
| 328 | 327 |
| 328 std::string profile_path; |
| 329 if (properties->GetStringWithoutPathExpansion(shill::kProfileProperty, |
| 330 &profile_path) && |
| 331 !profile_path.empty()) { |
| 332 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface()-> |
| 333 UpdateService(profile_path, service_path); |
| 334 } |
| 335 |
| 336 if (!ipconfig_path.empty()) { |
| 337 properties->SetWithoutPathExpansion( |
| 338 shill::kIPConfigProperty, |
| 339 new base::StringValue(ipconfig_path)); |
| 340 } |
| 341 |
| 342 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> |
| 343 AddManagerService(service_path, true); |
| 344 } |
| 345 |
| 346 |
| 347 base::DictionaryValue* FakeShillServiceClient::SetServiceProperties( |
| 348 const std::string& service_path, |
| 349 const std::string& guid, |
| 350 const std::string& name, |
| 351 const std::string& type, |
| 352 const std::string& state, |
| 353 bool visible) { |
| 329 base::DictionaryValue* properties = | 354 base::DictionaryValue* properties = |
| 330 GetModifiableServiceProperties(service_path, true); | 355 GetModifiableServiceProperties(service_path, true); |
| 331 connect_behavior_.erase(service_path); | 356 connect_behavior_.erase(service_path); |
| 332 | 357 |
| 333 std::string profile_path; | 358 std::string profile_path; |
| 334 base::DictionaryValue profile_properties; | 359 base::DictionaryValue profile_properties; |
| 335 if (DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface()-> | 360 if (DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface()-> |
| 336 GetService(service_path, &profile_path, &profile_properties)) { | 361 GetService(service_path, &profile_path, &profile_properties)) { |
| 337 properties->SetWithoutPathExpansion( | 362 properties->SetWithoutPathExpansion( |
| 338 shill::kProfileProperty, | 363 shill::kProfileProperty, |
| 339 new base::StringValue(profile_path)); | 364 new base::StringValue(profile_path)); |
| 340 } | 365 } |
| 341 | 366 |
| 342 // If |guid| is provided, set Service.GUID to that. Otherwise if a GUID is | 367 // If |guid| is provided, set Service.GUID to that. Otherwise if a GUID is |
| 343 // stored in a profile entry, use that. Otherwise leave it blank. Shill does | 368 // stored in a profile entry, use that. Otherwise leave it blank. Shill does |
| 344 // not enforce a valid guid, we do that at the NetworkStateHandler layer. | 369 // not enforce a valid guid, we do that at the NetworkStateHandler layer. |
| 345 std::string guid_to_set = guid; | 370 std::string guid_to_set = guid; |
| 346 if (guid_to_set.empty()) { | 371 if (guid_to_set.empty()) { |
| 347 profile_properties.GetStringWithoutPathExpansion( | 372 profile_properties.GetStringWithoutPathExpansion( |
| 348 shill::kGuidProperty, &guid_to_set); | 373 shill::kGuidProperty, &guid_to_set); |
| 349 } | 374 } |
| 350 if (!guid_to_set.empty()) { | 375 if (!guid_to_set.empty()) { |
| 351 properties->SetWithoutPathExpansion(shill::kGuidProperty, | 376 properties->SetWithoutPathExpansion(shill::kGuidProperty, |
| 352 new base::StringValue(guid_to_set)); | 377 new base::StringValue(guid_to_set)); |
| 353 } | 378 } |
| 354 shill_property_util::SetSSID(name, properties); | 379 shill_property_util::SetSSID(name, properties); |
| 355 properties->SetWithoutPathExpansion( | 380 properties->SetWithoutPathExpansion( |
| 356 shill::kNameProperty, | 381 shill::kNameProperty, |
| 357 new base::StringValue(name)); | 382 new base::StringValue(name)); |
| 383 std::string device_path = |
| 384 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface()-> |
| 385 GetDevicePathForType(type); |
| 358 properties->SetWithoutPathExpansion( | 386 properties->SetWithoutPathExpansion( |
| 359 shill::kDeviceProperty, | 387 shill::kDeviceProperty, |
| 360 new base::StringValue(device_path)); | 388 new base::StringValue(device_path)); |
| 361 properties->SetWithoutPathExpansion( | 389 properties->SetWithoutPathExpansion( |
| 362 shill::kTypeProperty, | 390 shill::kTypeProperty, |
| 363 new base::StringValue(type)); | 391 new base::StringValue(type)); |
| 364 properties->SetWithoutPathExpansion( | 392 properties->SetWithoutPathExpansion( |
| 365 shill::kStateProperty, | 393 shill::kStateProperty, |
| 366 new base::StringValue(state)); | 394 new base::StringValue(state)); |
| 367 properties->SetWithoutPathExpansion( | 395 properties->SetWithoutPathExpansion( |
| 368 shill::kVisibleProperty, | 396 shill::kVisibleProperty, |
| 369 new base::FundamentalValue(add_to_visible_list)); | 397 new base::FundamentalValue(visible)); |
| 370 if (!ipconfig_path.empty()) { | |
| 371 properties->SetWithoutPathExpansion( | |
| 372 shill::kIPConfigProperty, | |
| 373 new base::StringValue(ipconfig_path)); | |
| 374 } | |
| 375 if (type == shill::kTypeWifi) { | 398 if (type == shill::kTypeWifi) { |
| 376 properties->SetWithoutPathExpansion( | 399 properties->SetWithoutPathExpansion( |
| 377 shill::kSecurityProperty, | 400 shill::kSecurityProperty, |
| 378 new base::StringValue(shill::kSecurityNone)); | 401 new base::StringValue(shill::kSecurityNone)); |
| 379 } | 402 } |
| 380 | 403 return properties; |
| 381 if (!profile_path.empty()) { | |
| 382 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface()-> | |
| 383 UpdateService(profile_path, service_path); | |
| 384 } | |
| 385 | |
| 386 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> | |
| 387 AddManagerService(service_path); | |
| 388 } | 404 } |
| 389 | 405 |
| 390 void FakeShillServiceClient::RemoveService(const std::string& service_path) { | 406 void FakeShillServiceClient::RemoveService(const std::string& service_path) { |
| 391 stub_services_.RemoveWithoutPathExpansion(service_path, NULL); | 407 stub_services_.RemoveWithoutPathExpansion(service_path, NULL); |
| 392 connect_behavior_.erase(service_path); | 408 connect_behavior_.erase(service_path); |
| 393 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> | 409 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> |
| 394 RemoveManagerService(service_path); | 410 RemoveManagerService(service_path); |
| 395 } | 411 } |
| 396 | 412 |
| 397 bool FakeShillServiceClient::SetServiceProperty(const std::string& service_path, | 413 bool FakeShillServiceClient::SetServiceProperty(const std::string& service_path, |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 base::StringValue(shill::kErrorBadPassphrase))); | 625 base::StringValue(shill::kErrorBadPassphrase))); |
| 610 } else { | 626 } else { |
| 611 // Set Online. | 627 // Set Online. |
| 612 SetServiceProperty(service_path, | 628 SetServiceProperty(service_path, |
| 613 shill::kStateProperty, | 629 shill::kStateProperty, |
| 614 base::StringValue(shill::kStateOnline)); | 630 base::StringValue(shill::kStateOnline)); |
| 615 } | 631 } |
| 616 } | 632 } |
| 617 | 633 |
| 618 } // namespace chromeos | 634 } // namespace chromeos |
| OLD | NEW |