Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(874)

Side by Side Diff: chromeos/dbus/fake_shill_service_client.cc

Issue 175243004: Chrome OS: Use Manager.DefaultService for Default Network (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chromeos/dbus/fake_shill_service_client.h ('k') | chromeos/dbus/shill_manager_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 21 matching lines...) Expand all
32 callback.Run(*value); 32 callback.Run(*value);
33 } 33 }
34 34
35 void PassStubServiceProperties( 35 void PassStubServiceProperties(
36 const ShillServiceClient::DictionaryValueCallback& callback, 36 const ShillServiceClient::DictionaryValueCallback& callback,
37 DBusMethodCallStatus call_status, 37 DBusMethodCallStatus call_status,
38 const base::DictionaryValue* properties) { 38 const base::DictionaryValue* properties) {
39 callback.Run(call_status, *properties); 39 callback.Run(call_status, *properties);
40 } 40 }
41 41
42 void CallSortManagerServices() {
43 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
44 SortManagerServices();
45 }
46
42 } // namespace 47 } // namespace
43 48
44 FakeShillServiceClient::FakeShillServiceClient() : weak_ptr_factory_(this) { 49 FakeShillServiceClient::FakeShillServiceClient() : weak_ptr_factory_(this) {
45 } 50 }
46 51
47 FakeShillServiceClient::~FakeShillServiceClient() { 52 FakeShillServiceClient::~FakeShillServiceClient() {
48 STLDeleteContainerPairSecondPointers( 53 STLDeleteContainerPairSecondPointers(
49 observer_list_.begin(), observer_list_.end()); 54 observer_list_.begin(), observer_list_.end());
50 } 55 }
51 56
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 base::Value::CreateStringValue(name)); 356 base::Value::CreateStringValue(name));
352 properties->SetWithoutPathExpansion( 357 properties->SetWithoutPathExpansion(
353 shill::kDeviceProperty, 358 shill::kDeviceProperty,
354 base::Value::CreateStringValue(device_path)); 359 base::Value::CreateStringValue(device_path));
355 properties->SetWithoutPathExpansion( 360 properties->SetWithoutPathExpansion(
356 shill::kTypeProperty, 361 shill::kTypeProperty,
357 base::Value::CreateStringValue(type)); 362 base::Value::CreateStringValue(type));
358 properties->SetWithoutPathExpansion( 363 properties->SetWithoutPathExpansion(
359 shill::kStateProperty, 364 shill::kStateProperty,
360 base::Value::CreateStringValue(state)); 365 base::Value::CreateStringValue(state));
361 if (!ipconfig_path.empty()) 366 if (!ipconfig_path.empty()) {
362 properties->SetWithoutPathExpansion( 367 properties->SetWithoutPathExpansion(
363 shill::kIPConfigProperty, 368 shill::kIPConfigProperty,
364 base::Value::CreateStringValue(ipconfig_path)); 369 base::Value::CreateStringValue(ipconfig_path));
370 }
371
372 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
373 SortManagerServices();
365 } 374 }
366 375
367 void FakeShillServiceClient::RemoveService(const std::string& service_path) { 376 void FakeShillServiceClient::RemoveService(const std::string& service_path) {
368 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 377 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
369 RemoveManagerService(service_path); 378 RemoveManagerService(service_path);
370 379
371 stub_services_.RemoveWithoutPathExpansion(service_path, NULL); 380 stub_services_.RemoveWithoutPathExpansion(service_path, NULL);
372 connect_behavior_.erase(service_path); 381 connect_behavior_.erase(service_path);
373 } 382 }
374 383
(...skipping 19 matching lines...) Expand all
394 provider->SetWithoutPathExpansion(property, value.DeepCopy()); 403 provider->SetWithoutPathExpansion(property, value.DeepCopy());
395 new_properties.SetWithoutPathExpansion(shill::kProviderProperty, provider); 404 new_properties.SetWithoutPathExpansion(shill::kProviderProperty, provider);
396 changed_property = shill::kProviderProperty; 405 changed_property = shill::kProviderProperty;
397 } else { 406 } else {
398 new_properties.SetWithoutPathExpansion(property, value.DeepCopy()); 407 new_properties.SetWithoutPathExpansion(property, value.DeepCopy());
399 changed_property = property; 408 changed_property = property;
400 } 409 }
401 410
402 dict->MergeDictionary(&new_properties); 411 dict->MergeDictionary(&new_properties);
403 412
413 // Notify the Manager if the state changed (affects DefaultService).
404 if (property == shill::kStateProperty) { 414 if (property == shill::kStateProperty) {
405 // When State changes the sort order of Services may change. 415 std::string state;
416 value.GetAsString(&state);
406 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 417 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
407 SortManagerServices(); 418 ServiceStateChanged(service_path, state);
408 } 419 }
409 420
421 // If the State changes, the sort order of Services may change and the
422 // DefaultService property may change.
423 if (property == shill::kStateProperty) {
424 base::MessageLoop::current()->PostTask(
425 FROM_HERE, base::Bind(&CallSortManagerServices));
426 }
427
428 // Notifiy Chrome of the property change.
410 base::MessageLoop::current()->PostTask( 429 base::MessageLoop::current()->PostTask(
411 FROM_HERE, 430 FROM_HERE,
412 base::Bind(&FakeShillServiceClient::NotifyObserversPropertyChanged, 431 base::Bind(&FakeShillServiceClient::NotifyObserversPropertyChanged,
413 weak_ptr_factory_.GetWeakPtr(), 432 weak_ptr_factory_.GetWeakPtr(),
414 dbus::ObjectPath(service_path), changed_property)); 433 dbus::ObjectPath(service_path), changed_property));
415 return true; 434 return true;
416 } 435 }
417 436
418 const base::DictionaryValue* FakeShillServiceClient::GetServiceProperties( 437 const base::DictionaryValue* FakeShillServiceClient::GetServiceProperties(
419 const std::string& service_path) const { 438 const std::string& service_path) const {
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 base::StringValue(shill::kErrorBadPassphrase))); 577 base::StringValue(shill::kErrorBadPassphrase)));
559 } else { 578 } else {
560 // Set Online. 579 // Set Online.
561 SetServiceProperty(service_path, 580 SetServiceProperty(service_path,
562 shill::kStateProperty, 581 shill::kStateProperty,
563 base::StringValue(shill::kStateOnline)); 582 base::StringValue(shill::kStateOnline));
564 } 583 }
565 } 584 }
566 585
567 } // namespace chromeos 586 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/fake_shill_service_client.h ('k') | chromeos/dbus/shill_manager_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698