OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provid er.h" | 5 #include "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provid er.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
153 if (fake_adapter_name == "GlucoseHeartRateAdapter") | 153 if (fake_adapter_name == "GlucoseHeartRateAdapter") |
154 return GetGlucoseHeartRateAdapter(); | 154 return GetGlucoseHeartRateAdapter(); |
155 if (fake_adapter_name == "UnicodeDeviceAdapter") | 155 if (fake_adapter_name == "UnicodeDeviceAdapter") |
156 return GetUnicodeDeviceAdapter(); | 156 return GetUnicodeDeviceAdapter(); |
157 if (fake_adapter_name == "MissingServiceHeartRateAdapter") | 157 if (fake_adapter_name == "MissingServiceHeartRateAdapter") |
158 return GetMissingServiceHeartRateAdapter(); | 158 return GetMissingServiceHeartRateAdapter(); |
159 if (fake_adapter_name == "MissingCharacteristicHeartRateAdapter") | 159 if (fake_adapter_name == "MissingCharacteristicHeartRateAdapter") |
160 return GetMissingCharacteristicHeartRateAdapter(); | 160 return GetMissingCharacteristicHeartRateAdapter(); |
161 if (fake_adapter_name == "HeartRateAdapter") | 161 if (fake_adapter_name == "HeartRateAdapter") |
162 return GetHeartRateAdapter(); | 162 return GetHeartRateAdapter(); |
163 if (fake_adapter_name == "EmptyNameHeartRateAdapter") | |
164 return GetEmptyNameHeartRateAdapter(); | |
165 if (fake_adapter_name == "NoNameHeartRateAdapter") | |
166 return GetNoNameHeartRateAdapter(); | |
163 if (fake_adapter_name == "TwoHeartRateServicesAdapter") | 167 if (fake_adapter_name == "TwoHeartRateServicesAdapter") |
164 return GetTwoHeartRateServicesAdapter(); | 168 return GetTwoHeartRateServicesAdapter(); |
165 if (fake_adapter_name == "DisconnectingHeartRateAdapter") | 169 if (fake_adapter_name == "DisconnectingHeartRateAdapter") |
166 return GetDisconnectingHeartRateAdapter(); | 170 return GetDisconnectingHeartRateAdapter(); |
167 if (fake_adapter_name == "BlacklistTestAdapter") | 171 if (fake_adapter_name == "BlacklistTestAdapter") |
168 return GetBlacklistTestAdapter(); | 172 return GetBlacklistTestAdapter(); |
169 if (fake_adapter_name == "FailingConnectionsAdapter") | 173 if (fake_adapter_name == "FailingConnectionsAdapter") |
170 return GetFailingConnectionsAdapter(); | 174 return GetFailingConnectionsAdapter(); |
171 if (fake_adapter_name == "FailingGATTOperationsAdapter") | 175 if (fake_adapter_name == "FailingGATTOperationsAdapter") |
172 return GetFailingGATTOperationsAdapter(); | 176 return GetFailingGATTOperationsAdapter(); |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
437 device->AddMockService(GetGenericAccessService(device.get())); | 441 device->AddMockService(GetGenericAccessService(device.get())); |
438 device->AddMockService(GetHeartRateService(adapter.get(), device.get())); | 442 device->AddMockService(GetHeartRateService(adapter.get(), device.get())); |
439 | 443 |
440 adapter->AddMockDevice(std::move(device)); | 444 adapter->AddMockDevice(std::move(device)); |
441 | 445 |
442 return adapter; | 446 return adapter; |
443 } | 447 } |
444 | 448 |
445 // static | 449 // static |
446 scoped_refptr<NiceMockBluetoothAdapter> | 450 scoped_refptr<NiceMockBluetoothAdapter> |
451 LayoutTestBluetoothAdapterProvider::GetEmptyNameHeartRateAdapter() { | |
452 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); | |
453 std::unique_ptr<NiceMockBluetoothDevice> device( | |
454 GetHeartRateDevice(adapter.get(), /* device_name */ std::string(""))); | |
ortuno
2016/07/31 18:00:05
optional nit: you can use base::EmptyString()
htt
scheib
2016/08/02 03:24:33
No longer needed, but also FYI reading the comment
| |
455 | |
456 // TODO(ortuno): Implement the rest of the service's characteristics | |
457 // See: http://crbug.com/529975 | |
458 | |
459 device->AddMockService(GetGenericAccessService(device.get())); | |
460 device->AddMockService(GetHeartRateService(adapter.get(), device.get())); | |
461 | |
462 adapter->AddMockDevice(std::move(device)); | |
463 | |
464 return adapter; | |
465 } | |
466 | |
467 // static | |
468 scoped_refptr<NiceMockBluetoothAdapter> | |
469 LayoutTestBluetoothAdapterProvider::GetNoNameHeartRateAdapter() { | |
470 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); | |
471 std::unique_ptr<NiceMockBluetoothDevice> device(GetHeartRateDevice( | |
472 adapter.get(), | |
473 /* device_name set to Null. base::nullopt doesn't work due to multiple | |
474 possible type conversions. */ | |
475 base::Optional<std::string>())); | |
476 | |
477 // TODO(ortuno): Implement the rest of the service's characteristics | |
478 // See: http://crbug.com/529975 | |
479 | |
480 device->AddMockService(GetGenericAccessService(device.get())); | |
481 device->AddMockService(GetHeartRateService(adapter.get(), device.get())); | |
482 | |
483 adapter->AddMockDevice(std::move(device)); | |
484 | |
485 return adapter; | |
486 } | |
487 | |
488 // static | |
489 scoped_refptr<NiceMockBluetoothAdapter> | |
447 LayoutTestBluetoothAdapterProvider::GetTwoHeartRateServicesAdapter() { | 490 LayoutTestBluetoothAdapterProvider::GetTwoHeartRateServicesAdapter() { |
448 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); | 491 scoped_refptr<NiceMockBluetoothAdapter> adapter(GetEmptyAdapter()); |
449 std::unique_ptr<NiceMockBluetoothDevice> device( | 492 std::unique_ptr<NiceMockBluetoothDevice> device( |
450 GetHeartRateDevice(adapter.get())); | 493 GetHeartRateDevice(adapter.get())); |
451 | 494 |
452 device->AddMockService(GetGenericAccessService(device.get())); | 495 device->AddMockService(GetGenericAccessService(device.get())); |
453 | 496 |
454 // First Heart Rate Service has one Heart Rate Measurement characteristic | 497 // First Heart Rate Service has one Heart Rate Measurement characteristic |
455 // and one Body Sensor Location characteristic. | 498 // and one Body Sensor Location characteristic. |
456 std::unique_ptr<NiceMockBluetoothGattService> first_heart_rate( | 499 std::unique_ptr<NiceMockBluetoothGattService> first_heart_rate( |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
623 | 666 |
624 return discovery_session; | 667 return discovery_session; |
625 } | 668 } |
626 | 669 |
627 // Devices | 670 // Devices |
628 | 671 |
629 // static | 672 // static |
630 std::unique_ptr<NiceMockBluetoothDevice> | 673 std::unique_ptr<NiceMockBluetoothDevice> |
631 LayoutTestBluetoothAdapterProvider::GetBaseDevice( | 674 LayoutTestBluetoothAdapterProvider::GetBaseDevice( |
632 MockBluetoothAdapter* adapter, | 675 MockBluetoothAdapter* adapter, |
633 const std::string& device_name, | 676 const base::Optional<std::string>& device_name, |
634 device::BluetoothDevice::UUIDList uuids, | 677 device::BluetoothDevice::UUIDList uuids, |
635 const std::string& address) { | 678 const std::string& address) { |
636 std::unique_ptr<NiceMockBluetoothDevice> device(new NiceMockBluetoothDevice( | 679 std::unique_ptr<NiceMockBluetoothDevice> device(new NiceMockBluetoothDevice( |
637 adapter, 0x1F00 /* Bluetooth class */, device_name, address, | 680 adapter, 0x1F00 /* Bluetooth class */, device_name, address, |
638 true /* paired */, true /* connected */)); | 681 true /* paired */, true /* connected */)); |
639 | 682 |
640 ON_CALL(*device, GetUUIDs()).WillByDefault(Return(uuids)); | 683 ON_CALL(*device, GetUUIDs()).WillByDefault(Return(uuids)); |
641 | 684 |
642 // Using Invoke allows the device returned from this method to be futher | 685 // Using Invoke allows the device returned from this method to be futher |
643 // modified and have more services added to it. The call to ::GetGattServices | 686 // modified and have more services added to it. The call to ::GetGattServices |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
679 uuids.push_back(BluetoothUUID(kGlucoseServiceUUID)); | 722 uuids.push_back(BluetoothUUID(kGlucoseServiceUUID)); |
680 uuids.push_back(BluetoothUUID(kTxPowerServiceUUID)); | 723 uuids.push_back(BluetoothUUID(kTxPowerServiceUUID)); |
681 | 724 |
682 return GetBaseDevice(adapter, "Glucose Device", uuids, makeMACAddress(0x2)); | 725 return GetBaseDevice(adapter, "Glucose Device", uuids, makeMACAddress(0x2)); |
683 } | 726 } |
684 | 727 |
685 // static | 728 // static |
686 std::unique_ptr<NiceMockBluetoothDevice> | 729 std::unique_ptr<NiceMockBluetoothDevice> |
687 LayoutTestBluetoothAdapterProvider::GetConnectableDevice( | 730 LayoutTestBluetoothAdapterProvider::GetConnectableDevice( |
688 device::MockBluetoothAdapter* adapter, | 731 device::MockBluetoothAdapter* adapter, |
689 const std::string& device_name, | 732 const base::Optional<std::string>& device_name, |
690 BluetoothDevice::UUIDList uuids, | 733 BluetoothDevice::UUIDList uuids, |
691 const std::string& address) { | 734 const std::string& address) { |
692 std::unique_ptr<NiceMockBluetoothDevice> device( | 735 std::unique_ptr<NiceMockBluetoothDevice> device( |
693 GetBaseDevice(adapter, device_name, uuids, address)); | 736 GetBaseDevice(adapter, device_name, uuids, address)); |
694 | 737 |
695 MockBluetoothDevice* device_ptr = device.get(); | 738 MockBluetoothDevice* device_ptr = device.get(); |
696 | 739 |
697 ON_CALL(*device, CreateGattConnection(_, _)) | 740 ON_CALL(*device, CreateGattConnection(_, _)) |
698 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( | 741 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( |
699 [adapter, device_ptr]() { | 742 [adapter, device_ptr]() { |
(...skipping 21 matching lines...) Expand all Loading... | |
721 | 764 |
722 ON_CALL(*device, CreateGattConnection(_, _)) | 765 ON_CALL(*device, CreateGattConnection(_, _)) |
723 .WillByDefault(RunCallback<1 /* error_callback */>(error_code)); | 766 .WillByDefault(RunCallback<1 /* error_callback */>(error_code)); |
724 | 767 |
725 return device; | 768 return device; |
726 } | 769 } |
727 | 770 |
728 // static | 771 // static |
729 std::unique_ptr<NiceMockBluetoothDevice> | 772 std::unique_ptr<NiceMockBluetoothDevice> |
730 LayoutTestBluetoothAdapterProvider::GetHeartRateDevice( | 773 LayoutTestBluetoothAdapterProvider::GetHeartRateDevice( |
731 MockBluetoothAdapter* adapter) { | 774 MockBluetoothAdapter* adapter, |
775 const base::Optional<std::string>& device_name) { | |
732 BluetoothDevice::UUIDList uuids; | 776 BluetoothDevice::UUIDList uuids; |
733 uuids.push_back(BluetoothUUID(kGenericAccessServiceUUID)); | 777 uuids.push_back(BluetoothUUID(kGenericAccessServiceUUID)); |
734 uuids.push_back(BluetoothUUID(kHeartRateServiceUUID)); | 778 uuids.push_back(BluetoothUUID(kHeartRateServiceUUID)); |
735 | 779 |
736 return GetConnectableDevice(adapter, "Heart Rate Device", uuids); | 780 return GetConnectableDevice(adapter, device_name, uuids); |
737 } | 781 } |
738 | 782 |
739 // Services | 783 // Services |
740 | 784 |
741 // static | 785 // static |
742 std::unique_ptr<NiceMockBluetoothGattService> | 786 std::unique_ptr<NiceMockBluetoothGattService> |
743 LayoutTestBluetoothAdapterProvider::GetBaseGATTService( | 787 LayoutTestBluetoothAdapterProvider::GetBaseGATTService( |
744 const std::string& identifier, | 788 const std::string& identifier, |
745 MockBluetoothDevice* device, | 789 MockBluetoothDevice* device, |
746 const std::string& uuid) { | 790 const std::string& uuid) { |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1081 return BluetoothUUID(); | 1125 return BluetoothUUID(); |
1082 } | 1126 } |
1083 | 1127 |
1084 // static | 1128 // static |
1085 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) { | 1129 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) { |
1086 return BluetoothDevice::CanonicalizeAddress( | 1130 return BluetoothDevice::CanonicalizeAddress( |
1087 base::StringPrintf("%012" PRIx64, addr)); | 1131 base::StringPrintf("%012" PRIx64, addr)); |
1088 } | 1132 } |
1089 | 1133 |
1090 } // namespace content | 1134 } // namespace content |
OLD | NEW |