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
3 // found in the LICENSE file.
5 #ifndef DEVICE_BLUETOOTH_TEST_BLUETOOTH_ADAPTER_OBSERVER_H_
6 #define DEVICE_BLUETOOTH_TEST_BLUETOOTH_ADAPTER_OBSERVER_H_
8 #include "device/bluetooth/bluetooth_adapter.h"
12 // Test implementation of BluetoothAdapter::Observer counting method calls and
13 // caching last reported values.
14 class TestBluetoothAdapterObserver
: public BluetoothAdapter::Observer
{
16 TestBluetoothAdapterObserver(scoped_refptr
<BluetoothAdapter
> adapter
);
17 ~TestBluetoothAdapterObserver() override
;
19 // Reset counters and cached values.
22 // BluetoothAdapter::Observer
23 void AdapterPresentChanged(BluetoothAdapter
* adapter
, bool present
) override
;
24 void AdapterPoweredChanged(BluetoothAdapter
* adapter
, bool powered
) override
;
25 void AdapterDiscoverableChanged(BluetoothAdapter
* adapter
,
26 bool discoverable
) override
;
27 void AdapterDiscoveringChanged(BluetoothAdapter
* adapter
,
28 bool discovering
) override
;
29 void DeviceAdded(BluetoothAdapter
* adapter
, BluetoothDevice
* device
) override
;
30 void DeviceChanged(BluetoothAdapter
* adapter
,
31 BluetoothDevice
* device
) override
;
32 void DeviceRemoved(BluetoothAdapter
* adapter
,
33 BluetoothDevice
* device
) override
;
34 void GattServiceAdded(BluetoothAdapter
* adapter
,
35 BluetoothDevice
* device
,
36 BluetoothGattService
* service
) override
;
37 void GattServiceRemoved(BluetoothAdapter
* adapter
,
38 BluetoothDevice
* device
,
39 BluetoothGattService
* service
) override
;
40 void GattDiscoveryCompleteForService(BluetoothAdapter
* adapter
,
41 BluetoothGattService
* service
) override
;
42 void GattServiceChanged(BluetoothAdapter
* adapter
,
43 BluetoothGattService
* service
) override
;
44 void GattCharacteristicAdded(
45 BluetoothAdapter
* adapter
,
46 BluetoothGattCharacteristic
* characteristic
) override
;
47 void GattCharacteristicRemoved(
48 BluetoothAdapter
* adapter
,
49 BluetoothGattCharacteristic
* characteristic
) override
;
50 void GattDescriptorAdded(BluetoothAdapter
* adapter
,
51 BluetoothGattDescriptor
* descriptor
) override
;
52 void GattDescriptorRemoved(BluetoothAdapter
* adapter
,
53 BluetoothGattDescriptor
* descriptor
) override
;
54 void GattCharacteristicValueChanged(
55 BluetoothAdapter
* adapter
,
56 BluetoothGattCharacteristic
* characteristic
,
57 const std::vector
<uint8
>& value
) override
;
58 void GattDescriptorValueChanged(BluetoothAdapter
* adapter
,
59 BluetoothGattDescriptor
* descriptor
,
60 const std::vector
<uint8
>& value
) override
;
63 int present_changed_count() { return present_changed_count_
; }
64 int powered_changed_count() { return powered_changed_count_
; }
65 int discoverable_changed_count() { return discoverable_changed_count_
; }
66 int discovering_changed_count() { return discovering_changed_count_
; }
67 bool last_present() { return last_present_
; }
68 bool last_powered() { return last_powered_
; }
69 bool last_discovering() { return last_discovering_
; }
72 int device_added_count() { return device_added_count_
; }
73 int device_changed_count() { return device_changed_count_
; }
74 int device_removed_count() { return device_removed_count_
; }
75 BluetoothDevice
* last_device() { return last_device_
; }
76 std::string
last_device_address() { return last_device_address_
; }
79 int gatt_service_added_count() { return gatt_service_added_count_
; }
80 int gatt_service_removed_count() { return gatt_service_removed_count_
; }
81 int gatt_service_changed_count() { return gatt_service_changed_count_
; }
82 int gatt_discovery_complete_count() { return gatt_discovery_complete_count_
; }
83 int gatt_characteristic_added_count() {
84 return gatt_characteristic_added_count_
;
86 int gatt_characteristic_removed_count() {
87 return gatt_characteristic_removed_count_
;
89 int gatt_characteristic_value_changed_count() {
90 return gatt_characteristic_value_changed_count_
;
92 int gatt_descriptor_added_count() { return gatt_descriptor_added_count_
; }
93 int gatt_descriptor_removed_count() { return gatt_descriptor_removed_count_
; }
94 int gatt_descriptor_value_changed_count() {
95 return gatt_descriptor_value_changed_count_
;
97 std::string
last_gatt_service_id() { return last_gatt_service_id_
; }
98 BluetoothUUID
last_gatt_service_uuid() { return last_gatt_service_uuid_
; }
99 std::string
last_gatt_characteristic_id() {
100 return last_gatt_characteristic_id_
;
102 BluetoothUUID
last_gatt_characteristic_uuid() {
103 return last_gatt_characteristic_uuid_
;
105 std::vector
<uint8
> last_changed_characteristic_value() {
106 return last_changed_characteristic_value_
;
108 std::string
last_gatt_descriptor_id() { return last_gatt_descriptor_id_
; }
109 BluetoothUUID
last_gatt_descriptor_uuid() {
110 return last_gatt_descriptor_uuid_
;
112 std::vector
<uint8
> last_changed_descriptor_value() {
113 return last_changed_descriptor_value_
;
117 // Some tests use a message loop since background processing is simulated;
118 // break out of those loops.
119 void QuitMessageLoop();
121 scoped_refptr
<BluetoothAdapter
> adapter_
;
124 int present_changed_count_
;
125 int powered_changed_count_
;
126 int discoverable_changed_count_
;
127 int discovering_changed_count_
;
130 bool last_discovering_
;
133 int device_added_count_
;
134 int device_changed_count_
;
135 int device_removed_count_
;
136 BluetoothDevice
* last_device_
;
137 std::string last_device_address_
;
140 int gatt_service_added_count_
;
141 int gatt_service_removed_count_
;
142 int gatt_service_changed_count_
;
143 int gatt_discovery_complete_count_
;
144 int gatt_characteristic_added_count_
;
145 int gatt_characteristic_removed_count_
;
146 int gatt_characteristic_value_changed_count_
;
147 int gatt_descriptor_added_count_
;
148 int gatt_descriptor_removed_count_
;
149 int gatt_descriptor_value_changed_count_
;
150 std::string last_gatt_service_id_
;
151 BluetoothUUID last_gatt_service_uuid_
;
152 std::string last_gatt_characteristic_id_
;
153 BluetoothUUID last_gatt_characteristic_uuid_
;
154 std::vector
<uint8
> last_changed_characteristic_value_
;
155 std::string last_gatt_descriptor_id_
;
156 BluetoothUUID last_gatt_descriptor_uuid_
;
157 std::vector
<uint8
> last_changed_descriptor_value_
;
159 DISALLOW_COPY_AND_ASSIGN(TestBluetoothAdapterObserver
);
162 } // namespace device
164 #endif // DEVICE_BLUETOOTH_TEST_BLUETOOTH_ADAPTER_OBSERVER_H_