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

Side by Side Diff: device/bluetooth/dbus/fake_bluetooth_device_client.cc

Issue 2440043002: bluetooth: bluez: GetName uses 'name' instead of 'alias'. (Closed)
Patch Set: Created 4 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 (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 "device/bluetooth/dbus/fake_bluetooth_device_client.h" 5 #include "device/bluetooth/dbus/fake_bluetooth_device_client.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <sys/socket.h> 9 #include <sys/socket.h>
10 #include <sys/types.h> 10 #include <sys/types.h>
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 connection_rssi_(kUnkownPower), 308 connection_rssi_(kUnkownPower),
309 transmit_power_(kUnkownPower), 309 transmit_power_(kUnkownPower),
310 max_transmit_power_(kUnkownPower), 310 max_transmit_power_(kUnkownPower),
311 delay_start_discovery_(false) { 311 delay_start_discovery_(false) {
312 std::unique_ptr<Properties> properties(new Properties( 312 std::unique_ptr<Properties> properties(new Properties(
313 base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged, 313 base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged,
314 base::Unretained(this), dbus::ObjectPath(kPairedDevicePath)))); 314 base::Unretained(this), dbus::ObjectPath(kPairedDevicePath))));
315 properties->address.ReplaceValue(kPairedDeviceAddress); 315 properties->address.ReplaceValue(kPairedDeviceAddress);
316 properties->bluetooth_class.ReplaceValue(kPairedDeviceClass); 316 properties->bluetooth_class.ReplaceValue(kPairedDeviceClass);
317 properties->name.ReplaceValue(kPairedDeviceName); 317 properties->name.ReplaceValue(kPairedDeviceName);
318 properties->name.set_valid(true);
318 properties->alias.ReplaceValue(kPairedDeviceAlias); 319 properties->alias.ReplaceValue(kPairedDeviceAlias);
319 properties->paired.ReplaceValue(true); 320 properties->paired.ReplaceValue(true);
320 properties->trusted.ReplaceValue(true); 321 properties->trusted.ReplaceValue(true);
321 properties->adapter.ReplaceValue( 322 properties->adapter.ReplaceValue(
322 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath)); 323 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath));
323 324
324 std::vector<std::string> uuids; 325 std::vector<std::string> uuids;
325 uuids.push_back("00001800-0000-1000-8000-00805f9b34fb"); 326 uuids.push_back("00001800-0000-1000-8000-00805f9b34fb");
326 uuids.push_back("00001801-0000-1000-8000-00805f9b34fb"); 327 uuids.push_back("00001801-0000-1000-8000-00805f9b34fb");
327 properties->uuids.ReplaceValue(uuids); 328 properties->uuids.ReplaceValue(uuids);
328 329
329 properties->modalias.ReplaceValue("usb:v05ACp030Dd0306"); 330 properties->modalias.ReplaceValue("usb:v05ACp030Dd0306");
330 331
331 properties_map_.insert(std::make_pair(dbus::ObjectPath(kPairedDevicePath), 332 properties_map_.insert(std::make_pair(dbus::ObjectPath(kPairedDevicePath),
332 std::move(properties))); 333 std::move(properties)));
333 device_list_.push_back(dbus::ObjectPath(kPairedDevicePath)); 334 device_list_.push_back(dbus::ObjectPath(kPairedDevicePath));
334 335
335 properties.reset(new Properties(base::Bind( 336 properties.reset(new Properties(base::Bind(
336 &FakeBluetoothDeviceClient::OnPropertyChanged, base::Unretained(this), 337 &FakeBluetoothDeviceClient::OnPropertyChanged, base::Unretained(this),
337 dbus::ObjectPath(kPairedUnconnectableDevicePath)))); 338 dbus::ObjectPath(kPairedUnconnectableDevicePath))));
338 properties->address.ReplaceValue(kPairedUnconnectableDeviceAddress); 339 properties->address.ReplaceValue(kPairedUnconnectableDeviceAddress);
339 properties->bluetooth_class.ReplaceValue(kPairedUnconnectableDeviceClass); 340 properties->bluetooth_class.ReplaceValue(kPairedUnconnectableDeviceClass);
340 properties->name.ReplaceValue(kPairedUnconnectableDeviceName); 341 properties->name.ReplaceValue(kPairedUnconnectableDeviceName);
342 properties->name.set_valid(true);
341 properties->alias.ReplaceValue(kPairedUnconnectableDeviceAlias); 343 properties->alias.ReplaceValue(kPairedUnconnectableDeviceAlias);
342 properties->paired.ReplaceValue(true); 344 properties->paired.ReplaceValue(true);
343 properties->trusted.ReplaceValue(true); 345 properties->trusted.ReplaceValue(true);
344 properties->adapter.ReplaceValue( 346 properties->adapter.ReplaceValue(
345 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath)); 347 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath));
346 348
347 properties->uuids.ReplaceValue(uuids); 349 properties->uuids.ReplaceValue(uuids);
348 350
349 properties->modalias.ReplaceValue("usb:v05ACp030Dd0306"); 351 properties->modalias.ReplaceValue("usb:v05ACp030Dd0306");
350 352
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 std::unique_ptr<Properties> properties( 653 std::unique_ptr<Properties> properties(
652 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged, 654 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged,
653 base::Unretained(this), device_path))); 655 base::Unretained(this), device_path)));
654 properties->adapter.ReplaceValue(adapter_path); 656 properties->adapter.ReplaceValue(adapter_path);
655 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeBredr); 657 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeBredr);
656 properties->type.set_valid(true); 658 properties->type.set_valid(true);
657 659
658 if (device_path == dbus::ObjectPath(kLegacyAutopairPath)) { 660 if (device_path == dbus::ObjectPath(kLegacyAutopairPath)) {
659 properties->address.ReplaceValue(kLegacyAutopairAddress); 661 properties->address.ReplaceValue(kLegacyAutopairAddress);
660 properties->bluetooth_class.ReplaceValue(kLegacyAutopairClass); 662 properties->bluetooth_class.ReplaceValue(kLegacyAutopairClass);
661 properties->name.ReplaceValue("LegacyAutopair"); 663 properties->name.ReplaceValue(kLegacyAutopairName);
662 properties->alias.ReplaceValue(kLegacyAutopairName); 664 properties->name.set_valid(true);
663 665
664 std::vector<std::string> uuids; 666 std::vector<std::string> uuids;
665 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb"); 667 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb");
666 properties->uuids.ReplaceValue(uuids); 668 properties->uuids.ReplaceValue(uuids);
667 669
668 } else if (device_path == dbus::ObjectPath(kDisplayPinCodePath)) { 670 } else if (device_path == dbus::ObjectPath(kDisplayPinCodePath)) {
669 properties->address.ReplaceValue(kDisplayPinCodeAddress); 671 properties->address.ReplaceValue(kDisplayPinCodeAddress);
670 properties->bluetooth_class.ReplaceValue(kDisplayPinCodeClass); 672 properties->bluetooth_class.ReplaceValue(kDisplayPinCodeClass);
671 properties->name.ReplaceValue("DisplayPinCode"); 673 properties->name.ReplaceValue(kDisplayPinCodeName);
672 properties->alias.ReplaceValue(kDisplayPinCodeName); 674 properties->name.set_valid(true);
673 675
674 std::vector<std::string> uuids; 676 std::vector<std::string> uuids;
675 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb"); 677 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb");
676 properties->uuids.ReplaceValue(uuids); 678 properties->uuids.ReplaceValue(uuids);
677 679
678 } else if (device_path == dbus::ObjectPath(kVanishingDevicePath)) { 680 } else if (device_path == dbus::ObjectPath(kVanishingDevicePath)) {
679 properties->address.ReplaceValue(kVanishingDeviceAddress); 681 properties->address.ReplaceValue(kVanishingDeviceAddress);
680 properties->bluetooth_class.ReplaceValue(kVanishingDeviceClass); 682 properties->bluetooth_class.ReplaceValue(kVanishingDeviceClass);
681 properties->name.ReplaceValue("VanishingDevice"); 683 properties->name.ReplaceValue(kVanishingDeviceName);
682 properties->alias.ReplaceValue(kVanishingDeviceName); 684 properties->name.set_valid(true);
683 685
684 } else if (device_path == dbus::ObjectPath(kConnectUnpairablePath)) { 686 } else if (device_path == dbus::ObjectPath(kConnectUnpairablePath)) {
685 properties->address.ReplaceValue(kConnectUnpairableAddress); 687 properties->address.ReplaceValue(kConnectUnpairableAddress);
686 properties->bluetooth_class.ReplaceValue(kConnectUnpairableClass); 688 properties->bluetooth_class.ReplaceValue(kConnectUnpairableClass);
687 properties->name.ReplaceValue("ConnectUnpairable"); 689 properties->name.ReplaceValue(kConnectUnpairableName);
688 properties->alias.ReplaceValue(kConnectUnpairableName); 690 properties->name.set_valid(true);
689 691
690 std::vector<std::string> uuids; 692 std::vector<std::string> uuids;
691 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb"); 693 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb");
692 properties->uuids.ReplaceValue(uuids); 694 properties->uuids.ReplaceValue(uuids);
693 695
694 } else if (device_path == dbus::ObjectPath(kDisplayPasskeyPath)) { 696 } else if (device_path == dbus::ObjectPath(kDisplayPasskeyPath)) {
695 properties->address.ReplaceValue(kDisplayPasskeyAddress); 697 properties->address.ReplaceValue(kDisplayPasskeyAddress);
696 properties->bluetooth_class.ReplaceValue(kDisplayPasskeyClass); 698 properties->bluetooth_class.ReplaceValue(kDisplayPasskeyClass);
697 properties->name.ReplaceValue("DisplayPasskey"); 699 properties->name.ReplaceValue(kDisplayPasskeyName);
698 properties->alias.ReplaceValue(kDisplayPasskeyName); 700 properties->name.set_valid(true);
699 701
700 std::vector<std::string> uuids; 702 std::vector<std::string> uuids;
701 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb"); 703 uuids.push_back("00001124-0000-1000-8000-00805f9b34fb");
702 properties->uuids.ReplaceValue(uuids); 704 properties->uuids.ReplaceValue(uuids);
703 705
704 } else if (device_path == dbus::ObjectPath(kRequestPinCodePath)) { 706 } else if (device_path == dbus::ObjectPath(kRequestPinCodePath)) {
705 properties->address.ReplaceValue(kRequestPinCodeAddress); 707 properties->address.ReplaceValue(kRequestPinCodeAddress);
706 properties->bluetooth_class.ReplaceValue(kRequestPinCodeClass); 708 properties->bluetooth_class.ReplaceValue(kRequestPinCodeClass);
707 properties->name.ReplaceValue("RequestPinCode"); 709 properties->name.ReplaceValue(kRequestPinCodeName);
708 properties->alias.ReplaceValue(kRequestPinCodeName); 710 properties->name.set_valid(true);
709 711
710 } else if (device_path == dbus::ObjectPath(kConfirmPasskeyPath)) { 712 } else if (device_path == dbus::ObjectPath(kConfirmPasskeyPath)) {
711 properties->address.ReplaceValue(kConfirmPasskeyAddress); 713 properties->address.ReplaceValue(kConfirmPasskeyAddress);
712 properties->bluetooth_class.ReplaceValue(kConfirmPasskeyClass); 714 properties->bluetooth_class.ReplaceValue(kConfirmPasskeyClass);
713 properties->name.ReplaceValue("ConfirmPasskey"); 715 properties->name.ReplaceValue(kConfirmPasskeyName);
714 properties->alias.ReplaceValue(kConfirmPasskeyName); 716 properties->name.set_valid(true);
715 717
716 } else if (device_path == dbus::ObjectPath(kRequestPasskeyPath)) { 718 } else if (device_path == dbus::ObjectPath(kRequestPasskeyPath)) {
717 properties->address.ReplaceValue(kRequestPasskeyAddress); 719 properties->address.ReplaceValue(kRequestPasskeyAddress);
718 properties->bluetooth_class.ReplaceValue(kRequestPasskeyClass); 720 properties->bluetooth_class.ReplaceValue(kRequestPasskeyClass);
719 properties->name.ReplaceValue("RequestPasskey"); 721 properties->name.ReplaceValue(kRequestPasskeyName);
720 properties->alias.ReplaceValue(kRequestPasskeyName); 722 properties->name.set_valid(true);
721 723
722 } else if (device_path == dbus::ObjectPath(kUnconnectableDevicePath)) { 724 } else if (device_path == dbus::ObjectPath(kUnconnectableDevicePath)) {
723 properties->address.ReplaceValue(kUnconnectableDeviceAddress); 725 properties->address.ReplaceValue(kUnconnectableDeviceAddress);
724 properties->bluetooth_class.ReplaceValue(kUnconnectableDeviceClass); 726 properties->bluetooth_class.ReplaceValue(kUnconnectableDeviceClass);
725 properties->name.ReplaceValue("UnconnectableDevice"); 727 properties->name.ReplaceValue(kUnconnectableDeviceName);
726 properties->alias.ReplaceValue(kUnconnectableDeviceName); 728 properties->name.set_valid(true);
727 729
728 } else if (device_path == dbus::ObjectPath(kUnpairableDevicePath)) { 730 } else if (device_path == dbus::ObjectPath(kUnpairableDevicePath)) {
729 properties->address.ReplaceValue(kUnpairableDeviceAddress); 731 properties->address.ReplaceValue(kUnpairableDeviceAddress);
730 properties->bluetooth_class.ReplaceValue(kUnpairableDeviceClass); 732 properties->bluetooth_class.ReplaceValue(kUnpairableDeviceClass);
731 properties->name.ReplaceValue("Fake Unpairable Device"); 733 properties->name.ReplaceValue(kUnpairableDeviceName);
732 properties->alias.ReplaceValue(kUnpairableDeviceName); 734 properties->name.set_valid(true);
733 735
734 } else if (device_path == dbus::ObjectPath(kJustWorksPath)) { 736 } else if (device_path == dbus::ObjectPath(kJustWorksPath)) {
735 properties->address.ReplaceValue(kJustWorksAddress); 737 properties->address.ReplaceValue(kJustWorksAddress);
736 properties->bluetooth_class.ReplaceValue(kJustWorksClass); 738 properties->bluetooth_class.ReplaceValue(kJustWorksClass);
737 properties->name.ReplaceValue("JustWorks"); 739 properties->name.ReplaceValue(kJustWorksName);
738 properties->alias.ReplaceValue(kJustWorksName); 740 properties->name.set_valid(true);
739 741
740 } else if (device_path == dbus::ObjectPath(kLowEnergyPath)) { 742 } else if (device_path == dbus::ObjectPath(kLowEnergyPath)) {
741 properties->address.ReplaceValue(kLowEnergyAddress); 743 properties->address.ReplaceValue(kLowEnergyAddress);
742 properties->bluetooth_class.ReplaceValue(kLowEnergyClass); 744 properties->bluetooth_class.ReplaceValue(kLowEnergyClass);
743 properties->name.ReplaceValue("Heart Rate Monitor"); 745 properties->name.ReplaceValue(kLowEnergyName);
744 properties->alias.ReplaceValue(kLowEnergyName); 746 properties->name.set_valid(true);
745 properties->services_resolved.ReplaceValue(false); 747 properties->services_resolved.ReplaceValue(false);
746 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeLe); 748 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeLe);
747 749
748 std::vector<std::string> uuids; 750 std::vector<std::string> uuids;
749 uuids.push_back(FakeBluetoothGattServiceClient::kHeartRateServiceUUID); 751 uuids.push_back(FakeBluetoothGattServiceClient::kHeartRateServiceUUID);
750 properties->uuids.ReplaceValue(uuids); 752 properties->uuids.ReplaceValue(uuids);
751 } else if (device_path == 753 } else if (device_path ==
752 dbus::ObjectPath(kConnectedTrustedNotPairedDevicePath)) { 754 dbus::ObjectPath(kConnectedTrustedNotPairedDevicePath)) {
753 properties->address.ReplaceValue(kConnectedTrustedNotPairedDeviceAddress); 755 properties->address.ReplaceValue(kConnectedTrustedNotPairedDeviceAddress);
754 properties->bluetooth_class.ReplaceValue( 756 properties->bluetooth_class.ReplaceValue(
755 kConnectedTrustedNotPairedDeviceClass); 757 kConnectedTrustedNotPairedDeviceClass);
756 properties->trusted.ReplaceValue(true); 758 properties->trusted.ReplaceValue(true);
757 properties->connected.ReplaceValue(true); 759 properties->connected.ReplaceValue(true);
758 properties->paired.ReplaceValue(false); 760 properties->paired.ReplaceValue(false);
759 properties->name.ReplaceValue("Connected Pairable Device"); 761 properties->name.ReplaceValue(kConnectedTrustedNotPairedDeviceName);
760 properties->alias.ReplaceValue(kConnectedTrustedNotPairedDeviceName); 762 properties->name.set_valid(true);
761 } else { 763 } else {
762 NOTREACHED(); 764 NOTREACHED();
763 } 765 }
764 766
765 properties_map_.insert(std::make_pair(device_path, std::move(properties))); 767 properties_map_.insert(std::make_pair(device_path, std::move(properties)));
766 device_list_.push_back(device_path); 768 device_list_.push_back(device_path);
767 769
768 for (auto& observer : observers_) 770 for (auto& observer : observers_)
769 observer.DeviceAdded(device_path); 771 observer.DeviceAdded(device_path);
770 } 772 }
771 773
772 void FakeBluetoothDeviceClient::CreateDeviceWithProperties( 774 void FakeBluetoothDeviceClient::CreateDeviceWithProperties(
773 const dbus::ObjectPath& adapter_path, 775 const dbus::ObjectPath& adapter_path,
774 const IncomingDeviceProperties& props) { 776 const IncomingDeviceProperties& props) {
775 dbus::ObjectPath device_path(props.device_path); 777 dbus::ObjectPath device_path(props.device_path);
776 if (std::find(device_list_.begin(), device_list_.end(), device_path) != 778 if (std::find(device_list_.begin(), device_list_.end(), device_path) !=
777 device_list_.end()) 779 device_list_.end())
778 return; 780 return;
779 781
780 std::unique_ptr<Properties> properties( 782 std::unique_ptr<Properties> properties(
781 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged, 783 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged,
782 base::Unretained(this), device_path))); 784 base::Unretained(this), device_path)));
783 properties->adapter.ReplaceValue(adapter_path); 785 properties->adapter.ReplaceValue(adapter_path);
784 properties->name.ReplaceValue(props.device_name); 786 properties->name.ReplaceValue(props.device_name);
787 properties->name.set_valid(true);
785 properties->alias.ReplaceValue(props.device_alias); 788 properties->alias.ReplaceValue(props.device_alias);
786 properties->address.ReplaceValue(props.device_address); 789 properties->address.ReplaceValue(props.device_address);
787 properties->bluetooth_class.ReplaceValue(props.device_class); 790 properties->bluetooth_class.ReplaceValue(props.device_class);
788 properties->trusted.ReplaceValue(props.is_trusted); 791 properties->trusted.ReplaceValue(props.is_trusted);
789 792
790 if (props.is_trusted) 793 if (props.is_trusted)
791 properties->paired.ReplaceValue(true); 794 properties->paired.ReplaceValue(true);
792 795
793 std::unique_ptr<SimulatedPairingOptions> options(new SimulatedPairingOptions); 796 std::unique_ptr<SimulatedPairingOptions> options(new SimulatedPairingOptions);
794 options->pairing_method = props.pairing_method; 797 options->pairing_method = props.pairing_method;
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 const dbus::ObjectPath& adapter_path, 1054 const dbus::ObjectPath& adapter_path,
1052 const dbus::ObjectPath& device_path) { 1055 const dbus::ObjectPath& device_path) {
1053 std::vector<dbus::ObjectPath>::iterator listiter = 1056 std::vector<dbus::ObjectPath>::iterator listiter =
1054 std::find(device_list_.begin(), device_list_.end(), device_path); 1057 std::find(device_list_.begin(), device_list_.end(), device_path);
1055 if (listiter == device_list_.end()) 1058 if (listiter == device_list_.end())
1056 return; 1059 return;
1057 1060
1058 PropertiesMap::const_iterator iter = properties_map_.find(device_path); 1061 PropertiesMap::const_iterator iter = properties_map_.find(device_path);
1059 Properties* properties = iter->second.get(); 1062 Properties* properties = iter->second.get();
1060 1063
1061 VLOG(1) << "removing device: " << properties->alias.value(); 1064 VLOG(1) << "removing device: " << properties->name.value();
1062 device_list_.erase(listiter); 1065 device_list_.erase(listiter);
1063 1066
1064 // Remove the Input interface if it exists. This should be called before the 1067 // Remove the Input interface if it exists. This should be called before the
1065 // BluetoothDeviceClient::Observer::DeviceRemoved because it deletes the 1068 // BluetoothDeviceClient::Observer::DeviceRemoved because it deletes the
1066 // BluetoothDeviceBlueZ object, including the device_path referenced here. 1069 // BluetoothDeviceBlueZ object, including the device_path referenced here.
1067 FakeBluetoothInputClient* fake_bluetooth_input_client = 1070 FakeBluetoothInputClient* fake_bluetooth_input_client =
1068 static_cast<FakeBluetoothInputClient*>( 1071 static_cast<FakeBluetoothInputClient*>(
1069 bluez::BluezDBusManager::Get()->GetBluetoothInputClient()); 1072 bluez::BluezDBusManager::Get()->GetBluetoothInputClient());
1070 fake_bluetooth_input_client->RemoveInputDevice(device_path); 1073 fake_bluetooth_input_client->RemoveInputDevice(device_path);
1071 1074
(...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
1742 error_callback.Run(bluetooth_device::kErrorFailed, "Rejected"); 1745 error_callback.Run(bluetooth_device::kErrorFailed, "Rejected");
1743 } 1746 }
1744 } 1747 }
1745 1748
1746 void FakeBluetoothDeviceClient::RemoveAllDevices() { 1749 void FakeBluetoothDeviceClient::RemoveAllDevices() {
1747 device_list_.clear(); 1750 device_list_.clear();
1748 } 1751 }
1749 1752
1750 void FakeBluetoothDeviceClient::CreateTestDevice( 1753 void FakeBluetoothDeviceClient::CreateTestDevice(
1751 const dbus::ObjectPath& adapter_path, 1754 const dbus::ObjectPath& adapter_path,
1752 const std::string name, 1755 const base::Optional<std::string> name,
1753 const std::string alias, 1756 const std::string alias,
1754 const std::string device_address, 1757 const std::string device_address,
1755 const std::vector<std::string>& service_uuids, 1758 const std::vector<std::string>& service_uuids,
1756 device::BluetoothTransport type) { 1759 device::BluetoothTransport type) {
1757 // Create a random device path. 1760 // Create a random device path.
1758 dbus::ObjectPath device_path; 1761 dbus::ObjectPath device_path;
1759 do { 1762 do {
1760 device_path = dbus::ObjectPath(adapter_path.value() + "/dev" + 1763 device_path = dbus::ObjectPath(adapter_path.value() + "/dev" +
1761 base::RandBytesAsString(10)); 1764 base::RandBytesAsString(10));
1762 } while (std::find(device_list_.begin(), device_list_.end(), device_path) != 1765 } while (std::find(device_list_.begin(), device_list_.end(), device_path) !=
1763 device_list_.end()); 1766 device_list_.end());
1764 1767
1765 std::unique_ptr<Properties> properties( 1768 std::unique_ptr<Properties> properties(
1766 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged, 1769 new Properties(base::Bind(&FakeBluetoothDeviceClient::OnPropertyChanged,
1767 base::Unretained(this), device_path))); 1770 base::Unretained(this), device_path)));
1768 properties->adapter.ReplaceValue(adapter_path); 1771 properties->adapter.ReplaceValue(adapter_path);
1769 1772
1770 properties->address.ReplaceValue(device_address); 1773 properties->address.ReplaceValue(device_address);
1771 properties->name.ReplaceValue(name); 1774 properties->name.ReplaceValue(
1775 name.value_or("Invalid Device Name set in "
ortuno 2016/11/04 00:05:04 Curious as to why you can't just DCHECK this.
scheib 2016/11/04 00:13:46 We WANT to set it to an invalid state sometimes. T
ortuno 2016/11/04 00:15:24 I see. Thanks.
1776 "FakeBluetoothDeviceClient::CreateTestDevice"));
1777 properties->name.set_valid(name.has_value());
1772 properties->alias.ReplaceValue(alias); 1778 properties->alias.ReplaceValue(alias);
1773 1779
1774 properties->uuids.ReplaceValue(service_uuids); 1780 properties->uuids.ReplaceValue(service_uuids);
1775 1781
1776 switch (type) { 1782 switch (type) {
1777 case device::BLUETOOTH_TRANSPORT_CLASSIC: 1783 case device::BLUETOOTH_TRANSPORT_CLASSIC:
1778 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeBredr); 1784 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeBredr);
1779 break; 1785 break;
1780 case device::BLUETOOTH_TRANSPORT_LE: 1786 case device::BLUETOOTH_TRANSPORT_LE:
1781 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeLe); 1787 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeLe);
1782 break; 1788 break;
1783 case device::BLUETOOTH_TRANSPORT_DUAL: 1789 case device::BLUETOOTH_TRANSPORT_DUAL:
1784 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeDual); 1790 properties->type.ReplaceValue(BluetoothDeviceClient::kTypeDual);
1785 break; 1791 break;
1786 default: 1792 default:
1787 NOTREACHED(); 1793 NOTREACHED();
1788 } 1794 }
1789 properties->type.set_valid(true); 1795 properties->type.set_valid(true);
1790 1796
1791 properties_map_.insert(std::make_pair(device_path, std::move(properties))); 1797 properties_map_.insert(std::make_pair(device_path, std::move(properties)));
1792 device_list_.push_back(device_path); 1798 device_list_.push_back(device_path);
1793 for (auto& observer : observers_) 1799 for (auto& observer : observers_)
1794 observer.DeviceAdded(device_path); 1800 observer.DeviceAdded(device_path);
1795 } 1801 }
1796 1802
1797 } // namespace bluez 1803 } // namespace bluez
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698