Chromium Code Reviews| Index: content/browser/bluetooth/web_bluetooth_service_impl.h |
| diff --git a/content/browser/bluetooth/web_bluetooth_service_impl.h b/content/browser/bluetooth/web_bluetooth_service_impl.h |
| index 2f2de4299ba49b18e38ca1f28599fabdec613287..c35cd35654c4a38a650d752b9953e92307407add 100644 |
| --- a/content/browser/bluetooth/web_bluetooth_service_impl.h |
| +++ b/content/browser/bluetooth/web_bluetooth_service_impl.h |
| @@ -96,6 +96,17 @@ class CONTENT_EXPORT WebBluetoothServiceImpl |
| const std::string& characteristic_instance_id, |
| std::vector<uint8_t> value); |
| + void GattDescriptorValueChanged( |
|
ortuno
2016/11/21 03:34:08
per comment in web_bluetooth.mojom, we don't need
dougt
2016/11/22 01:47:16
Acknowledged.
|
| + device::BluetoothAdapter* adapter, |
| + device::BluetoothRemoteGattDescriptor* descriptor, |
| + const std::vector<uint8_t>& value) override; |
| + |
| + // Notifies the WebBluetoothServiceClient that descriptor |
| + // |descriptor_instance_id| changed it's value. We only do this for |
| + // descriptors that have been returned to the client in the past. |
| + void NotifyDescriptorValueChanged(const std::string& descriptor_instance_id, |
| + std::vector<uint8_t> value); |
| + |
| // WebBluetoothService methods: |
| void SetClient( |
| blink::mojom::WebBluetoothServiceClientAssociatedPtrInfo client) override; |
| @@ -128,6 +139,33 @@ class CONTENT_EXPORT WebBluetoothServiceImpl |
| void RemoteCharacteristicStopNotifications( |
| const mojo::String& characteristic_instance_id, |
| const RemoteCharacteristicStopNotificationsCallback& callback) override; |
| + void RemoteCharacteristicGetDescriptors( |
| + const mojo::String& service_instance_id, |
| + blink::mojom::WebBluetoothGATTQueryQuantity quantity, |
| + const base::Optional<device::BluetoothUUID>& characteristics_uuid, |
| + const RemoteCharacteristicGetDescriptorsCallback& callback) override; |
| + void RemoteDescriptorReadValue( |
| + const mojo::String& descriptor_instance_id, |
| + const RemoteDescriptorReadValueCallback& callback) override; |
| + void RemoteDescriptorWriteValue( |
| + const mojo::String& descriptor_instance_id, |
| + mojo::Array<uint8_t> value, |
| + const RemoteDescriptorWriteValueCallback& callback) override; |
| + |
| + // Callbacks for BluetoothRemoteGattDescriptor::ReadRemoteDescriptor. |
|
ortuno
2016/11/21 03:34:08
Move these down with the rest of the callbacks.
dougt
2016/11/22 01:47:16
Acknowledged.
|
| + void OnDescriptorReadValueSuccess( |
| + const RemoteDescriptorReadValueCallback& callback, |
| + const std::vector<uint8_t>& value); |
| + void OnDescriptorReadValueFailed( |
| + const RemoteDescriptorReadValueCallback& callback, |
| + device::BluetoothRemoteGattService::GattErrorCode error_code); |
| + |
| + // Callbacks for BluetoothRemoteGattDescriptor::WriteRemoteDescriptor. |
| + void OnDescriptorWriteValueSuccess( |
| + const RemoteDescriptorWriteValueCallback& callback); |
| + void OnDescriptorWriteValueFailed( |
| + const RemoteDescriptorWriteValueCallback& callback, |
| + device::BluetoothRemoteGattService::GattErrorCode error_code); |
| void RequestDeviceImpl( |
| blink::mojom::WebBluetoothRequestDeviceOptionsPtr options, |
| @@ -163,16 +201,17 @@ class CONTENT_EXPORT WebBluetoothServiceImpl |
| device::BluetoothDevice::ConnectErrorCode error_code); |
| // Callbacks for BluetoothRemoteGattCharacteristic::ReadRemoteCharacteristic. |
| - void OnReadValueSuccess(const RemoteCharacteristicReadValueCallback& callback, |
| - const std::vector<uint8_t>& value); |
| - void OnReadValueFailed( |
| + void OnCharacteristicReadValueSuccess( |
| + const RemoteCharacteristicReadValueCallback& callback, |
| + const std::vector<uint8_t>& value); |
| + void OnCharacteristicReadValueFailed( |
| const RemoteCharacteristicReadValueCallback& callback, |
| device::BluetoothRemoteGattService::GattErrorCode error_code); |
| // Callbacks for BluetoothRemoteGattCharacteristic::WriteRemoteCharacteristic. |
| - void OnWriteValueSuccess( |
| + void OnCharacteristicWriteValueSuccess( |
| const RemoteCharacteristicWriteValueCallback& callback); |
| - void OnWriteValueFailed( |
| + void OnCharacteristicWriteValueFailed( |
| const RemoteCharacteristicWriteValueCallback& callback, |
| device::BluetoothRemoteGattService::GattErrorCode error_code); |
| @@ -211,6 +250,12 @@ class CONTENT_EXPORT WebBluetoothServiceImpl |
| CacheQueryResult QueryCacheForCharacteristic( |
| const std::string& characteristic_instance_id); |
| + // Queries the platform cache for a descriptor with |
| + // |descriptor_instance_id|. Fills in the |outcome| field, and |device|, |
| + // |service| and |descriptor| fields if successful. |
|
ortuno
2016/11/21 03:34:08
|service|, |characteristic|, and |descriptor|
dougt
2016/11/22 01:47:16
Acknowledged.
|
| + CacheQueryResult QueryCacheForDescriptor( |
| + const std::string& descriptor_instance_id); |
| + |
| RenderProcessHost* GetRenderProcessHost(); |
| device::BluetoothAdapter* GetAdapter(); |
| url::Origin GetOrigin(); |
| @@ -227,6 +272,8 @@ class CONTENT_EXPORT WebBluetoothServiceImpl |
| // Maps to get the object's parent based on its instanceID. |
| std::unordered_map<std::string, std::string> service_id_to_device_address_; |
| std::unordered_map<std::string, std::string> characteristic_id_to_service_id_; |
| + std::unordered_map<std::string, std::string> |
| + descriptor_id_to_characteristic_id_; |
| // Map to keep track of the connected Bluetooth devices. |
| std::unique_ptr<FrameConnectedBluetoothDevices> connected_devices_; |