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

Side by Side Diff: content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc

Issue 1898643002: Refactor device::BluetoothGattXXX classes to split into remote/local. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
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 11 matching lines...) Expand all
22 #include "device/bluetooth/bluetooth_uuid.h" 22 #include "device/bluetooth/bluetooth_uuid.h"
23 #include "device/bluetooth/test/mock_bluetooth_adapter.h" 23 #include "device/bluetooth/test/mock_bluetooth_adapter.h"
24 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h" 24 #include "device/bluetooth/test/mock_bluetooth_discovery_session.h"
25 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" 25 #include "device/bluetooth/test/mock_bluetooth_gatt_connection.h"
26 #include "device/bluetooth/test/mock_bluetooth_gatt_notify_session.h" 26 #include "device/bluetooth/test/mock_bluetooth_gatt_notify_session.h"
27 #include "testing/gmock/include/gmock/gmock.h" 27 #include "testing/gmock/include/gmock/gmock.h"
28 28
29 using base::StringPiece; 29 using base::StringPiece;
30 using device::BluetoothAdapter; 30 using device::BluetoothAdapter;
31 using device::BluetoothDevice; 31 using device::BluetoothDevice;
32 using device::BluetoothGattCharacteristic; 32 using device::BluetoothRemoteGattCharacteristic;
33 using device::BluetoothGattService; 33 using device::BluetoothRemoteGattService;
34 using device::BluetoothUUID; 34 using device::BluetoothUUID;
35 using device::MockBluetoothAdapter; 35 using device::MockBluetoothAdapter;
36 using device::MockBluetoothDevice; 36 using device::MockBluetoothDevice;
37 using device::MockBluetoothDiscoverySession; 37 using device::MockBluetoothDiscoverySession;
38 using device::MockBluetoothGattCharacteristic; 38 using device::MockBluetoothGattCharacteristic;
39 using device::MockBluetoothGattConnection; 39 using device::MockBluetoothGattConnection;
40 using device::MockBluetoothGattNotifySession; 40 using device::MockBluetoothGattNotifySession;
41 using device::MockBluetoothGattService; 41 using device::MockBluetoothGattService;
42 using testing::ElementsAre; 42 using testing::ElementsAre;
43 using testing::Invoke; 43 using testing::Invoke;
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 MockBluetoothAdapter* adapter_ptr = adapter.get(); 446 MockBluetoothAdapter* adapter_ptr = adapter.get();
447 MockBluetoothDevice* device_ptr = device.get(); 447 MockBluetoothDevice* device_ptr = device.get();
448 448
449 // Override the previous mock implementation of 449 // Override the previous mock implementation of
450 // IsGattServicesDiscoveryComplete so that the first time the function is 450 // IsGattServicesDiscoveryComplete so that the first time the function is
451 // called it returns false, adds a service and posts a task to notify 451 // called it returns false, adds a service and posts a task to notify
452 // the services have been discovered. Subsequent calls to the function 452 // the services have been discovered. Subsequent calls to the function
453 // will return true. 453 // will return true.
454 ON_CALL(*device, IsGattServicesDiscoveryComplete()) 454 ON_CALL(*device, IsGattServicesDiscoveryComplete())
455 .WillByDefault(Invoke([adapter_ptr, device_ptr] { 455 .WillByDefault(Invoke([adapter_ptr, device_ptr] {
456 std::vector<BluetoothGattService*> services = 456 std::vector<BluetoothRemoteGattService*> services =
457 device_ptr->GetMockServices(); 457 device_ptr->GetMockServices();
458 458
459 if (services.size() == 0) { 459 if (services.size() == 0) {
460 std::unique_ptr<NiceMockBluetoothGattService> heart_rate( 460 std::unique_ptr<NiceMockBluetoothGattService> heart_rate(
461 GetBaseGATTService(device_ptr, kHeartRateServiceUUID)); 461 GetBaseGATTService(device_ptr, kHeartRateServiceUUID));
462 462
463 device_ptr->AddMockService(std::move(heart_rate)); 463 device_ptr->AddMockService(std::move(heart_rate));
464 base::ThreadTaskRunnerHandle::Get()->PostTask( 464 base::ThreadTaskRunnerHandle::Get()->PostTask(
465 FROM_HERE, 465 FROM_HERE,
466 base::Bind(&NotifyServicesDiscovered, 466 base::Bind(&NotifyServicesDiscovered,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 544
545 BluetoothDevice::UUIDList uuids; 545 BluetoothDevice::UUIDList uuids;
546 uuids.push_back(BluetoothUUID(errorsServiceUUID)); 546 uuids.push_back(BluetoothUUID(errorsServiceUUID));
547 547
548 std::unique_ptr<NiceMockBluetoothDevice> device( 548 std::unique_ptr<NiceMockBluetoothDevice> device(
549 GetConnectableDevice(adapter.get(), "Errors Device", uuids)); 549 GetConnectableDevice(adapter.get(), "Errors Device", uuids));
550 550
551 std::unique_ptr<NiceMockBluetoothGattService> service( 551 std::unique_ptr<NiceMockBluetoothGattService> service(
552 GetBaseGATTService(device.get(), errorsServiceUUID)); 552 GetBaseGATTService(device.get(), errorsServiceUUID));
553 553
554 for (int error = BluetoothGattService::GATT_ERROR_UNKNOWN; 554 for (int error = BluetoothRemoteGattService::GATT_ERROR_UNKNOWN;
555 error <= BluetoothGattService::GATT_ERROR_NOT_SUPPORTED; error++) { 555 error <= BluetoothRemoteGattService::GATT_ERROR_NOT_SUPPORTED; error++) {
556 service->AddMockCharacteristic(GetErrorCharacteristic( 556 service->AddMockCharacteristic(GetErrorCharacteristic(
557 service.get(), 557 service.get(),
558 static_cast<BluetoothGattService::GattErrorCode>(error))); 558 static_cast<BluetoothRemoteGattService::GattErrorCode>(error)));
559 } 559 }
560 560
561 device->AddMockService(std::move(service)); 561 device->AddMockService(std::move(service));
562 adapter->AddMockDevice(std::move(device)); 562 adapter->AddMockDevice(std::move(device));
563 563
564 return adapter; 564 return adapter;
565 } 565 }
566 566
567 // Discovery Sessions 567 // Discovery Sessions
568 568
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 std::unique_ptr<NiceMockBluetoothGattService> 719 std::unique_ptr<NiceMockBluetoothGattService>
720 LayoutTestBluetoothAdapterProvider::GetBlacklistTestService( 720 LayoutTestBluetoothAdapterProvider::GetBlacklistTestService(
721 device::MockBluetoothDevice* device) { 721 device::MockBluetoothDevice* device) {
722 std::unique_ptr<NiceMockBluetoothGattService> blacklist_test_service( 722 std::unique_ptr<NiceMockBluetoothGattService> blacklist_test_service(
723 GetBaseGATTService(device, kBlacklistTestServiceUUID)); 723 GetBaseGATTService(device, kBlacklistTestServiceUUID));
724 724
725 std::unique_ptr<NiceMockBluetoothGattCharacteristic> 725 std::unique_ptr<NiceMockBluetoothGattCharacteristic>
726 blacklist_exclude_reads_characteristic(GetBaseGATTCharacteristic( 726 blacklist_exclude_reads_characteristic(GetBaseGATTCharacteristic(
727 "Excluded Reads Characteristic", blacklist_test_service.get(), 727 "Excluded Reads Characteristic", blacklist_test_service.get(),
728 kBlacklistExcludeReadsCharacteristicUUID, 728 kBlacklistExcludeReadsCharacteristicUUID,
729 BluetoothGattCharacteristic::PROPERTY_READ | 729 BluetoothRemoteGattCharacteristic::PROPERTY_READ |
730 BluetoothGattCharacteristic::PROPERTY_WRITE)); 730 BluetoothRemoteGattCharacteristic::PROPERTY_WRITE));
731 731
732 // Crash if ReadRemoteCharacteristic called. Not using GoogleMock's Expect 732 // Crash if ReadRemoteCharacteristic called. Not using GoogleMock's Expect
733 // because this is used in layout tests that may not report a mock expectation 733 // because this is used in layout tests that may not report a mock expectation
734 // error correctly as a layout test failure. 734 // error correctly as a layout test failure.
735 ON_CALL(*blacklist_exclude_reads_characteristic, 735 ON_CALL(*blacklist_exclude_reads_characteristic,
736 ReadRemoteCharacteristic(_, _)) 736 ReadRemoteCharacteristic(_, _))
737 .WillByDefault( 737 .WillByDefault(
738 Invoke([](const BluetoothGattCharacteristic::ValueCallback&, 738 Invoke([](const BluetoothRemoteGattCharacteristic::ValueCallback&,
739 const BluetoothGattCharacteristic::ErrorCallback&) { 739 const BluetoothRemoteGattCharacteristic::ErrorCallback&) {
740 NOTREACHED(); 740 NOTREACHED();
741 })); 741 }));
742 742
743 // Write response. 743 // Write response.
744 ON_CALL(*blacklist_exclude_reads_characteristic, 744 ON_CALL(*blacklist_exclude_reads_characteristic,
745 WriteRemoteCharacteristic(_, _, _)) 745 WriteRemoteCharacteristic(_, _, _))
746 .WillByDefault(RunCallback<1 /* success callback */>()); 746 .WillByDefault(RunCallback<1 /* success callback */>());
747 747
748 blacklist_test_service->AddMockCharacteristic( 748 blacklist_test_service->AddMockCharacteristic(
749 std::move(blacklist_exclude_reads_characteristic)); 749 std::move(blacklist_exclude_reads_characteristic));
750 750
751 return blacklist_test_service; 751 return blacklist_test_service;
752 } 752 }
753 753
754 // static 754 // static
755 std::unique_ptr<NiceMockBluetoothGattService> 755 std::unique_ptr<NiceMockBluetoothGattService>
756 LayoutTestBluetoothAdapterProvider::GetDeviceInformationService( 756 LayoutTestBluetoothAdapterProvider::GetDeviceInformationService(
757 device::MockBluetoothDevice* device) { 757 device::MockBluetoothDevice* device) {
758 std::unique_ptr<NiceMockBluetoothGattService> device_information( 758 std::unique_ptr<NiceMockBluetoothGattService> device_information(
759 GetBaseGATTService(device, kDeviceInformationServiceUUID)); 759 GetBaseGATTService(device, kDeviceInformationServiceUUID));
760 760
761 std::unique_ptr<NiceMockBluetoothGattCharacteristic> serial_number_string( 761 std::unique_ptr<NiceMockBluetoothGattCharacteristic> serial_number_string(
762 GetBaseGATTCharacteristic( 762 GetBaseGATTCharacteristic(
763 "Serial Number String", device_information.get(), 763 "Serial Number String", device_information.get(),
764 kSerialNumberStringUUID, BluetoothGattCharacteristic::PROPERTY_READ)); 764 kSerialNumberStringUUID,
765 BluetoothRemoteGattCharacteristic::PROPERTY_READ));
765 766
766 // Crash if ReadRemoteCharacteristic called. Not using GoogleMock's Expect 767 // Crash if ReadRemoteCharacteristic called. Not using GoogleMock's Expect
767 // because this is used in layout tests that may not report a mock expectation 768 // because this is used in layout tests that may not report a mock expectation
768 // error correctly as a layout test failure. 769 // error correctly as a layout test failure.
769 ON_CALL(*serial_number_string, ReadRemoteCharacteristic(_, _)) 770 ON_CALL(*serial_number_string, ReadRemoteCharacteristic(_, _))
770 .WillByDefault( 771 .WillByDefault(
771 Invoke([](const BluetoothGattCharacteristic::ValueCallback&, 772 Invoke([](const BluetoothRemoteGattCharacteristic::ValueCallback&,
772 const BluetoothGattCharacteristic::ErrorCallback&) { 773 const BluetoothRemoteGattCharacteristic::ErrorCallback&) {
773 NOTREACHED(); 774 NOTREACHED();
774 })); 775 }));
775 776
776 device_information->AddMockCharacteristic(std::move(serial_number_string)); 777 device_information->AddMockCharacteristic(std::move(serial_number_string));
777 778
778 return device_information; 779 return device_information;
779 } 780 }
780 781
781 // static 782 // static
782 std::unique_ptr<NiceMockBluetoothGattService> 783 std::unique_ptr<NiceMockBluetoothGattService>
783 LayoutTestBluetoothAdapterProvider::GetGenericAccessService( 784 LayoutTestBluetoothAdapterProvider::GetGenericAccessService(
784 device::MockBluetoothDevice* device) { 785 device::MockBluetoothDevice* device) {
785 std::unique_ptr<NiceMockBluetoothGattService> generic_access( 786 std::unique_ptr<NiceMockBluetoothGattService> generic_access(
786 GetBaseGATTService(device, kGenericAccessServiceUUID)); 787 GetBaseGATTService(device, kGenericAccessServiceUUID));
787 788
788 { // Device Name: 789 { // Device Name:
789 std::unique_ptr<NiceMockBluetoothGattCharacteristic> device_name( 790 std::unique_ptr<NiceMockBluetoothGattCharacteristic> device_name(
790 GetBaseGATTCharacteristic( 791 GetBaseGATTCharacteristic(
791 "Device Name", generic_access.get(), kDeviceNameUUID, 792 "Device Name", generic_access.get(), kDeviceNameUUID,
792 BluetoothGattCharacteristic::PROPERTY_READ | 793 BluetoothRemoteGattCharacteristic::PROPERTY_READ |
793 BluetoothGattCharacteristic::PROPERTY_WRITE)); 794 BluetoothRemoteGattCharacteristic::PROPERTY_WRITE));
794 795
795 // Read response. 796 // Read response.
796 std::string device_name_str = device->GetDeviceName(); 797 std::string device_name_str = device->GetDeviceName();
797 std::vector<uint8_t> device_name_value(device_name_str.begin(), 798 std::vector<uint8_t> device_name_value(device_name_str.begin(),
798 device_name_str.end()); 799 device_name_str.end());
799 800
800 ON_CALL(*device_name, ReadRemoteCharacteristic(_, _)) 801 ON_CALL(*device_name, ReadRemoteCharacteristic(_, _))
801 .WillByDefault(RunCallback<0>(device_name_value)); 802 .WillByDefault(RunCallback<0>(device_name_value));
802 803
803 // Write response. 804 // Write response.
804 ON_CALL(*device_name, WriteRemoteCharacteristic(_, _, _)) 805 ON_CALL(*device_name, WriteRemoteCharacteristic(_, _, _))
805 .WillByDefault(RunCallback<1 /* success callback */>()); 806 .WillByDefault(RunCallback<1 /* success callback */>());
806 807
807 generic_access->AddMockCharacteristic(std::move(device_name)); 808 generic_access->AddMockCharacteristic(std::move(device_name));
808 } 809 }
809 810
810 { // Peripheral Privacy Flag: 811 { // Peripheral Privacy Flag:
811 std::unique_ptr<NiceMockBluetoothGattCharacteristic> 812 std::unique_ptr<NiceMockBluetoothGattCharacteristic>
812 peripheral_privacy_flag(GetBaseGATTCharacteristic( 813 peripheral_privacy_flag(GetBaseGATTCharacteristic(
813 "Peripheral Privacy Flag", generic_access.get(), 814 "Peripheral Privacy Flag", generic_access.get(),
814 kPeripheralPrivacyFlagUUID, 815 kPeripheralPrivacyFlagUUID,
815 BluetoothGattCharacteristic::PROPERTY_READ | 816 BluetoothRemoteGattCharacteristic::PROPERTY_READ |
816 BluetoothGattCharacteristic::PROPERTY_WRITE)); 817 BluetoothRemoteGattCharacteristic::PROPERTY_WRITE));
817 818
818 // Read response. 819 // Read response.
819 std::vector<uint8_t> value(1); 820 std::vector<uint8_t> value(1);
820 value[0] = false; 821 value[0] = false;
821 822
822 ON_CALL(*peripheral_privacy_flag, ReadRemoteCharacteristic(_, _)) 823 ON_CALL(*peripheral_privacy_flag, ReadRemoteCharacteristic(_, _))
823 .WillByDefault(RunCallback<0>(value)); 824 .WillByDefault(RunCallback<0>(value));
824 825
825 // Crash if WriteRemoteCharacteristic called. Not using GoogleMock's Expect 826 // Crash if WriteRemoteCharacteristic called. Not using GoogleMock's Expect
826 // because this is used in layout tests that may not report a mock 827 // because this is used in layout tests that may not report a mock
827 // expectation error correctly as a layout test failure. 828 // expectation error correctly as a layout test failure.
828 ON_CALL(*peripheral_privacy_flag, WriteRemoteCharacteristic(_, _, _)) 829 ON_CALL(*peripheral_privacy_flag, WriteRemoteCharacteristic(_, _, _))
829 .WillByDefault( 830 .WillByDefault(
830 Invoke([](const std::vector<uint8_t>&, const base::Closure&, 831 Invoke([](const std::vector<uint8_t>&, const base::Closure&,
831 const BluetoothGattCharacteristic::ErrorCallback&) { 832 const BluetoothRemoteGattCharacteristic::ErrorCallback&) {
832 NOTREACHED(); 833 NOTREACHED();
833 })); 834 }));
834 835
835 generic_access->AddMockCharacteristic(std::move(peripheral_privacy_flag)); 836 generic_access->AddMockCharacteristic(std::move(peripheral_privacy_flag));
836 } 837 }
837 838
838 return generic_access; 839 return generic_access;
839 } 840 }
840 841
841 // static 842 // static
842 std::unique_ptr<NiceMockBluetoothGattService> 843 std::unique_ptr<NiceMockBluetoothGattService>
843 LayoutTestBluetoothAdapterProvider::GetHeartRateService( 844 LayoutTestBluetoothAdapterProvider::GetHeartRateService(
844 MockBluetoothAdapter* adapter, 845 MockBluetoothAdapter* adapter,
845 MockBluetoothDevice* device) { 846 MockBluetoothDevice* device) {
846 std::unique_ptr<NiceMockBluetoothGattService> heart_rate( 847 std::unique_ptr<NiceMockBluetoothGattService> heart_rate(
847 GetBaseGATTService(device, kHeartRateServiceUUID)); 848 GetBaseGATTService(device, kHeartRateServiceUUID));
848 849
849 // Heart Rate Measurement 850 // Heart Rate Measurement
850 std::unique_ptr<NiceMockBluetoothGattCharacteristic> heart_rate_measurement( 851 std::unique_ptr<NiceMockBluetoothGattCharacteristic> heart_rate_measurement(
851 GetBaseGATTCharacteristic("Heart Rate Measurement", heart_rate.get(), 852 GetBaseGATTCharacteristic(
852 kHeartRateMeasurementUUID, 853 "Heart Rate Measurement", heart_rate.get(), kHeartRateMeasurementUUID,
853 BluetoothGattCharacteristic::PROPERTY_NOTIFY)); 854 BluetoothRemoteGattCharacteristic::PROPERTY_NOTIFY));
854 NiceMockBluetoothGattCharacteristic* measurement_ptr = 855 NiceMockBluetoothGattCharacteristic* measurement_ptr =
855 heart_rate_measurement.get(); 856 heart_rate_measurement.get();
856 857
857 ON_CALL(*heart_rate_measurement, StartNotifySession(_, _)) 858 ON_CALL(*heart_rate_measurement, StartNotifySession(_, _))
858 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( 859 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>(
859 [adapter, measurement_ptr]() { 860 [adapter, measurement_ptr]() {
860 std::unique_ptr<NiceMockBluetoothGattNotifySession> notify_session( 861 std::unique_ptr<NiceMockBluetoothGattNotifySession> notify_session(
861 GetBaseGATTNotifySession(measurement_ptr->GetIdentifier())); 862 GetBaseGATTNotifySession(measurement_ptr->GetIdentifier()));
862 863
863 std::vector<uint8_t> rate(1 /* size */); 864 std::vector<uint8_t> rate(1 /* size */);
864 rate[0] = 60; 865 rate[0] = 60;
865 866
866 notify_session->StartTestNotifications(adapter, measurement_ptr, 867 notify_session->StartTestNotifications(adapter, measurement_ptr,
867 rate); 868 rate);
868 869
869 return notify_session; 870 return notify_session;
870 })); 871 }));
871 872
872 // Body Sensor Location Characteristic (Chest) 873 // Body Sensor Location Characteristic (Chest)
873 std::unique_ptr<NiceMockBluetoothGattCharacteristic> 874 std::unique_ptr<NiceMockBluetoothGattCharacteristic>
874 body_sensor_location_chest(GetBaseGATTCharacteristic( 875 body_sensor_location_chest(GetBaseGATTCharacteristic(
875 "Body Sensor Location Chest", heart_rate.get(), kBodySensorLocation, 876 "Body Sensor Location Chest", heart_rate.get(), kBodySensorLocation,
876 BluetoothGattCharacteristic::PROPERTY_READ)); 877 BluetoothRemoteGattCharacteristic::PROPERTY_READ));
877 BluetoothGattCharacteristic* location_chest_ptr = 878 BluetoothRemoteGattCharacteristic* location_chest_ptr =
878 body_sensor_location_chest.get(); 879 body_sensor_location_chest.get();
879 880
880 ON_CALL(*body_sensor_location_chest, ReadRemoteCharacteristic(_, _)) 881 ON_CALL(*body_sensor_location_chest, ReadRemoteCharacteristic(_, _))
881 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( 882 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>(
882 [adapter, location_chest_ptr]() { 883 [adapter, location_chest_ptr]() {
883 std::vector<uint8_t> location(1 /* size */); 884 std::vector<uint8_t> location(1 /* size */);
884 location[0] = 1; // Chest 885 location[0] = 1; // Chest
885 // Read a characteristic has a side effect of 886 // Read a characteristic has a side effect of
886 // GattCharacteristicValueChanged being called. 887 // GattCharacteristicValueChanged being called.
887 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, 888 FOR_EACH_OBSERVER(BluetoothAdapter::Observer,
888 adapter->GetObservers(), 889 adapter->GetObservers(),
889 GattCharacteristicValueChanged( 890 GattCharacteristicValueChanged(
890 adapter, location_chest_ptr, location)); 891 adapter, location_chest_ptr, location));
891 return location; 892 return location;
892 })); 893 }));
893 894
894 // Body Sensor Location Characteristic (Wrist) 895 // Body Sensor Location Characteristic (Wrist)
895 std::unique_ptr<NiceMockBluetoothGattCharacteristic> 896 std::unique_ptr<NiceMockBluetoothGattCharacteristic>
896 body_sensor_location_wrist(GetBaseGATTCharacteristic( 897 body_sensor_location_wrist(GetBaseGATTCharacteristic(
897 "Body Sensor Location Wrist", heart_rate.get(), kBodySensorLocation, 898 "Body Sensor Location Wrist", heart_rate.get(), kBodySensorLocation,
898 BluetoothGattCharacteristic::PROPERTY_READ)); 899 BluetoothRemoteGattCharacteristic::PROPERTY_READ));
899 BluetoothGattCharacteristic* location_wrist_ptr = 900 BluetoothRemoteGattCharacteristic* location_wrist_ptr =
900 body_sensor_location_wrist.get(); 901 body_sensor_location_wrist.get();
901 902
902 ON_CALL(*body_sensor_location_wrist, ReadRemoteCharacteristic(_, _)) 903 ON_CALL(*body_sensor_location_wrist, ReadRemoteCharacteristic(_, _))
903 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>( 904 .WillByDefault(RunCallbackWithResult<0 /* success_callback */>(
904 [adapter, location_wrist_ptr]() { 905 [adapter, location_wrist_ptr]() {
905 std::vector<uint8_t> location(1 /* size */); 906 std::vector<uint8_t> location(1 /* size */);
906 location[0] = 2; // Wrist 907 location[0] = 2; // Wrist
907 // Read a characteristic has a side effect of 908 // Read a characteristic has a side effect of
908 // GattCharacteristicValueChanged being called. 909 // GattCharacteristicValueChanged being called.
909 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, 910 FOR_EACH_OBSERVER(BluetoothAdapter::Observer,
(...skipping 11 matching lines...) Expand all
921 } 922 }
922 923
923 // Characteristics 924 // Characteristics
924 925
925 // static 926 // static
926 std::unique_ptr<NiceMockBluetoothGattCharacteristic> 927 std::unique_ptr<NiceMockBluetoothGattCharacteristic>
927 LayoutTestBluetoothAdapterProvider::GetBaseGATTCharacteristic( 928 LayoutTestBluetoothAdapterProvider::GetBaseGATTCharacteristic(
928 const std::string& identifier, 929 const std::string& identifier,
929 MockBluetoothGattService* service, 930 MockBluetoothGattService* service,
930 const std::string& uuid, 931 const std::string& uuid,
931 BluetoothGattCharacteristic::Properties properties) { 932 BluetoothRemoteGattCharacteristic::Properties properties) {
932 return base::WrapUnique(new NiceMockBluetoothGattCharacteristic( 933 return base::WrapUnique(new NiceMockBluetoothGattCharacteristic(
933 service, identifier, BluetoothUUID(uuid), false /* is_local */, 934 service, identifier, BluetoothUUID(uuid), false /* is_local */,
934 properties, NULL /* permissions */)); 935 properties, NULL /* permissions */));
935 } 936 }
936 937
937 // static 938 // static
938 std::unique_ptr<NiceMockBluetoothGattCharacteristic> 939 std::unique_ptr<NiceMockBluetoothGattCharacteristic>
939 LayoutTestBluetoothAdapterProvider::GetErrorCharacteristic( 940 LayoutTestBluetoothAdapterProvider::GetErrorCharacteristic(
940 MockBluetoothGattService* service, 941 MockBluetoothGattService* service,
941 BluetoothGattService::GattErrorCode error_code) { 942 BluetoothRemoteGattService::GattErrorCode error_code) {
942 uint32_t error_alias = error_code + 0xA1; // Error UUIDs start at 0xA1. 943 uint32_t error_alias = error_code + 0xA1; // Error UUIDs start at 0xA1.
943 std::unique_ptr<NiceMockBluetoothGattCharacteristic> characteristic( 944 std::unique_ptr<NiceMockBluetoothGattCharacteristic> characteristic(
944 GetBaseGATTCharacteristic( 945 GetBaseGATTCharacteristic(
945 // Use the UUID to generate unique identifiers. 946 // Use the UUID to generate unique identifiers.
946 "Error Characteristic " + errorUUID(error_alias), service, 947 "Error Characteristic " + errorUUID(error_alias), service,
947 errorUUID(error_alias), 948 errorUUID(error_alias),
948 BluetoothGattCharacteristic::PROPERTY_READ | 949 BluetoothRemoteGattCharacteristic::PROPERTY_READ |
949 BluetoothGattCharacteristic::PROPERTY_WRITE | 950 BluetoothRemoteGattCharacteristic::PROPERTY_WRITE |
950 BluetoothGattCharacteristic::PROPERTY_INDICATE)); 951 BluetoothRemoteGattCharacteristic::PROPERTY_INDICATE));
951 952
952 // Read response. 953 // Read response.
953 ON_CALL(*characteristic, ReadRemoteCharacteristic(_, _)) 954 ON_CALL(*characteristic, ReadRemoteCharacteristic(_, _))
954 .WillByDefault(RunCallback<1 /* error_callback */>(error_code)); 955 .WillByDefault(RunCallback<1 /* error_callback */>(error_code));
955 956
956 // Write response. 957 // Write response.
957 ON_CALL(*characteristic, WriteRemoteCharacteristic(_, _, _)) 958 ON_CALL(*characteristic, WriteRemoteCharacteristic(_, _, _))
958 .WillByDefault(RunCallback<2 /* error_callback */>(error_code)); 959 .WillByDefault(RunCallback<2 /* error_callback */>(error_code));
959 960
960 // StartNotifySession response 961 // StartNotifySession response
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 return BluetoothUUID(); 1036 return BluetoothUUID();
1036 } 1037 }
1037 1038
1038 // static 1039 // static
1039 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) { 1040 std::string LayoutTestBluetoothAdapterProvider::makeMACAddress(uint64_t addr) {
1040 return BluetoothDevice::CanonicalizeAddress( 1041 return BluetoothDevice::CanonicalizeAddress(
1041 base::StringPrintf("%012" PRIx64, addr)); 1042 base::StringPrintf("%012" PRIx64, addr));
1042 } 1043 }
1043 1044
1044 } // namespace content 1045 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h ('k') | device/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698