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

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

Issue 694533007: Add 'setProperties' to InternetOptionsHandler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 1 month 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
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/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 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 if (!ipconfig_path.empty()) { 337 if (!ipconfig_path.empty()) {
338 properties->SetWithoutPathExpansion( 338 properties->SetWithoutPathExpansion(
339 shill::kIPConfigProperty, 339 shill::kIPConfigProperty,
340 new base::StringValue(ipconfig_path)); 340 new base::StringValue(ipconfig_path));
341 } 341 }
342 342
343 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 343 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
344 AddManagerService(service_path, true); 344 AddManagerService(service_path, true);
345 } 345 }
346 346
347
348 base::DictionaryValue* FakeShillServiceClient::SetServiceProperties( 347 base::DictionaryValue* FakeShillServiceClient::SetServiceProperties(
349 const std::string& service_path, 348 const std::string& service_path,
350 const std::string& guid, 349 const std::string& guid,
351 const std::string& name, 350 const std::string& name,
352 const std::string& type, 351 const std::string& type,
353 const std::string& state, 352 const std::string& state,
354 bool visible) { 353 bool visible) {
355 base::DictionaryValue* properties = 354 base::DictionaryValue* properties =
356 GetModifiableServiceProperties(service_path, true); 355 GetModifiableServiceProperties(service_path, true);
357 connect_behavior_.erase(service_path); 356 connect_behavior_.erase(service_path);
358 357
359 std::string profile_path; 358 std::string profile_path;
360 base::DictionaryValue profile_properties; 359 base::DictionaryValue profile_properties;
361 if (DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface()-> 360 if (DBusThreadManager::Get()
362 GetService(service_path, &profile_path, &profile_properties)) { 361 ->GetShillProfileClient()
363 properties->SetWithoutPathExpansion( 362 ->GetTestInterface()
364 shill::kProfileProperty, 363 ->GetService(service_path, &profile_path, &profile_properties)) {
365 new base::StringValue(profile_path)); 364 properties->SetStringWithoutPathExpansion(shill::kProfileProperty,
365 profile_path);
366 } 366 }
367 367
368 // If |guid| is provided, set Service.GUID to that. Otherwise if a GUID is 368 // If |guid| is provided, set Service.GUID to that. Otherwise if a GUID is
369 // stored in a profile entry, use that. Otherwise leave it blank. Shill does 369 // stored in a profile entry, use that. Otherwise leave it blank. Shill does
370 // not enforce a valid guid, we do that at the NetworkStateHandler layer. 370 // not enforce a valid guid, we do that at the NetworkStateHandler layer.
371 std::string guid_to_set = guid; 371 std::string guid_to_set = guid;
372 if (guid_to_set.empty()) { 372 if (guid_to_set.empty()) {
373 profile_properties.GetStringWithoutPathExpansion( 373 profile_properties.GetStringWithoutPathExpansion(shill::kGuidProperty,
374 shill::kGuidProperty, &guid_to_set); 374 &guid_to_set);
375 } 375 }
376 if (!guid_to_set.empty()) { 376 if (!guid_to_set.empty()) {
377 properties->SetWithoutPathExpansion(shill::kGuidProperty, 377 properties->SetStringWithoutPathExpansion(shill::kGuidProperty,
378 new base::StringValue(guid_to_set)); 378 guid_to_set);
379 } 379 }
380 shill_property_util::SetSSID(name, properties); 380 properties->SetStringWithoutPathExpansion(shill::kSSIDProperty, name);
381 properties->SetWithoutPathExpansion( 381 shill_property_util::SetSSID(name, properties); // Sets kWifiHexSsid
382 shill::kNameProperty, 382 properties->SetStringWithoutPathExpansion(shill::kNameProperty, name);
383 new base::StringValue(name)); 383 std::string device_path = DBusThreadManager::Get()
384 std::string device_path = 384 ->GetShillDeviceClient()
385 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface()-> 385 ->GetTestInterface()
386 GetDevicePathForType(type); 386 ->GetDevicePathForType(type);
387 properties->SetWithoutPathExpansion( 387 properties->SetStringWithoutPathExpansion(shill::kDeviceProperty,
388 shill::kDeviceProperty, 388 device_path);
389 new base::StringValue(device_path)); 389 properties->SetStringWithoutPathExpansion(shill::kTypeProperty, type);
390 properties->SetWithoutPathExpansion( 390 properties->SetStringWithoutPathExpansion(shill::kStateProperty, state);
391 shill::kTypeProperty, 391 properties->SetBooleanWithoutPathExpansion(shill::kVisibleProperty, visible);
392 new base::StringValue(type));
393 properties->SetWithoutPathExpansion(
394 shill::kStateProperty,
395 new base::StringValue(state));
396 properties->SetWithoutPathExpansion(
397 shill::kVisibleProperty,
398 new base::FundamentalValue(visible));
399 if (type == shill::kTypeWifi) { 392 if (type == shill::kTypeWifi) {
400 properties->SetWithoutPathExpansion( 393 properties->SetStringWithoutPathExpansion(shill::kSecurityProperty,
401 shill::kSecurityProperty, 394 shill::kSecurityNone);
402 new base::StringValue(shill::kSecurityNone)); 395 properties->SetStringWithoutPathExpansion(shill::kModeProperty,
403 properties->SetWithoutPathExpansion( 396 shill::kModeManaged);
404 shill::kModeProperty,
405 new base::StringValue(shill::kModeManaged));
406 } 397 }
407 return properties; 398 return properties;
408 } 399 }
409 400
410 void FakeShillServiceClient::RemoveService(const std::string& service_path) { 401 void FakeShillServiceClient::RemoveService(const std::string& service_path) {
411 stub_services_.RemoveWithoutPathExpansion(service_path, NULL); 402 stub_services_.RemoveWithoutPathExpansion(service_path, NULL);
412 connect_behavior_.erase(service_path); 403 connect_behavior_.erase(service_path);
413 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()-> 404 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface()->
414 RemoveManagerService(service_path); 405 RemoveManagerService(service_path);
415 } 406 }
416 407
417 bool FakeShillServiceClient::SetServiceProperty(const std::string& service_path, 408 bool FakeShillServiceClient::SetServiceProperty(const std::string& service_path,
418 const std::string& property, 409 const std::string& property,
419 const base::Value& value) { 410 const base::Value& value) {
420 base::DictionaryValue* dict = NULL; 411 base::DictionaryValue* dict = NULL;
421 if (!stub_services_.GetDictionaryWithoutPathExpansion(service_path, &dict)) 412 if (!stub_services_.GetDictionaryWithoutPathExpansion(service_path, &dict))
422 return false; 413 return false;
423 414
424 VLOG(1) << "Service.SetProperty: " << property << " = " << value 415 VLOG(1) << "Service.SetProperty: " << property << " = " << value
425 << " For: " << service_path; 416 << " For: " << service_path;
426 417
427 base::DictionaryValue new_properties; 418 base::DictionaryValue new_properties;
428 std::string changed_property; 419 std::string changed_property;
429 bool case_sensitive = true; 420 bool case_sensitive = true;
430 if (StartsWithASCII(property, "Provider.", case_sensitive) || 421 if (StartsWithASCII(property, "Provider.", case_sensitive) ||
431 StartsWithASCII(property, "OpenVPN.", case_sensitive) || 422 StartsWithASCII(property, "OpenVPN.", case_sensitive) ||
432 StartsWithASCII(property, "L2TPIPsec.", case_sensitive)) { 423 StartsWithASCII(property, "L2TPIPsec.", case_sensitive)) {
433 // These properties are only nested within the Provider dictionary if read 424 // These properties are only nested within the Provider dictionary if read
434 // from Shill. 425 // from Shill. Properties that start with "Provider" need to have that
426 // stripped off, other properties are nested in the "Provider" dictionary
427 // as-is.
428 std::string key = property;
429 if (StartsWithASCII(property, "Provider.", case_sensitive))
430 key = property.substr(strlen("Provider."));
435 base::DictionaryValue* provider = new base::DictionaryValue; 431 base::DictionaryValue* provider = new base::DictionaryValue;
436 provider->SetWithoutPathExpansion(property, value.DeepCopy()); 432 provider->SetWithoutPathExpansion(key, value.DeepCopy());
437 new_properties.SetWithoutPathExpansion(shill::kProviderProperty, provider); 433 new_properties.SetWithoutPathExpansion(shill::kProviderProperty, provider);
438 changed_property = shill::kProviderProperty; 434 changed_property = shill::kProviderProperty;
439 } else { 435 } else {
440 new_properties.SetWithoutPathExpansion(property, value.DeepCopy()); 436 new_properties.SetWithoutPathExpansion(property, value.DeepCopy());
441 changed_property = property; 437 changed_property = property;
442 } 438 }
443 439
444 dict->MergeDictionary(&new_properties); 440 dict->MergeDictionary(&new_properties);
445 441
446 // Add or update the profile entry. 442 // Add or update the profile entry.
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 } else { 628 } else {
633 // Set Online. 629 // Set Online.
634 VLOG(1) << "Setting state to Online " << service_path; 630 VLOG(1) << "Setting state to Online " << service_path;
635 SetServiceProperty(service_path, 631 SetServiceProperty(service_path,
636 shill::kStateProperty, 632 shill::kStateProperty,
637 base::StringValue(shill::kStateOnline)); 633 base::StringValue(shill::kStateOnline));
638 } 634 }
639 } 635 }
640 636
641 } // namespace chromeos 637 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698