Chromium Code Reviews| 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 |