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..b490422a29450e67c2ccc3c242100443856377fb 100644 |
--- a/content/browser/bluetooth/web_bluetooth_service_impl.h |
+++ b/content/browser/bluetooth/web_bluetooth_service_impl.h |
@@ -128,6 +128,18 @@ 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, |
ortuno
2016/11/22 03:02:02
juncai's patch changes this to vector so you might
dougt
2016/11/29 22:50:48
Done.
|
+ const RemoteDescriptorWriteValueCallback& callback) override; |
void RequestDeviceImpl( |
blink::mojom::WebBluetoothRequestDeviceOptionsPtr options, |
@@ -163,16 +175,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); |
@@ -189,6 +202,21 @@ class CONTENT_EXPORT WebBluetoothServiceImpl |
const std::string& characteristic_instance_id, |
const RemoteCharacteristicStopNotificationsCallback& callback); |
+ // Callbacks for BluetoothRemoteGattDescriptor::ReadRemoteDescriptor. |
+ 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); |
+ |
// Functions to query the platform cache for the bluetooth object. |
// result.outcome == CacheQueryOutcome::SUCCESS if the object was found in the |
// cache. Otherwise result.outcome that can used to record the outcome and |
@@ -211,6 +239,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 |service|, |
+ // |characteristic| and |descriptor| fields if successful. |
+ CacheQueryResult QueryCacheForDescriptor( |
+ const std::string& descriptor_instance_id); |
+ |
RenderProcessHost* GetRenderProcessHost(); |
device::BluetoothAdapter* GetAdapter(); |
url::Origin GetOrigin(); |
@@ -227,6 +261,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_; |