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

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

Issue 12319145: Using the new Network*Handlers in networkingPrivate Extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Initial patch. Created 7 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/shill_service_client_stub.h" 5 #include "chromeos/dbus/shill_service_client_stub.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 } 69 }
70 70
71 void ShillServiceClientStub::SetProperty(const dbus::ObjectPath& service_path, 71 void ShillServiceClientStub::SetProperty(const dbus::ObjectPath& service_path,
72 const std::string& name, 72 const std::string& name,
73 const base::Value& value, 73 const base::Value& value,
74 const base::Closure& callback, 74 const base::Closure& callback,
75 const ErrorCallback& error_callback) { 75 const ErrorCallback& error_callback) {
76 base::DictionaryValue* dict = NULL; 76 base::DictionaryValue* dict = NULL;
77 if (!stub_services_.GetDictionaryWithoutPathExpansion( 77 if (!stub_services_.GetDictionaryWithoutPathExpansion(
78 service_path.value(), &dict)) { 78 service_path.value(), &dict)) {
79 error_callback.Run("StubError", "Service not found"); 79 error_callback.Run("Error.InvalidService", "Invalid Service");
80 return; 80 return;
81 } 81 }
82 if (name == flimflam::kStateProperty) { 82 if (name == flimflam::kStateProperty) {
83 // If we connect to a service, then we move it to the top of the list in 83 // If we connect to a service, then we move it to the top of the list in
84 // the manager client. 84 // the manager client.
85 std::string state; 85 std::string state;
86 if (value.GetAsString(&state) && state == flimflam::kStateOnline) { 86 if (value.GetAsString(&state) && state == flimflam::kStateOnline) {
87 ShillManagerClient* manager_client = 87 ShillManagerClient* manager_client =
88 DBusThreadManager::Get()->GetShillManagerClient(); 88 DBusThreadManager::Get()->GetShillManagerClient();
89 manager_client->GetTestInterface()->RemoveService(service_path.value()); 89 manager_client->GetTestInterface()->RemoveService(service_path.value());
(...skipping 12 matching lines...) Expand all
102 } 102 }
103 103
104 void ShillServiceClientStub::ClearProperty( 104 void ShillServiceClientStub::ClearProperty(
105 const dbus::ObjectPath& service_path, 105 const dbus::ObjectPath& service_path,
106 const std::string& name, 106 const std::string& name,
107 const base::Closure& callback, 107 const base::Closure& callback,
108 const ErrorCallback& error_callback) { 108 const ErrorCallback& error_callback) {
109 base::DictionaryValue* dict = NULL; 109 base::DictionaryValue* dict = NULL;
110 if (!stub_services_.GetDictionaryWithoutPathExpansion( 110 if (!stub_services_.GetDictionaryWithoutPathExpansion(
111 service_path.value(), &dict)) { 111 service_path.value(), &dict)) {
112 error_callback.Run("StubError", "Service not found"); 112 error_callback.Run("Error.InvalidService", "Invalid Service");
113 return; 113 return;
114 } 114 }
115 dict->Remove(name, NULL); 115 dict->Remove(name, NULL);
116 MessageLoop::current()->PostTask( 116 MessageLoop::current()->PostTask(
117 FROM_HERE, 117 FROM_HERE,
118 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged, 118 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged,
119 weak_ptr_factory_.GetWeakPtr(), service_path, name)); 119 weak_ptr_factory_.GetWeakPtr(), service_path, name));
120 if (callback.is_null()) 120 if (callback.is_null())
121 return; 121 return;
122 MessageLoop::current()->PostTask(FROM_HERE, callback); 122 MessageLoop::current()->PostTask(FROM_HERE, callback);
123 } 123 }
124 124
125 void ShillServiceClientStub::ClearProperties( 125 void ShillServiceClientStub::ClearProperties(
126 const dbus::ObjectPath& service_path, 126 const dbus::ObjectPath& service_path,
127 const std::vector<std::string>& names, 127 const std::vector<std::string>& names,
128 const ListValueCallback& callback, 128 const ListValueCallback& callback,
129 const ErrorCallback& error_callback) { 129 const ErrorCallback& error_callback) {
130 base::DictionaryValue* dict = NULL; 130 base::DictionaryValue* dict = NULL;
131 if (!stub_services_.GetDictionaryWithoutPathExpansion( 131 if (!stub_services_.GetDictionaryWithoutPathExpansion(
132 service_path.value(), &dict)) { 132 service_path.value(), &dict)) {
133 error_callback.Run("StubError", "Service not found"); 133 error_callback.Run("Error.InvalidService", "Invalid Service");
134 return; 134 return;
135 } 135 }
136 scoped_ptr<base::ListValue> results(new base::ListValue); 136 scoped_ptr<base::ListValue> results(new base::ListValue);
137 for (std::vector<std::string>::const_iterator iter = names.begin(); 137 for (std::vector<std::string>::const_iterator iter = names.begin();
138 iter != names.end(); ++iter) { 138 iter != names.end(); ++iter) {
139 dict->Remove(*iter, NULL); 139 dict->Remove(*iter, NULL);
140 results->AppendBoolean(true); 140 results->AppendBoolean(true);
141 } 141 }
142 for (std::vector<std::string>::const_iterator iter = names.begin(); 142 for (std::vector<std::string>::const_iterator iter = names.begin();
143 iter != names.end(); ++iter) { 143 iter != names.end(); ++iter) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 online_value, 180 online_value,
181 base::Bind(&base::DoNothing), 181 base::Bind(&base::DoNothing),
182 error_callback), 182 error_callback),
183 base::TimeDelta::FromSeconds(kConnectDelaySeconds)); 183 base::TimeDelta::FromSeconds(kConnectDelaySeconds));
184 callback.Run(); 184 callback.Run();
185 } 185 }
186 186
187 void ShillServiceClientStub::Disconnect(const dbus::ObjectPath& service_path, 187 void ShillServiceClientStub::Disconnect(const dbus::ObjectPath& service_path,
188 const base::Closure& callback, 188 const base::Closure& callback,
189 const ErrorCallback& error_callback) { 189 const ErrorCallback& error_callback) {
190 base::Value* service;
191 if (!stub_services_.Get(service_path.value(), &service)) {
192 error_callback.Run("Error.InvalidService", "Invalid Service");
193 return;
194 }
190 // Set Idle after a delay 195 // Set Idle after a delay
191 const int kConnectDelaySeconds = 2; 196 const int kConnectDelaySeconds = 2;
192 base::StringValue idle_value(flimflam::kStateIdle); 197 base::StringValue idle_value(flimflam::kStateIdle);
193 MessageLoop::current()->PostDelayedTask( 198 MessageLoop::current()->PostDelayedTask(
194 FROM_HERE, 199 FROM_HERE,
195 base::Bind(&ShillServiceClientStub::SetProperty, 200 base::Bind(&ShillServiceClientStub::SetProperty,
196 weak_ptr_factory_.GetWeakPtr(), 201 weak_ptr_factory_.GetWeakPtr(),
197 service_path, 202 service_path,
198 flimflam::kStateProperty, 203 flimflam::kStateProperty,
199 idle_value, 204 idle_value,
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 284
280 void ShillServiceClientStub::SetDefaultProperties() { 285 void ShillServiceClientStub::SetDefaultProperties() {
281 // Add stub services. Note: names match Manager stub impl. 286 // Add stub services. Note: names match Manager stub impl.
282 AddService("stub_ethernet", "eth0", 287 AddService("stub_ethernet", "eth0",
283 flimflam::kTypeEthernet, 288 flimflam::kTypeEthernet,
284 flimflam::kStateOnline); 289 flimflam::kStateOnline);
285 290
286 AddService("stub_wifi1", "wifi1", 291 AddService("stub_wifi1", "wifi1",
287 flimflam::kTypeWifi, 292 flimflam::kTypeWifi,
288 flimflam::kStateOnline); 293 flimflam::kStateOnline);
294 SetServiceProperty("stub_wifi1",
295 flimflam::kSecurityProperty,
296 base::StringValue(flimflam::kSecurityWep));
289 297
290 AddService("stub_wifi2", "wifi2_PSK", 298 AddService("stub_wifi2", "wifi2_PSK",
291 flimflam::kTypeWifi, 299 flimflam::kTypeWifi,
292 flimflam::kStateIdle); 300 flimflam::kStateIdle);
293 base::StringValue psk_value(flimflam::kSecurityPsk);
294 SetServiceProperty("stub_wifi2", 301 SetServiceProperty("stub_wifi2",
295 flimflam::kSecurityProperty, 302 flimflam::kSecurityProperty,
296 psk_value); 303 base::StringValue(flimflam::kSecurityPsk));
297 base::FundamentalValue strength_value(80); 304 base::FundamentalValue strength_value(80);
298 SetServiceProperty("stub_wifi2", 305 SetServiceProperty("stub_wifi2",
299 flimflam::kSignalStrengthProperty, 306 flimflam::kSignalStrengthProperty,
300 strength_value); 307 strength_value);
301 308
302 AddService("stub_cellular1", "cellular1", 309 AddService("stub_cellular1", "cellular1",
303 flimflam::kTypeCellular, 310 flimflam::kTypeCellular,
304 flimflam::kStateIdle); 311 flimflam::kStateIdle);
305 base::StringValue technology_value(flimflam::kNetworkTechnologyGsm); 312 base::StringValue technology_value(flimflam::kNetworkTechnologyGsm);
306 SetServiceProperty("stub_cellular1", 313 SetServiceProperty("stub_cellular1",
307 flimflam::kNetworkTechnologyProperty, 314 flimflam::kNetworkTechnologyProperty,
308 technology_value); 315 technology_value);
316 SetServiceProperty("stub_cellular1",
317 flimflam::kActivationStateProperty,
318 base::StringValue(flimflam::kActivationStateNotActivated));
319 SetServiceProperty("stub_cellular1",
320 flimflam::kRoamingStateProperty,
321 base::StringValue(flimflam::kRoamingStateHome));
309 } 322 }
310 323
311 void ShillServiceClientStub::PassStubServiceProperties( 324 void ShillServiceClientStub::PassStubServiceProperties(
312 const dbus::ObjectPath& service_path, 325 const dbus::ObjectPath& service_path,
313 const DictionaryValueCallback& callback) { 326 const DictionaryValueCallback& callback) {
314 base::DictionaryValue* dict = NULL; 327 base::DictionaryValue* dict = NULL;
315 if (!stub_services_.GetDictionaryWithoutPathExpansion( 328 if (!stub_services_.GetDictionaryWithoutPathExpansion(
316 service_path.value(), &dict)) { 329 service_path.value(), &dict)) {
317 base::DictionaryValue empty_dictionary; 330 base::DictionaryValue empty_dictionary;
318 callback.Run(DBUS_METHOD_CALL_FAILURE, empty_dictionary); 331 callback.Run(DBUS_METHOD_CALL_FAILURE, empty_dictionary);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter = 370 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter =
358 observer_list_.find(device_path); 371 observer_list_.find(device_path);
359 if (iter != observer_list_.end()) 372 if (iter != observer_list_.end())
360 return *(iter->second); 373 return *(iter->second);
361 PropertyObserverList* observer_list = new PropertyObserverList(); 374 PropertyObserverList* observer_list = new PropertyObserverList();
362 observer_list_[device_path] = observer_list; 375 observer_list_[device_path] = observer_list;
363 return *observer_list; 376 return *observer_list;
364 } 377 }
365 378
366 } // namespace chromeos 379 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698