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

Side by Side Diff: device/bluetooth/test/fake_bluetooth.h

Issue 2722473002: DO NOT SUBMIT. Stub implementation of FakeBluetooth mojo interface (Closed)
Patch Set: Created 3 years, 9 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
(Empty)
1 // Copyright 2017 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.
4
5 #ifndef DEVICE_BLUETOOTH_TEST_FAKE_BLUETOOTH_H_
6 #define DEVICE_BLUETOOTH_TEST_FAKE_BLUETOOTH_H_
7
8 #include <memory>
9 #include <string>
10
11 #include "device/bluetooth/bluetooth_adapter.h"
12 #include "device/bluetooth/bluetooth_remote_gatt_characteristic.h"
13 #include "device/bluetooth/bluetooth_remote_gatt_descriptor.h"
14 #include "device/bluetooth/bluetooth_export.h"
15 #include "device/bluetooth/bluetooth_uuid.h"
16 #include "device/bluetooth/public/interfaces/fake_bluetooth.mojom.h"
17 #include "mojo/public/cpp/bindings/binding.h"
18
19 namespace bluetooth {
20
21 class DEVICE_BLUETOOTH_EXPORT FakeBluetooth : public mojom::FakeBluetooth {
22 public:
23 FakeBluetooth();
24 ~FakeBluetooth() override;
25
26 static void Create(mojom::FakeBluetoothRequest request);
27
28 void SetLEAvailability(bool available,
29 const SetLEAvailabilityCallback& callback) override;
30 void SimulateLECentralManager(
31 mojom::FakeLECentralManagerOptionsPtr options,
32 const SimulateLECentralManagerCallback& callback) override;
33 };
34
35 class DEVICE_BLUETOOTH_EXPORT FakeLECentralManager
36 : public mojom::FakeLECentralManager,
37 device::BluetoothAdapter {
38 public:
39 FakeLECentralManager(mojom::FakeLECentralManagerOptionsPtr options,
40 mojom::FakeLECentralManagerRequest request);
41
42 // mojom::FakeLECentralManger overrides
43 void SimulateAdvertisementReceived(
44 mojom::ScanResultPtr result,
45 const SimulateAdvertisementReceivedCallback& callback) override;
46 void AddConnectedLEPeripheral(
47 mojom::FakeLEPeripheralOptionsPtr options,
48 const AddConnectedLEPeripheralCallback& callback) override;
49 void SetState(mojom::FakeLECentralManagerState state,
50 const SetStateCallback& callback) override;
51 void GetStartScanCalls(const GetStartScanCallsCallback& callback) override;
52 void GetStopScanCalls(const GetStopScanCallsCallback& callback) override;
53
54 // device::BluetoothAdapter overrides
55 std::string GetAddress() const override;
56 std::string GetName() const override;
57 void SetName(
58 const std::string& name,
59 const base::Closure& callback,
60 const device::BluetoothAdapter::ErrorCallback& error_callback) override;
61 bool IsInitialized() const override;
62 bool IsPresent() const override;
63 bool IsPowered() const override;
64 void SetPowered(
65 bool powered,
66 const base::Closure& callback,
67 const device::BluetoothAdapter::ErrorCallback& error_callback) override;
68 bool IsDiscoverable() const override;
69 void SetDiscoverable(bool discoverable,
70 const base::Closure& callback,
71 const ErrorCallback& error_callback) override;
72 bool IsDiscovering() const override;
73 device::BluetoothAdapter::UUIDList GetUUIDs() const override;
74 void CreateRfcommService(
75 const device::BluetoothUUID& uuid,
76 const device::BluetoothAdapter::ServiceOptions& options,
77 const device::BluetoothAdapter::CreateServiceCallback& callback,
78 const device::BluetoothAdapter::CreateServiceErrorCallback&
79 error_callback) override;
80 void CreateL2capService(
81 const device::BluetoothUUID& uuid,
82 const device::BluetoothAdapter::ServiceOptions& options,
83 const device::BluetoothAdapter::CreateServiceCallback& callback,
84 const device::BluetoothAdapter::CreateServiceErrorCallback&
85 error_callback) override;
86 void SetAdvertisingInterval(
87 const base::TimeDelta& min,
88 const base::TimeDelta& max,
89 const base::Closure& callback,
90 const device::BluetoothAdapter::AdvertisementErrorCallback&
91 error_callback) override;
92 void RegisterAdvertisement(
93 std::unique_ptr<device::BluetoothAdvertisement::Data> advertisement_data,
94 const device::BluetoothAdapter::CreateAdvertisementCallback& callback,
95 const device::BluetoothAdapter::AdvertisementErrorCallback& error_callback ) override;
96 device::BluetoothLocalGattService* GetGattService(
97 const std::string& identifier) const override;
98 void AddDiscoverySession(
99 device::BluetoothDiscoveryFilter* discovery_filter,
100 const base::Closure& callback,
101 const device::BluetoothAdapter::DiscoverySessionErrorCallback&
102 error_callback) override;
103 void RemoveDiscoverySession(
104 device::BluetoothDiscoveryFilter* discovery_filter,
105 const base::Closure& callback,
106 const device::BluetoothAdapter::DiscoverySessionErrorCallback&
107 error_callback) override;
108 void SetDiscoveryFilter(
109 std::unique_ptr<device::BluetoothDiscoveryFilter>
110 discovery_filter,
111 const base::Closure& callback,
112 const device::BluetoothAdapter::DiscoverySessionErrorCallback&
113 error_callback) override;
114 void RemovePairingDelegateInternal(
115 device::BluetoothDevice::PairingDelegate* pairing_delegate) override;
116
117 private:
118 ~FakeLECentralManager() override;
119
120 mojom::FakeLECentralManagerState state_;
121 mojo::Binding<mojom::FakeLECentralManager> binding_;
122
123 size_t start_scan_calls_;
124 size_t stop_scan_calls_;
125 };
126
127 class DEVICE_BLUETOOTH_EXPORT FakeLEPeripheral
128 : public mojom::FakeLEPeripheral , device::BluetoothDevice {
129 public:
130 explicit FakeLEPeripheral(const std::string& device_address);
131 ~FakeLEPeripheral() override;
132
133 void SimulateGATTConnection(
134 mojom::GATTConnectionResult result,
135 const SimulateGATTConnectionCallback& callback) override;
136 void SimulateGATTDiscoveryComplete(
137 const SimulateGATTDiscoveryCompleteCallback& callback) override;
138 void SimulateGATTServicesChanged(
139 const SimulateGATTServicesChangedCallback& callback) override;
140 void AddFakeService(mojom::FakeRemoteGATTServiceOptionsPtr options,
141 const AddFakeServiceCallback& callback) override;
142 void GetConnectCalls(const GetConnectCallsCallback& callback) override;
143 void GetDisconnectCalls(const GetDisconnectCallsCallback& callback) override;
144
145 uint32_t GetBluetoothClass() const override;
146 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
147 device::BluetoothTransport GetType() const override;
148 #endif
149 std::string GetIdentifier() const override;
150 std::string GetAddress() const override;
151 device::BluetoothDevice::VendorIDSource GetVendorIDSource() const override;
152 uint16_t GetVendorID() const override;
153 uint16_t GetProductID() const override;
154 uint16_t GetDeviceID() const override;
155 uint16_t GetAppearance() const override;
156 base::Optional<std::string> GetName() const override;
157 bool IsPaired() const override;
158 bool IsConnected() const override;
159 bool IsGattConnected() const override;
160 bool IsConnectable() const override;
161 bool IsConnecting() const override;
162 bool ExpectingPinCode() const override;
163 bool ExpectingPasskey() const override;
164 bool ExpectingConfirmation() const override;
165 void GetConnectionInfo(const device::BluetoothDevice::ConnectionInfoCallback& callback) override;
166 void Connect(device::BluetoothDevice::PairingDelegate* pairing_delegate,
167 const base::Closure& callback,
168 const device::BluetoothDevice::ConnectErrorCallback& error_callba ck) override;
169 void SetPinCode(const std::string& pincode) override;
170 void SetPasskey(uint32_t passkey) override;
171 void ConfirmPairing() override;
172 void RejectPairing() override;
173 void CancelPairing() override;
174 void Disconnect(const base::Closure& callback,
175 const device::BluetoothDevice::ErrorCallback& error_callback) override;
176 void Forget(const base::Closure& callback,
177 const device::BluetoothDevice::ErrorCallback& error_callback) over ride;
178 void ConnectToService(
179 const device::BluetoothUUID& uuid,
180 const device::BluetoothDevice::ConnectToServiceCallback& callback,
181 const device::BluetoothDevice::ConnectToServiceErrorCallback& error_callba ck) override;
182 void ConnectToServiceInsecurely(
183 const device::BluetoothUUID& uuid,
184 const device::BluetoothDevice::ConnectToServiceCallback& callback,
185 const device::BluetoothDevice::ConnectToServiceErrorCallback& error_callback ) override;
186
187 void CreateGattConnectionImpl() override;
188 void DisconnectGatt() override;
189
190 private:
191 std::string address_;
192
193 size_t connect_calls_;
194 size_t disconnect_calls_;
195 };
196
197 class DEVICE_BLUETOOTH_EXPORT FakeRemoteGATTService
198 : public mojom::FakeRemoteGATTService, device::BluetoothRemoteGattService {
199 public:
200 explicit FakeRemoteGATTService(
201 mojom::FakeRemoteGATTServiceOptionsPtr options);
202
203 void AddFakeCharacteristic(
204 mojom::FakeRemoteGATTCharacteristicOptionsPtr options,
205 const AddFakeCharacteristicCallback& callback) override;
206 void AddFakeIncludedService(
207 mojom::FakeRemoteGATTServiceOptionsPtr options,
208 const AddFakeIncludedServiceCallback& callback) override;
209
210 std::string GetIdentifier() const override;
211 device::BluetoothUUID GetUUID() const override;
212 device::BluetoothDevice* GetDevice() const override;
213 bool IsPrimary() const override;
214 std::vector<device::BluetoothRemoteGattCharacteristic*> GetCharacteristics() c onst override;
215 std::vector<device::BluetoothRemoteGattService*> GetIncludedServices() const o verride;
216 device::BluetoothRemoteGattCharacteristic* GetCharacteristic(const std::string & identifier) const override;
217
218 private:
219 std::string uuid_;
220 };
221
222 class DEVICE_BLUETOOTH_EXPORT FakeRemoteGATTCharacteristic
223 : public mojom::FakeRemoteGATTCharacteristic, device::BluetoothRemoteGattCha racteristic {
224 public:
225 explicit FakeRemoteGATTCharacteristic(
226 mojom::FakeRemoteGATTCharacteristicOptionsPtr options);
227 ~FakeRemoteGATTCharacteristic() override;
228
229 void SimulateRead(mojom::GATTOperationResult result,
230 const base::Optional<std::vector<uint8_t>>& value,
231 const SimulateReadCallback& callback) override;
232 void SimulateWrite(mojom::GATTOperationResult result,
233 const SimulateWriteCallback& callback) override;
234 void SimulateNotificationsStarted(
235 mojom::GATTOperationResult result,
236 const SimulateNotificationsStartedCallback& callback) override;
237 void SimulateNotificationsStopped(
238 mojom::GATTOperationResult result,
239 const SimulateNotificationsStoppedCallback& callback) override;
240 void SimulateNotification(
241 mojom::FakeNotificationOptionsPtr options,
242 const SimulateNotificationCallback& callback) override;
243 void AddFakeDescriptor(mojom::FakeRemoteGATTDescriptorOptionsPtr options,
244 const AddFakeDescriptorCallback& callback) override;
245 void GetReadCalls(const GetReadCallsCallback& callback) override;
246 void GetWriteCalls(const GetWriteCallsCallback& callback) override;
247 void GetStartNotificationsCalls(
248 const GetStartNotificationsCallsCallback& callback) override;
249 void GetStopNotificationsCalls(
250 const GetStopNotificationsCallsCallback& callback) override;
251
252 std::string GetIdentifier() const override;
253 device::BluetoothUUID GetUUID() const override;
254 device::BluetoothGattCharacteristic::Properties GetProperties() const override ;
255 device::BluetoothRemoteGattCharacteristic::Permissions GetPermissions() const override;
256 const std::vector<uint8_t>& GetValue() const override;
257 device::BluetoothRemoteGattService* GetService() const override;
258 std::vector<device::BluetoothRemoteGattDescriptor*> GetDescriptors() const ove rride;
259 device::BluetoothRemoteGattDescriptor* GetDescriptor(const std::string& identi fier) const override;
260 void ReadRemoteCharacteristic(const device::BluetoothRemoteGattCharacteristic: :ValueCallback& callback,
261 const device::BluetoothRemoteGattCharacteristic: :ErrorCallback& error_callback) override;
262 void WriteRemoteCharacteristic(const std::vector<uint8_t>& value,
263 const base::Closure& callback,
264 const device::BluetoothRemoteGattCharacteristic ::ErrorCallback& error_callback) override;
265 protected:
266 void SubscribeToNotifications(device::BluetoothRemoteGattDescriptor* ccc_descr iptor,
267 const base::Closure& callback,
268 const device::BluetoothRemoteGattCharacteristic: :ErrorCallback& error_callback) override;
269 void UnsubscribeFromNotifications(
270 device::BluetoothRemoteGattDescriptor* ccc_descriptor,
271 const base::Closure& callback,
272 const device::BluetoothRemoteGattCharacteristic::ErrorCallback& error_call back) override;
273
274 private:
275 std::vector<uint8_t> value_;
276
277 std::string uuid_;
278 int32_t permissions_;
279
280 size_t read_calls_;
281 size_t write_calls_;
282 size_t start_notifications_calls_;
283 size_t stop_notifications_calls_;
284 };
285
286 class DEVICE_BLUETOOTH_EXPORT FakeRemoteGATTDescriptor
287 : public mojom::FakeRemoteGATTDescriptor, device::BluetoothRemoteGattDescrip tor{
288 public:
289 explicit FakeRemoteGATTDescriptor(
290 mojom::FakeRemoteGATTDescriptorOptionsPtr options);
291 ~FakeRemoteGATTDescriptor() override;
292
293 void SimulateRead(mojom::GATTOperationResult result,
294 const base::Optional<std::vector<uint8_t>>& value,
295 const SimulateReadCallback& callback) override;
296 void SimulateWrite(mojom::GATTOperationResult result,
297 const SimulateWriteCallback& callback) override;
298
299 std::string GetIdentifier() const override;
300 device::BluetoothUUID GetUUID() const override;
301 device::BluetoothRemoteGattCharacteristic::Permissions GetPermissions() const override;
302 const std::vector<uint8_t>& GetValue() const override;
303 device::BluetoothRemoteGattCharacteristic* GetCharacteristic() const override;
304 void ReadRemoteDescriptor(const device::BluetoothRemoteGattCharacteristic::Val ueCallback& callback,
305 const device::BluetoothRemoteGattCharacteristic::Err orCallback& error_callback) override;
306 void WriteRemoteDescriptor(const std::vector<uint8_t>& new_value,
307 const base::Closure& callback,
308 const device::BluetoothRemoteGattCharacteristic::Er rorCallback& error_callback) override;
309
310 private:
311 std::string uuid_;
312
313 std::vector<uint8_t> value_;
314 };
315
316 } // namespace bluetooth
317 #endif
OLDNEW
« no previous file with comments | « device/bluetooth/public/interfaces/fake_bluetooth.mojom ('k') | device/bluetooth/test/fake_bluetooth.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698