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

Side by Side Diff: device/bluetooth/test/fake_peripheral.cc

Issue 2921233002: Revert of bluetooth: Implement simulateGATTConnectionResponse() (Closed)
Patch Set: Created 3 years, 6 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 2017 The Chromium Authors. All rights reserved. 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 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 "device/bluetooth/test/fake_peripheral.h" 5 #include "device/bluetooth/test/fake_peripheral.h"
6 6
7 #include "base/memory/weak_ptr.h"
8
9 namespace bluetooth { 7 namespace bluetooth {
10 8
11 FakePeripheral::FakePeripheral(FakeCentral* fake_central, 9 FakePeripheral::FakePeripheral(FakeCentral* fake_central,
12 const std::string& address) 10 const std::string& address)
13 : device::BluetoothDevice(fake_central), 11 : device::BluetoothDevice(fake_central),
14 address_(address), 12 address_(address),
15 system_connected_(false), 13 gatt_connected_(false) {}
16 gatt_connected_(false),
17 weak_ptr_factory_(this) {}
18 14
19 FakePeripheral::~FakePeripheral() {} 15 FakePeripheral::~FakePeripheral() {}
20 16
21 void FakePeripheral::SetName(base::Optional<std::string> name) { 17 void FakePeripheral::SetName(base::Optional<std::string> name) {
22 name_ = std::move(name); 18 name_ = std::move(name);
23 } 19 }
24 20
25 void FakePeripheral::SetSystemConnected(bool connected) { 21 void FakePeripheral::SetGattConnected(bool connected) {
26 system_connected_ = connected; 22 gatt_connected_ = connected;
27 } 23 }
28 24
29 void FakePeripheral::SetServiceUUIDs(UUIDSet service_uuids) { 25 void FakePeripheral::SetServiceUUIDs(UUIDSet service_uuids) {
30 service_uuids_ = std::move(service_uuids); 26 service_uuids_ = std::move(service_uuids);
31 } 27 }
32 28
33 void FakePeripheral::SetNextGATTConnectionResponse(uint16_t code) {
34 DCHECK(!next_connection_response_);
35 DCHECK(create_gatt_connection_error_callbacks_.empty());
36 next_connection_response_ = code;
37 }
38
39 uint32_t FakePeripheral::GetBluetoothClass() const { 29 uint32_t FakePeripheral::GetBluetoothClass() const {
40 NOTREACHED(); 30 NOTREACHED();
41 return 0; 31 return 0;
42 } 32 }
43 33
44 #if defined(OS_CHROMEOS) || defined(OS_LINUX) 34 #if defined(OS_CHROMEOS) || defined(OS_LINUX)
45 device::BluetoothTransport FakePeripheral::GetType() const { 35 device::BluetoothTransport FakePeripheral::GetType() const {
46 NOTREACHED(); 36 NOTREACHED();
47 return device::BLUETOOTH_TRANSPORT_INVALID; 37 return device::BLUETOOTH_TRANSPORT_INVALID;
48 } 38 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 NOTREACHED(); 85 NOTREACHED();
96 return false; 86 return false;
97 } 87 }
98 88
99 bool FakePeripheral::IsConnected() const { 89 bool FakePeripheral::IsConnected() const {
100 NOTREACHED(); 90 NOTREACHED();
101 return false; 91 return false;
102 } 92 }
103 93
104 bool FakePeripheral::IsGattConnected() const { 94 bool FakePeripheral::IsGattConnected() const {
105 // TODO(crbug.com/728870): Return gatt_connected_ only once system connected 95 return gatt_connected_;
106 // peripherals are supported and Web Bluetooth uses them. See issue for more
107 // details.
108 return system_connected_ || gatt_connected_;
109 } 96 }
110 97
111 bool FakePeripheral::IsConnectable() const { 98 bool FakePeripheral::IsConnectable() const {
112 NOTREACHED(); 99 NOTREACHED();
113 return false; 100 return false;
114 } 101 }
115 102
116 bool FakePeripheral::IsConnecting() const { 103 bool FakePeripheral::IsConnecting() const {
117 NOTREACHED(); 104 NOTREACHED();
118 return false; 105 return false;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 NOTREACHED(); 177 NOTREACHED();
191 } 178 }
192 179
193 void FakePeripheral::ConnectToServiceInsecurely( 180 void FakePeripheral::ConnectToServiceInsecurely(
194 const device::BluetoothUUID& uuid, 181 const device::BluetoothUUID& uuid,
195 const ConnectToServiceCallback& callback, 182 const ConnectToServiceCallback& callback,
196 const ConnectToServiceErrorCallback& error_callback) { 183 const ConnectToServiceErrorCallback& error_callback) {
197 NOTREACHED(); 184 NOTREACHED();
198 } 185 }
199 186
200 void FakePeripheral::CreateGattConnection(
201 const GattConnectionCallback& callback,
202 const ConnectErrorCallback& error_callback) {
203 create_gatt_connection_success_callbacks_.push_back(callback);
204 create_gatt_connection_error_callbacks_.push_back(error_callback);
205
206 // TODO(crbug.com/728870): Stop overriding CreateGattConnection once
207 // IsGattConnected() is fixed. See issue for more details.
208 if (gatt_connected_)
209 return DidConnectGatt();
210
211 CreateGattConnectionImpl();
212 }
213
214 void FakePeripheral::CreateGattConnectionImpl() { 187 void FakePeripheral::CreateGattConnectionImpl() {
215 base::ThreadTaskRunnerHandle::Get()->PostTask( 188 NOTREACHED();
216 FROM_HERE, base::Bind(&FakePeripheral::DispatchConnectionResponse,
217 weak_ptr_factory_.GetWeakPtr()));
218 }
219
220 void FakePeripheral::DispatchConnectionResponse() {
221 DCHECK(next_connection_response_);
222
223 uint16_t code = next_connection_response_.value();
224 next_connection_response_.reset();
225
226 if (code == mojom::kHCISuccess) {
227 gatt_connected_ = true;
228 DidConnectGatt();
229 } else if (code == mojom::kHCIConnectionTimeout) {
230 DidFailToConnectGatt(ERROR_FAILED);
231 } else {
232 DidFailToConnectGatt(ERROR_UNKNOWN);
233 }
234 } 189 }
235 190
236 void FakePeripheral::DisconnectGatt() { 191 void FakePeripheral::DisconnectGatt() {
192 NOTREACHED();
237 } 193 }
238
239 } // namespace bluetooth 194 } // namespace bluetooth
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698