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

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

Issue 14566009: Add NetworkConnectionHandler class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Revert Associating Stub change for test Created 7 years, 7 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/shill_service_client_stub.h ('k') | chromeos/network/cert_loader.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 (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/command_line.h" 8 #include "base/command_line.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 error_callback.Run("Error.InvalidService", "Invalid Service"); 105 error_callback.Run("Error.InvalidService", "Invalid Service");
106 return; 106 return;
107 } 107 }
108 if (name == flimflam::kStateProperty) { 108 if (name == flimflam::kStateProperty) {
109 // If we connect to a service, then we move it to the top of the list in 109 // If we connect to a service, then we move it to the top of the list in
110 // the manager client. 110 // the manager client.
111 std::string state; 111 std::string state;
112 if (value.GetAsString(&state) && state == flimflam::kStateOnline) { 112 if (value.GetAsString(&state) && state == flimflam::kStateOnline) {
113 ShillManagerClient* manager_client = 113 ShillManagerClient* manager_client =
114 DBusThreadManager::Get()->GetShillManagerClient(); 114 DBusThreadManager::Get()->GetShillManagerClient();
115 manager_client->GetTestInterface()->RemoveService(service_path.value()); 115 manager_client->GetTestInterface()->MoveServiceToIndex(
116 manager_client->GetTestInterface()->AddServiceAtIndex(
117 service_path.value(), 0, true); 116 service_path.value(), 0, true);
118 } 117 }
119 } 118 }
120 dict->SetWithoutPathExpansion(name, value.DeepCopy()); 119 dict->SetWithoutPathExpansion(name, value.DeepCopy());
121 MessageLoop::current()->PostTask( 120 MessageLoop::current()->PostTask(
122 FROM_HERE, 121 FROM_HERE,
123 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged, 122 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged,
124 weak_ptr_factory_.GetWeakPtr(), service_path, name)); 123 weak_ptr_factory_.GetWeakPtr(), service_path, name));
125 if (callback.is_null()) 124 if (callback.is_null())
126 return; 125 return;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 } 181 }
183 182
184 void ShillServiceClientStub::Connect(const dbus::ObjectPath& service_path, 183 void ShillServiceClientStub::Connect(const dbus::ObjectPath& service_path,
185 const base::Closure& callback, 184 const base::Closure& callback,
186 const ErrorCallback& error_callback) { 185 const ErrorCallback& error_callback) {
187 base::Value* service; 186 base::Value* service;
188 if (!stub_services_.Get(service_path.value(), &service)) { 187 if (!stub_services_.Get(service_path.value(), &service)) {
189 error_callback.Run("Error.InvalidService", "Invalid Service"); 188 error_callback.Run("Error.InvalidService", "Invalid Service");
190 return; 189 return;
191 } 190 }
192 // Set Associating 191 base::TimeDelta delay;
193 base::StringValue associating_value(flimflam::kStateAssociation); 192 if (CommandLine::ForCurrentProcess()->HasSwitch(
194 SetServiceProperty(service_path.value(), 193 chromeos::switches::kEnableStubInteractive)) {
195 flimflam::kStateProperty, 194 // Set Associating
196 associating_value); 195 base::StringValue associating_value(flimflam::kStateAssociation);
196 SetServiceProperty(service_path.value(),
197 flimflam::kStateProperty,
198 associating_value);
199 const int kConnectDelaySeconds = 5;
200 delay = base::TimeDelta::FromSeconds(kConnectDelaySeconds);
201 }
197 // Set Online after a delay 202 // Set Online after a delay
198 const int kConnectDelaySeconds = 5;
199 base::StringValue online_value(flimflam::kStateOnline); 203 base::StringValue online_value(flimflam::kStateOnline);
200 MessageLoop::current()->PostDelayedTask( 204 MessageLoop::current()->PostDelayedTask(
201 FROM_HERE, 205 FROM_HERE,
202 base::Bind(&ShillServiceClientStub::SetProperty, 206 base::Bind(&ShillServiceClientStub::SetProperty,
203 weak_ptr_factory_.GetWeakPtr(), 207 weak_ptr_factory_.GetWeakPtr(),
204 service_path, 208 service_path,
205 flimflam::kStateProperty, 209 flimflam::kStateProperty,
206 online_value, 210 online_value,
207 base::Bind(&base::DoNothing), 211 base::Bind(&base::DoNothing),
208 error_callback), 212 error_callback),
209 base::TimeDelta::FromSeconds(kConnectDelaySeconds)); 213 delay);
210 callback.Run(); 214 callback.Run();
211 } 215 }
212 216
213 void ShillServiceClientStub::Disconnect(const dbus::ObjectPath& service_path, 217 void ShillServiceClientStub::Disconnect(const dbus::ObjectPath& service_path,
214 const base::Closure& callback, 218 const base::Closure& callback,
215 const ErrorCallback& error_callback) { 219 const ErrorCallback& error_callback) {
216 base::Value* service; 220 base::Value* service;
217 if (!stub_services_.Get(service_path.value(), &service)) { 221 if (!stub_services_.Get(service_path.value(), &service)) {
218 error_callback.Run("Error.InvalidService", "Invalid Service"); 222 error_callback.Run("Error.InvalidService", "Invalid Service");
219 return; 223 return;
220 } 224 }
225 base::TimeDelta delay;
226 if (CommandLine::ForCurrentProcess()->HasSwitch(
227 chromeos::switches::kEnableStubInteractive)) {
228 const int kConnectDelaySeconds = 2;
229 delay = base::TimeDelta::FromSeconds(kConnectDelaySeconds);
230 }
221 // Set Idle after a delay 231 // Set Idle after a delay
222 const int kConnectDelaySeconds = 2;
223 base::StringValue idle_value(flimflam::kStateIdle); 232 base::StringValue idle_value(flimflam::kStateIdle);
224 MessageLoop::current()->PostDelayedTask( 233 MessageLoop::current()->PostDelayedTask(
225 FROM_HERE, 234 FROM_HERE,
226 base::Bind(&ShillServiceClientStub::SetProperty, 235 base::Bind(&ShillServiceClientStub::SetProperty,
227 weak_ptr_factory_.GetWeakPtr(), 236 weak_ptr_factory_.GetWeakPtr(),
228 service_path, 237 service_path,
229 flimflam::kStateProperty, 238 flimflam::kStateProperty,
230 idle_value, 239 idle_value,
231 base::Bind(&base::DoNothing), 240 base::Bind(&base::DoNothing),
232 error_callback), 241 error_callback),
233 base::TimeDelta::FromSeconds(kConnectDelaySeconds)); 242 delay);
234 callback.Run(); 243 callback.Run();
235 } 244 }
236 245
237 void ShillServiceClientStub::Remove(const dbus::ObjectPath& service_path, 246 void ShillServiceClientStub::Remove(const dbus::ObjectPath& service_path,
238 const base::Closure& callback, 247 const base::Closure& callback,
239 const ErrorCallback& error_callback) { 248 const ErrorCallback& error_callback) {
240 if (callback.is_null()) 249 if (callback.is_null())
241 return; 250 return;
242 MessageLoop::current()->PostTask(FROM_HERE, callback); 251 MessageLoop::current()->PostTask(FROM_HERE, callback);
243 } 252 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 } 292 }
284 293
285 void ShillServiceClientStub::AddServiceWithIPConfig( 294 void ShillServiceClientStub::AddServiceWithIPConfig(
286 const std::string& service_path, 295 const std::string& service_path,
287 const std::string& name, 296 const std::string& name,
288 const std::string& type, 297 const std::string& type,
289 const std::string& state, 298 const std::string& state,
290 const std::string& ipconfig_path, 299 const std::string& ipconfig_path,
291 bool add_to_watch_list) { 300 bool add_to_watch_list) {
292 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 301 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
293 AddService(service_path, add_to_watch_list); 302 AddManagerService(service_path, add_to_watch_list);
294 303
295 base::DictionaryValue* properties = 304 base::DictionaryValue* properties =
296 GetModifiableServiceProperties(service_path); 305 GetModifiableServiceProperties(service_path);
297 properties->SetWithoutPathExpansion( 306 properties->SetWithoutPathExpansion(
298 flimflam::kSSIDProperty, 307 flimflam::kSSIDProperty,
299 base::Value::CreateStringValue(service_path)); 308 base::Value::CreateStringValue(service_path));
300 properties->SetWithoutPathExpansion( 309 properties->SetWithoutPathExpansion(
301 flimflam::kNameProperty, 310 flimflam::kNameProperty,
302 base::Value::CreateStringValue(name)); 311 base::Value::CreateStringValue(name));
303 properties->SetWithoutPathExpansion( 312 properties->SetWithoutPathExpansion(
304 flimflam::kTypeProperty, 313 flimflam::kTypeProperty,
305 base::Value::CreateStringValue(type)); 314 base::Value::CreateStringValue(type));
306 properties->SetWithoutPathExpansion( 315 properties->SetWithoutPathExpansion(
307 flimflam::kStateProperty, 316 flimflam::kStateProperty,
308 base::Value::CreateStringValue(state)); 317 base::Value::CreateStringValue(state));
309 if (!ipconfig_path.empty()) 318 if (!ipconfig_path.empty())
310 properties->SetWithoutPathExpansion( 319 properties->SetWithoutPathExpansion(
311 shill::kIPConfigProperty, 320 shill::kIPConfigProperty,
312 base::Value::CreateStringValue(ipconfig_path)); 321 base::Value::CreateStringValue(ipconfig_path));
313 } 322 }
314 323
315 void ShillServiceClientStub::RemoveService(const std::string& service_path) { 324 void ShillServiceClientStub::RemoveService(const std::string& service_path) {
316 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 325 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
317 RemoveService(service_path); 326 RemoveManagerService(service_path);
318 327
319 stub_services_.RemoveWithoutPathExpansion(service_path, NULL); 328 stub_services_.RemoveWithoutPathExpansion(service_path, NULL);
320 } 329 }
321 330
322 void ShillServiceClientStub::SetServiceProperty(const std::string& service_path, 331 void ShillServiceClientStub::SetServiceProperty(const std::string& service_path,
323 const std::string& property, 332 const std::string& property,
324 const base::Value& value) { 333 const base::Value& value) {
325 SetProperty(dbus::ObjectPath(service_path), property, value, 334 SetProperty(dbus::ObjectPath(service_path), property, value,
326 base::Bind(&base::DoNothing), 335 base::Bind(&base::DoNothing),
327 base::Bind(&ErrorFunction)); 336 base::Bind(&ErrorFunction));
328 } 337 }
329 338
330 const base::DictionaryValue* ShillServiceClientStub::GetServiceProperties( 339 const base::DictionaryValue* ShillServiceClientStub::GetServiceProperties(
331 const std::string& service_path) const { 340 const std::string& service_path) const {
332 const base::DictionaryValue* properties = NULL; 341 const base::DictionaryValue* properties = NULL;
333 stub_services_.GetDictionaryWithoutPathExpansion(service_path, &properties); 342 stub_services_.GetDictionaryWithoutPathExpansion(service_path, &properties);
334 return properties; 343 return properties;
335 } 344 }
336 345
337 void ShillServiceClientStub::ClearServices() { 346 void ShillServiceClientStub::ClearServices() {
338 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 347 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
339 ClearServices(); 348 ClearManagerServices();
340 349
341 stub_services_.Clear(); 350 stub_services_.Clear();
342 } 351 }
343 352
344 void ShillServiceClientStub::SetDefaultProperties() { 353 void ShillServiceClientStub::SetDefaultProperties() {
345 const bool add_to_watchlist = true; 354 const bool add_to_watchlist = true;
346 355
347 if (!CommandLine::ForCurrentProcess()->HasSwitch( 356 if (!CommandLine::ForCurrentProcess()->HasSwitch(
348 chromeos::switches::kDisableStubEthernet)) { 357 chromeos::switches::kDisableStubEthernet)) {
349 AddService("stub_ethernet", "eth0", 358 AddService("stub_ethernet", "eth0",
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter = 443 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter =
435 observer_list_.find(device_path); 444 observer_list_.find(device_path);
436 if (iter != observer_list_.end()) 445 if (iter != observer_list_.end())
437 return *(iter->second); 446 return *(iter->second);
438 PropertyObserverList* observer_list = new PropertyObserverList(); 447 PropertyObserverList* observer_list = new PropertyObserverList();
439 observer_list_[device_path] = observer_list; 448 observer_list_[device_path] = observer_list;
440 return *observer_list; 449 return *observer_list;
441 } 450 }
442 451
443 } // namespace chromeos 452 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/shill_service_client_stub.h ('k') | chromeos/network/cert_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698