Index: chromeos/dbus/fake_shill_manager_client.cc |
diff --git a/chromeos/dbus/fake_shill_manager_client.cc b/chromeos/dbus/fake_shill_manager_client.cc |
index 5b061b24f3f5abb70269e9b349fc9a697a225a70..69f6c28e45b8ed9ce27f7f7cbea4b39de5191401 100644 |
--- a/chromeos/dbus/fake_shill_manager_client.cc |
+++ b/chromeos/dbus/fake_shill_manager_client.cc |
@@ -100,6 +100,9 @@ const char* kNetworkDisabled = "disabled"; |
} // namespace |
+// static |
+const char FakeShillManagerClient::kFakeEthernetNetworkPath[] = "/service/eth1"; |
+ |
FakeShillManagerClient::FakeShillManagerClient() |
: interactive_delay_(0), |
weak_ptr_factory_(this) { |
@@ -144,6 +147,7 @@ void FakeShillManagerClient::SetProperty(const std::string& name, |
const base::Value& value, |
const base::Closure& callback, |
const ErrorCallback& error_callback) { |
+ DVLOG(2) << "SetProperty: " << name; |
stub_properties_.SetWithoutPathExpansion(name, value.DeepCopy()); |
CallNotifyObserversPropertyChanged(name); |
base::MessageLoop::current()->PostTask(FROM_HERE, callback); |
@@ -255,8 +259,7 @@ void FakeShillManagerClient::ConfigureService( |
guid /* name */, |
type, |
shill::kStateIdle, ipconfig_path, |
- true /* visible */, |
- true /* watch */); |
+ true /* visible */); |
existing_properties = service_client->GetServiceProperties(service_path); |
} |
@@ -444,8 +447,9 @@ void FakeShillManagerClient::SetManagerProperty(const std::string& key, |
} |
void FakeShillManagerClient::AddManagerService(const std::string& service_path, |
- bool add_to_visible_list, |
- bool add_to_watch_list) { |
+ bool add_to_visible_list) { |
+ DVLOG(2) << "AddManagerService: " << service_path |
+ << " Visible: " << add_to_visible_list; |
// Always add to ServiceCompleteListProperty. |
GetListProperty(shill::kServiceCompleteListProperty)->AppendIfNotPresent( |
base::Value::CreateStringValue(service_path)); |
@@ -455,13 +459,12 @@ void FakeShillManagerClient::AddManagerService(const std::string& service_path, |
base::Value::CreateStringValue(service_path))) { |
CallNotifyObserversPropertyChanged(shill::kServicesProperty); |
} |
- if (add_to_watch_list) |
- AddServiceToWatchList(service_path); |
} |
void FakeShillManagerClient::RemoveManagerService( |
const std::string& service_path, |
bool remove_from_complete_list) { |
+ DVLOG(2) << "RemoveManagerService: " << service_path; |
base::StringValue service_path_value(service_path); |
if (remove_from_complete_list) { |
GetListProperty(shill::kServiceCompleteListProperty)->Remove( |
@@ -471,18 +474,13 @@ void FakeShillManagerClient::RemoveManagerService( |
service_path_value, NULL)) { |
CallNotifyObserversPropertyChanged(shill::kServicesProperty); |
} |
- if (GetListProperty(shill::kServiceWatchListProperty)->Remove( |
- service_path_value, NULL)) { |
- CallNotifyObserversPropertyChanged(shill::kServiceWatchListProperty); |
- } |
} |
void FakeShillManagerClient::ClearManagerServices() { |
+ DVLOG(1) << "ClearManagerServices"; |
GetListProperty(shill::kServiceCompleteListProperty)->Clear(); |
GetListProperty(shill::kServicesProperty)->Clear(); |
- GetListProperty(shill::kServiceWatchListProperty)->Clear(); |
CallNotifyObserversPropertyChanged(shill::kServicesProperty); |
- CallNotifyObserversPropertyChanged(shill::kServiceWatchListProperty); |
} |
void FakeShillManagerClient::ServiceStateChanged( |
@@ -497,6 +495,7 @@ void FakeShillManagerClient::ServiceStateChanged( |
} |
void FakeShillManagerClient::SortManagerServices() { |
+ DVLOG(1) << "SortManagerServices"; |
SortServiceList(shill::kServicesProperty); |
SortServiceList(shill::kServiceCompleteListProperty); |
} |
@@ -511,6 +510,7 @@ void FakeShillManagerClient::SortServiceList(const std::string& property) { |
}; |
base::ListValue* service_list = GetListProperty(property); |
+ scoped_ptr<base::ListValue> prev_service_list(service_list->DeepCopy()); |
std::vector<std::string> active_services; |
std::vector<std::string> inactive_services; |
if (service_list && !service_list->empty()) { |
@@ -528,7 +528,8 @@ void FakeShillManagerClient::SortServiceList(const std::string& property) { |
if (property != shill::kServicesProperty) |
return; |
- CallNotifyObserversPropertyChanged(property); |
+ if (!service_list->Equals(prev_service_list.get())) |
+ CallNotifyObserversPropertyChanged(shill::kServicesProperty); |
// Set the first active service as the Default service. |
std::string new_default_service; |
@@ -582,7 +583,6 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
profiles->AddProfile(shared_profile, std::string()); |
const bool add_to_visible = true; |
- const bool add_to_watchlist = true; |
bool enabled; |
std::string state; |
@@ -620,11 +620,11 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
devices->SetDeviceProperty("/device/eth1", |
shill::kIPConfigsProperty, |
eth_ip_configs); |
- services->AddService("eth1", "eth1", |
+ services->AddService(kFakeEthernetNetworkPath, "eth1", |
shill::kTypeEthernet, |
state, |
- add_to_visible, add_to_watchlist); |
- profiles->AddService(shared_profile, "eth1"); |
+ add_to_visible); |
+ profiles->AddService(shared_profile, kFakeEthernetNetworkPath); |
} |
// Wifi |
@@ -647,37 +647,37 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
shill::kIPConfigsProperty, |
wifi_ip_configs); |
- services->AddService("wifi1", |
+ services->AddService("/service/wifi1", |
"wifi1", |
shill::kTypeWifi, |
state, |
- add_to_visible, add_to_watchlist); |
- services->SetServiceProperty("wifi1", |
+ add_to_visible); |
+ services->SetServiceProperty("/service/wifi1", |
shill::kSecurityProperty, |
base::StringValue(shill::kSecurityWep)); |
- profiles->AddService(shared_profile, "wifi1"); |
+ profiles->AddService(shared_profile, "/service/wifi1"); |
- services->AddService("wifi2", |
+ services->AddService("/service/wifi2", |
"wifi2_PSK", |
shill::kTypeWifi, |
shill::kStateIdle, |
- add_to_visible, add_to_watchlist); |
- services->SetServiceProperty("wifi2", |
+ add_to_visible); |
+ services->SetServiceProperty("/service/wifi2", |
shill::kSecurityProperty, |
base::StringValue(shill::kSecurityPsk)); |
base::FundamentalValue strength_value(80); |
services->SetServiceProperty( |
- "wifi2", shill::kSignalStrengthProperty, strength_value); |
- profiles->AddService(shared_profile, "wifi2"); |
+ "/service/wifi2", shill::kSignalStrengthProperty, strength_value); |
+ profiles->AddService(shared_profile, "/service/wifi2"); |
if (portaled) { |
- const std::string kPortaledWifiPath = "portaled_wifi"; |
+ const std::string kPortaledWifiPath = "/service/portaled_wifi"; |
services->AddService(kPortaledWifiPath, |
"Portaled Wifi", |
shill::kTypeWifi, |
shill::kStatePortal, |
- add_to_visible, add_to_watchlist); |
+ add_to_visible); |
services->SetServiceProperty(kPortaledWifiPath, |
shill::kSecurityProperty, |
base::StringValue(shill::kSecurityNone)); |
@@ -698,13 +698,14 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
devices->AddDevice( |
"/device/wimax1", shill::kTypeWimax, "stub_wimax_device1"); |
- services->AddService("wimax1", |
+ services->AddService("/service/wimax1", |
"wimax1", |
shill::kTypeWimax, |
state, |
- add_to_visible, add_to_watchlist); |
- services->SetServiceProperty( |
- "wimax1", shill::kConnectableProperty, base::FundamentalValue(true)); |
+ add_to_visible); |
+ services->SetServiceProperty("/service/wimax1", |
+ shill::kConnectableProperty, |
+ base::FundamentalValue(true)); |
} |
// Cellular |
@@ -722,31 +723,32 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
shill::kCarrierProperty, |
base::StringValue(shill::kCarrierSprint)); |
- services->AddService("cellular1", |
+ services->AddService("/service/cellular1", |
"cellular1", |
shill::kTypeCellular, |
state, |
- add_to_visible, add_to_watchlist); |
+ add_to_visible); |
base::StringValue technology_value(shill::kNetworkTechnologyGsm); |
- services->SetServiceProperty( |
- "cellular1", shill::kNetworkTechnologyProperty, technology_value); |
+ services->SetServiceProperty("/service/cellular1", |
+ shill::kNetworkTechnologyProperty, |
+ technology_value); |
if (activated) { |
services->SetServiceProperty( |
- "cellular1", |
+ "/service/cellular1", |
shill::kActivationStateProperty, |
base::StringValue(shill::kActivationStateActivated)); |
- services->SetServiceProperty("cellular1", |
+ services->SetServiceProperty("/service/cellular1", |
shill::kConnectableProperty, |
base::FundamentalValue(true)); |
} else { |
services->SetServiceProperty( |
- "cellular1", |
+ "/service/cellular1", |
shill::kActivationStateProperty, |
base::StringValue(shill::kActivationStateNotActivated)); |
} |
- services->SetServiceProperty("cellular1", |
+ services->SetServiceProperty("/service/cellular1", |
shill::kRoamingStateProperty, |
base::StringValue(shill::kRoamingStateHome)); |
} |
@@ -763,22 +765,22 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
shill::kProviderOpenVpn); |
provider_properties.SetString(shill::kHostProperty, "vpn_host"); |
- services->AddService("vpn1", |
+ services->AddService("/service/vpn1", |
"vpn1", |
shill::kTypeVPN, |
state, |
- add_to_visible, add_to_watchlist); |
+ add_to_visible); |
services->SetServiceProperty( |
- "vpn1", shill::kProviderProperty, provider_properties); |
- profiles->AddService(shared_profile, "vpn1"); |
+ "/service/vpn1", shill::kProviderProperty, provider_properties); |
+ profiles->AddService(shared_profile, "/service/vpn1"); |
- services->AddService("vpn2", |
+ services->AddService("/service/vpn2", |
"vpn2", |
shill::kTypeVPN, |
shill::kStateIdle, |
- add_to_visible, add_to_watchlist); |
+ add_to_visible); |
services->SetServiceProperty( |
- "vpn2", shill::kProviderProperty, provider_properties); |
+ "/service/vpn2", shill::kProviderProperty, provider_properties); |
} |
SortManagerServices(); |
@@ -786,17 +788,6 @@ void FakeShillManagerClient::SetupDefaultEnvironment() { |
// Private methods |
-void FakeShillManagerClient::AddServiceToWatchList( |
- const std::string& service_path) { |
- // Remove and insert the service, moving it to the front of the watch list. |
- GetListProperty(shill::kServiceWatchListProperty)->Remove( |
- base::StringValue(service_path), NULL); |
- GetListProperty(shill::kServiceWatchListProperty)->Insert( |
- 0, base::Value::CreateStringValue(service_path)); |
- CallNotifyObserversPropertyChanged( |
- shill::kServiceWatchListProperty); |
-} |
- |
void FakeShillManagerClient::PassStubProperties( |
const DictionaryValueCallback& callback) const { |
scoped_ptr<base::DictionaryValue> stub_properties( |
@@ -805,9 +796,6 @@ void FakeShillManagerClient::PassStubProperties( |
stub_properties->SetWithoutPathExpansion( |
shill::kServicesProperty, |
GetEnabledServiceList(shill::kServicesProperty)); |
- stub_properties->SetWithoutPathExpansion( |
- shill::kServiceWatchListProperty, |
- GetEnabledServiceList(shill::kServiceWatchListProperty)); |
callback.Run(DBUS_METHOD_CALL_SUCCESS, *stub_properties); |
} |
@@ -831,8 +819,8 @@ void FakeShillManagerClient::CallNotifyObserversPropertyChanged( |
void FakeShillManagerClient::NotifyObserversPropertyChanged( |
const std::string& property) { |
- if (property == shill::kServicesProperty || |
- property == shill::kServiceWatchListProperty) { |
+ DVLOG(1) << "NotifyObserversPropertyChanged: " << property; |
+ if (property == shill::kServicesProperty) { |
scoped_ptr<base::ListValue> services(GetEnabledServiceList(property)); |
FOR_EACH_OBSERVER(ShillPropertyChangedObserver, |
observer_list_, |
@@ -899,7 +887,6 @@ void FakeShillManagerClient::SetTechnologyEnabled( |
base::MessageLoop::current()->PostTask(FROM_HERE, callback); |
// May affect available services |
CallNotifyObserversPropertyChanged(shill::kServicesProperty); |
- CallNotifyObserversPropertyChanged(shill::kServiceWatchListProperty); |
} |
base::ListValue* FakeShillManagerClient::GetEnabledServiceList( |
@@ -937,8 +924,8 @@ void FakeShillManagerClient::ScanCompleted(const std::string& device_path, |
shill::kScanningProperty, |
base::FundamentalValue(false)); |
} |
+ DVLOG(2) << "ScanCompleted"; |
CallNotifyObserversPropertyChanged(shill::kServicesProperty); |
- CallNotifyObserversPropertyChanged(shill::kServiceWatchListProperty); |
base::MessageLoop::current()->PostTask(FROM_HERE, callback); |
} |