| OLD | NEW |
| 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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( | 131 void RemoteCharacteristicGetDescriptors( |
| 132 const std::string& service_instance_id, | 132 const std::string& service_instance_id, |
| 133 blink::mojom::WebBluetoothGATTQueryQuantity quantity, | 133 blink::mojom::WebBluetoothGATTQueryQuantity quantity, |
| 134 const base::Optional<device::BluetoothUUID>& characteristics_uuid, | 134 const base::Optional<device::BluetoothUUID>& characteristics_uuid, |
| 135 const RemoteCharacteristicGetDescriptorsCallback& callback) override; | 135 const RemoteCharacteristicGetDescriptorsCallback& callback) override; |
| 136 void RemoteDescriptorReadValue( |
| 137 const std::string& characteristic_instance_id, |
| 138 const RemoteDescriptorReadValueCallback& callback) override; |
| 136 | 139 |
| 137 void RequestDeviceImpl( | 140 void RequestDeviceImpl( |
| 138 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options, | 141 blink::mojom::WebBluetoothRequestDeviceOptionsPtr options, |
| 139 const RequestDeviceCallback& callback, | 142 const RequestDeviceCallback& callback, |
| 140 device::BluetoothAdapter* adapter); | 143 device::BluetoothAdapter* adapter); |
| 141 | 144 |
| 142 // Should only be run after the services have been discovered for | 145 // Should only be run after the services have been discovered for |
| 143 // |device_address|. | 146 // |device_address|. |
| 144 void RemoteServerGetPrimaryServicesImpl( | 147 void RemoteServerGetPrimaryServicesImpl( |
| 145 const WebBluetoothDeviceId& device_id, | 148 const WebBluetoothDeviceId& device_id, |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 std::unique_ptr<device::BluetoothGattNotifySession> notify_session); | 191 std::unique_ptr<device::BluetoothGattNotifySession> notify_session); |
| 189 void OnStartNotifySessionFailed( | 192 void OnStartNotifySessionFailed( |
| 190 const RemoteCharacteristicStartNotificationsCallback& callback, | 193 const RemoteCharacteristicStartNotificationsCallback& callback, |
| 191 device::BluetoothRemoteGattService::GattErrorCode error_code); | 194 device::BluetoothRemoteGattService::GattErrorCode error_code); |
| 192 | 195 |
| 193 // Callback for BluetoothGattNotifySession::Stop. | 196 // Callback for BluetoothGattNotifySession::Stop. |
| 194 void OnStopNotifySessionComplete( | 197 void OnStopNotifySessionComplete( |
| 195 const std::string& characteristic_instance_id, | 198 const std::string& characteristic_instance_id, |
| 196 const RemoteCharacteristicStopNotificationsCallback& callback); | 199 const RemoteCharacteristicStopNotificationsCallback& callback); |
| 197 | 200 |
| 201 // Callbacks for BluetoothRemoteGattDescriptor::ReadRemoteDescriptor. |
| 202 void OnDescriptorReadValueSuccess( |
| 203 const RemoteDescriptorReadValueCallback& callback, |
| 204 const std::vector<uint8_t>& value); |
| 205 void OnDescriptorReadValueFailed( |
| 206 const RemoteDescriptorReadValueCallback& callback, |
| 207 device::BluetoothRemoteGattService::GattErrorCode error_code); |
| 208 |
| 198 // Functions to query the platform cache for the bluetooth object. | 209 // Functions to query the platform cache for the bluetooth object. |
| 199 // result.outcome == CacheQueryOutcome::SUCCESS if the object was found in the | 210 // result.outcome == CacheQueryOutcome::SUCCESS if the object was found in the |
| 200 // cache. Otherwise result.outcome that can used to record the outcome and | 211 // cache. Otherwise result.outcome that can used to record the outcome and |
| 201 // result.error will contain the error that should be sent to the renderer. | 212 // result.error will contain the error that should be sent to the renderer. |
| 202 // One of the possible outcomes is BAD_RENDERER. In this case we crash the | 213 // One of the possible outcomes is BAD_RENDERER. In this case we crash the |
| 203 // renderer, record the reason and close the pipe, so it's safe to drop | 214 // renderer, record the reason and close the pipe, so it's safe to drop |
| 204 // any callbacks. | 215 // any callbacks. |
| 205 | 216 |
| 206 // Queries the platform cache for a Device with |device_id| for |origin|. | 217 // Queries the platform cache for a Device with |device_id| for |origin|. |
| 207 // Fills in the |outcome| field and the |device| field if successful. | 218 // Fills in the |outcome| field and the |device| field if successful. |
| 208 CacheQueryResult QueryCacheForDevice(const WebBluetoothDeviceId& device_id); | 219 CacheQueryResult QueryCacheForDevice(const WebBluetoothDeviceId& device_id); |
| 209 | 220 |
| 210 // Queries the platform cache for a Service with |service_instance_id|. Fills | 221 // Queries the platform cache for a Service with |service_instance_id|. Fills |
| 211 // in the |outcome| field, and |device| and |service| fields if successful. | 222 // in the |outcome| field, and |device| and |service| fields if successful. |
| 212 CacheQueryResult QueryCacheForService(const std::string& service_instance_id); | 223 CacheQueryResult QueryCacheForService(const std::string& service_instance_id); |
| 213 | 224 |
| 214 // Queries the platform cache for a characteristic with | 225 // Queries the platform cache for a characteristic with |
| 215 // |characteristic_instance_id|. Fills in the |outcome| field, and |device|, | 226 // |characteristic_instance_id|. Fills in the |outcome| field, and |device|, |
| 216 // |service| and |characteristic| fields if successful. | 227 // |service| and |characteristic| fields if successful. |
| 217 CacheQueryResult QueryCacheForCharacteristic( | 228 CacheQueryResult QueryCacheForCharacteristic( |
| 218 const std::string& characteristic_instance_id); | 229 const std::string& characteristic_instance_id); |
| 219 | 230 |
| 231 // Queries the platform cache for a descriptor with |descriptor_instance_id|. |
| 232 // Fills in the |outcome| field, and |device|, |service|, |characteristic|, |
| 233 // |descriptor| fields if successful. |
| 234 CacheQueryResult QueryCacheForDescriptor( |
| 235 const std::string& descriptor_instance_id); |
| 236 |
| 220 RenderProcessHost* GetRenderProcessHost(); | 237 RenderProcessHost* GetRenderProcessHost(); |
| 221 device::BluetoothAdapter* GetAdapter(); | 238 device::BluetoothAdapter* GetAdapter(); |
| 222 url::Origin GetOrigin(); | 239 url::Origin GetOrigin(); |
| 223 | 240 |
| 224 // Clears all state (maps, sets, etc). | 241 // Clears all state (maps, sets, etc). |
| 225 void ClearState(); | 242 void ClearState(); |
| 226 | 243 |
| 227 // Used to open a BluetoothChooser and start a device discovery session. | 244 // Used to open a BluetoothChooser and start a device discovery session. |
| 228 std::unique_ptr<BluetoothDeviceChooserController> device_chooser_controller_; | 245 std::unique_ptr<BluetoothDeviceChooserController> device_chooser_controller_; |
| 229 | 246 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 mojo::Binding<blink::mojom::WebBluetoothService> binding_; | 278 mojo::Binding<blink::mojom::WebBluetoothService> binding_; |
| 262 | 279 |
| 263 base::WeakPtrFactory<WebBluetoothServiceImpl> weak_ptr_factory_; | 280 base::WeakPtrFactory<WebBluetoothServiceImpl> weak_ptr_factory_; |
| 264 | 281 |
| 265 DISALLOW_COPY_AND_ASSIGN(WebBluetoothServiceImpl); | 282 DISALLOW_COPY_AND_ASSIGN(WebBluetoothServiceImpl); |
| 266 }; | 283 }; |
| 267 | 284 |
| 268 } // namespace content | 285 } // namespace content |
| 269 | 286 |
| 270 #endif // CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_ | 287 #endif // CONTENT_BROWSER_BLUETOOTH_WEB_BLUETOOTH_SERVICE_IMPL_H_ |
| OLD | NEW |