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

Side by Side Diff: content/browser/bluetooth/web_bluetooth_service_impl.h

Issue 2466223002: Implement WebBluetooth getDescriptor[s] (Closed)
Patch Set: Remove macos restriction Created 3 years, 12 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #ifndef CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_ 5 #ifndef CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_
6 #define CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_ 6 #define CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 void RemoteCharacteristicWriteValue( 121 void RemoteCharacteristicWriteValue(
122 const std::string& characteristic_instance_id, 122 const std::string& characteristic_instance_id,
123 const std::vector<uint8_t>& value, 123 const std::vector<uint8_t>& value,
124 const RemoteCharacteristicWriteValueCallback& callback) override; 124 const RemoteCharacteristicWriteValueCallback& callback) override;
125 void RemoteCharacteristicStartNotifications( 125 void RemoteCharacteristicStartNotifications(
126 const std::string& characteristic_instance_id, 126 const std::string& characteristic_instance_id,
127 const RemoteCharacteristicStartNotificationsCallback& callback) override; 127 const RemoteCharacteristicStartNotificationsCallback& callback) override;
128 void RemoteCharacteristicStopNotifications( 128 void RemoteCharacteristicStopNotifications(
129 const std::string& characteristic_instance_id, 129 const std::string& characteristic_instance_id,
130 const RemoteCharacteristicStopNotificationsCallback& callback) override; 130 const RemoteCharacteristicStopNotificationsCallback& callback) override;
131 void RemoteCharacteristicGetDescriptors(
132 const std::string& service_instance_id,
133 blink::mojom::WebBluetoothGATTQueryQuantity quantity,
134 const base::Optional<device::BluetoothUUID>& characteristics_uuid,
135 const RemoteCharacteristicGetDescriptorsCallback& callback) override;
131 136
132 void RequestDeviceImpl( 137 void RequestDeviceImpl(
133 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options, 138 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options,
134 const RequestDeviceCallback& callback, 139 const RequestDeviceCallback& callback,
135 device::BluetoothAdapter* adapter); 140 device::BluetoothAdapter* adapter);
136 141
137 // Should only be run after the services have been discovered for 142 // Should only be run after the services have been discovered for
138 // |device_address|. 143 // |device_address|.
139 void RemoteServerGetPrimaryServicesImpl( 144 void RemoteServerGetPrimaryServicesImpl(
140 const WebBluetoothDeviceId& device_id, 145 const WebBluetoothDeviceId& device_id,
(...skipping 15 matching lines...) Expand all
156 const WebBluetoothDeviceId& device_id, 161 const WebBluetoothDeviceId& device_id,
157 base::TimeTicks start_time, 162 base::TimeTicks start_time,
158 const RemoteServerConnectCallback& callback, 163 const RemoteServerConnectCallback& callback,
159 std::unique_ptr<device::BluetoothGattConnection> connection); 164 std::unique_ptr<device::BluetoothGattConnection> connection);
160 void OnCreateGATTConnectionFailed( 165 void OnCreateGATTConnectionFailed(
161 base::TimeTicks start_time, 166 base::TimeTicks start_time,
162 const RemoteServerConnectCallback& callback, 167 const RemoteServerConnectCallback& callback,
163 device::BluetoothDevice::ConnectErrorCode error_code); 168 device::BluetoothDevice::ConnectErrorCode error_code);
164 169
165 // Callbacks for BluetoothRemoteGattCharacteristic::ReadRemoteCharacteristic. 170 // Callbacks for BluetoothRemoteGattCharacteristic::ReadRemoteCharacteristic.
166 void OnReadValueSuccess(const RemoteCharacteristicReadValueCallback& callback, 171 void OnCharacteristicReadValueSuccess(
167 const std::vector<uint8_t>& value); 172 const RemoteCharacteristicReadValueCallback& callback,
168 void OnReadValueFailed( 173 const std::vector<uint8_t>& value);
174 void OnCharacteristicReadValueFailed(
169 const RemoteCharacteristicReadValueCallback& callback, 175 const RemoteCharacteristicReadValueCallback& callback,
170 device::BluetoothRemoteGattService::GattErrorCode error_code); 176 device::BluetoothRemoteGattService::GattErrorCode error_code);
171 177
172 // Callbacks for BluetoothRemoteGattCharacteristic::WriteRemoteCharacteristic. 178 // Callbacks for BluetoothRemoteGattCharacteristic::WriteRemoteCharacteristic.
173 void OnWriteValueSuccess( 179 void OnCharacteristicWriteValueSuccess(
174 const RemoteCharacteristicWriteValueCallback& callback); 180 const RemoteCharacteristicWriteValueCallback& callback);
175 void OnWriteValueFailed( 181 void OnCharacteristicWriteValueFailed(
176 const RemoteCharacteristicWriteValueCallback& callback, 182 const RemoteCharacteristicWriteValueCallback& callback,
177 device::BluetoothRemoteGattService::GattErrorCode error_code); 183 device::BluetoothRemoteGattService::GattErrorCode error_code);
178 184
179 // Callbacks for BluetoothRemoteGattCharacteristic::StartNotifySession. 185 // Callbacks for BluetoothRemoteGattCharacteristic::StartNotifySession.
180 void OnStartNotifySessionSuccess( 186 void OnStartNotifySessionSuccess(
181 const RemoteCharacteristicStartNotificationsCallback& callback, 187 const RemoteCharacteristicStartNotificationsCallback& callback,
182 std::unique_ptr<device::BluetoothGattNotifySession> notify_session); 188 std::unique_ptr<device::BluetoothGattNotifySession> notify_session);
183 void OnStartNotifySessionFailed( 189 void OnStartNotifySessionFailed(
184 const RemoteCharacteristicStartNotificationsCallback& callback, 190 const RemoteCharacteristicStartNotificationsCallback& callback,
185 device::BluetoothRemoteGattService::GattErrorCode error_code); 191 device::BluetoothRemoteGattService::GattErrorCode error_code);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 226
221 // Used to open a BluetoothChooser and start a device discovery session. 227 // Used to open a BluetoothChooser and start a device discovery session.
222 std::unique_ptr<BluetoothDeviceChooserController> device_chooser_controller_; 228 std::unique_ptr<BluetoothDeviceChooserController> device_chooser_controller_;
223 229
224 // Keeps track of which devices the frame's origin is allowed to access. 230 // Keeps track of which devices the frame's origin is allowed to access.
225 BluetoothAllowedDevicesMap allowed_devices_map_; 231 BluetoothAllowedDevicesMap allowed_devices_map_;
226 232
227 // Maps to get the object's parent based on its instanceID. 233 // Maps to get the object's parent based on its instanceID.
228 std::unordered_map<std::string, std::string> service_id_to_device_address_; 234 std::unordered_map<std::string, std::string> service_id_to_device_address_;
229 std::unordered_map<std::string, std::string> characteristic_id_to_service_id_; 235 std::unordered_map<std::string, std::string> characteristic_id_to_service_id_;
236 std::unordered_map<std::string, std::string>
237 descriptor_id_to_characteristic_id_;
230 238
231 // Map to keep track of the connected Bluetooth devices. 239 // Map to keep track of the connected Bluetooth devices.
232 std::unique_ptr<FrameConnectedBluetoothDevices> connected_devices_; 240 std::unique_ptr<FrameConnectedBluetoothDevices> connected_devices_;
233 241
234 // Maps a device address to callbacks that are waiting for services to 242 // Maps a device address to callbacks that are waiting for services to
235 // be discovered for that device. 243 // be discovered for that device.
236 std::unordered_map<std::string, std::vector<PrimaryServicesRequestCallback>> 244 std::unordered_map<std::string, std::vector<PrimaryServicesRequestCallback>>
237 pending_primary_services_requests_; 245 pending_primary_services_requests_;
238 246
239 // Map to keep track of the characteristics' notify sessions. 247 // Map to keep track of the characteristics' notify sessions.
(...skipping 13 matching lines...) Expand all
253 mojo::Binding<blink::mojom::WebBluetoothService> binding_; 261 mojo::Binding<blink::mojom::WebBluetoothService> binding_;
254 262
255 base::WeakPtrFactory<WebBluetoothServiceImpl> weak_ptr_factory_; 263 base::WeakPtrFactory<WebBluetoothServiceImpl> weak_ptr_factory_;
256 264
257 DISALLOW_COPY_AND_ASSIGN(WebBluetoothServiceImpl); 265 DISALLOW_COPY_AND_ASSIGN(WebBluetoothServiceImpl);
258 }; 266 };
259 267
260 } // namespace content 268 } // namespace content
261 269
262 #endif // CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_ 270 #endif // CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698