OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 WebBluetooth_h | 5 #ifndef WebBluetooth_h |
6 #define WebBluetooth_h | 6 #define WebBluetooth_h |
7 | 7 |
8 #include "public/platform/WebCallbacks.h" | 8 #include "public/platform/WebCallbacks.h" |
9 #include "public/platform/WebString.h" | 9 #include "public/platform/WebString.h" |
10 #include "public/platform/WebVector.h" | 10 #include "public/platform/WebVector.h" |
11 | 11 |
12 #include <memory> | 12 #include <memory> |
13 | 13 |
14 namespace blink { | 14 namespace blink { |
15 | 15 |
16 class WebBluetoothDevice; | 16 class WebBluetoothDevice; |
17 class WebBluetoothRemoteGATTCharacteristic; | 17 class WebBluetoothRemoteGATTCharacteristic; |
| 18 class WebBluetoothRemoteGATTDescriptor; |
18 | 19 |
19 struct WebBluetoothDeviceInit; | 20 struct WebBluetoothDeviceInit; |
20 struct WebBluetoothRemoteGATTCharacteristicInit; | 21 struct WebBluetoothRemoteGATTCharacteristicInit; |
| 22 struct WebBluetoothRemoteGATTDescriptorInit; |
21 struct WebBluetoothRemoteGATTService; | 23 struct WebBluetoothRemoteGATTService; |
22 struct WebRequestDeviceOptions; | 24 struct WebRequestDeviceOptions; |
23 | 25 |
24 // Success and failure callbacks for requestDevice. | 26 // Success and failure callbacks for requestDevice. |
25 using WebBluetoothRequestDeviceCallbacks = WebCallbacks< | 27 using WebBluetoothRequestDeviceCallbacks = WebCallbacks< |
26 std::unique_ptr<WebBluetoothDeviceInit>, | 28 std::unique_ptr<WebBluetoothDeviceInit>, |
27 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; | 29 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
28 | 30 |
29 // Success and failure callbacks for GattServer.connect(). | 31 // Success and failure callbacks for GattServer.connect(). |
30 using WebBluetoothRemoteGATTServerConnectCallbacks = WebCallbacks< | 32 using WebBluetoothRemoteGATTServerConnectCallbacks = WebCallbacks< |
31 void, | 33 void, |
32 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; | 34 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
33 | 35 |
34 // Success and failure callbacks for getPrimaryService(s). | 36 // Success and failure callbacks for getPrimaryService(s). |
35 using WebBluetoothGetPrimaryServicesCallbacks = WebCallbacks< | 37 using WebBluetoothGetPrimaryServicesCallbacks = WebCallbacks< |
36 const WebVector<WebBluetoothRemoteGATTService*>&, | 38 const WebVector<WebBluetoothRemoteGATTService*>&, |
37 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; | 39 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
38 | 40 |
39 // Success and failure callbacks for getCharacteristic(s). | 41 // Success and failure callbacks for getCharacteristic(s). |
40 using WebBluetoothGetCharacteristicsCallbacks = WebCallbacks< | 42 using WebBluetoothGetCharacteristicsCallbacks = WebCallbacks< |
41 const WebVector<WebBluetoothRemoteGATTCharacteristicInit*>&, | 43 const WebVector<WebBluetoothRemoteGATTCharacteristicInit*>&, |
42 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; | 44 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
43 | 45 |
| 46 // Success and failure callbacks for getDescriptor(s). |
| 47 using WebBluetoothGetDescriptorsCallbacks = WebCallbacks< |
| 48 const WebVector<WebBluetoothRemoteGATTDescriptorInit*>&, |
| 49 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
| 50 |
44 // Success and failure callbacks for readValue. | 51 // Success and failure callbacks for readValue. |
45 using WebBluetoothReadValueCallbacks = WebCallbacks< | 52 using WebBluetoothReadValueCallbacks = WebCallbacks< |
46 const WebVector<uint8_t>&, | 53 const WebVector<uint8_t>&, |
47 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; | 54 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
48 | 55 |
49 // Success and failure callbacks for writeValue. | 56 // Success and failure callbacks for writeValue. |
50 using WebBluetoothWriteValueCallbacks = WebCallbacks< | 57 using WebBluetoothWriteValueCallbacks = WebCallbacks< |
51 const WebVector<uint8_t>&, | 58 const WebVector<uint8_t>&, |
52 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; | 59 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>; |
53 | 60 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 virtual void getCharacteristics( | 96 virtual void getCharacteristics( |
90 const WebString& serviceInstanceID, | 97 const WebString& serviceInstanceID, |
91 // Corresponds to WebBluetoothGATTQueryQuantity in web_bluetooth.mojom | 98 // Corresponds to WebBluetoothGATTQueryQuantity in web_bluetooth.mojom |
92 int32_t quantity, | 99 int32_t quantity, |
93 const WebString& characteristicsUUID, | 100 const WebString& characteristicsUUID, |
94 WebBluetoothGetCharacteristicsCallbacks*) = 0; | 101 WebBluetoothGetCharacteristicsCallbacks*) = 0; |
95 | 102 |
96 // BluetoothRemoteGATTCharacteristic methods: | 103 // BluetoothRemoteGATTCharacteristic methods: |
97 // See | 104 // See |
98 // https://webbluetoothchrome.github.io/web-bluetooth/#bluetoothgattcharacteri
stic | 105 // https://webbluetoothchrome.github.io/web-bluetooth/#bluetoothgattcharacteri
stic |
99 virtual void readValue(const WebString& characteristicInstanceID, | 106 virtual void characteristicReadValue( |
100 WebBluetoothReadValueCallbacks*) {} | 107 const WebString& characteristicInstanceID, |
101 virtual void writeValue(const WebString& characteristicInstanceID, | 108 WebBluetoothReadValueCallbacks*) {} |
102 const WebVector<uint8_t>& value, | 109 virtual void characteristicWriteValue( |
103 WebBluetoothWriteValueCallbacks*) {} | 110 const WebString& characteristicInstanceID, |
| 111 const WebVector<uint8_t>& value, |
| 112 WebBluetoothWriteValueCallbacks*) {} |
104 virtual void startNotifications(const WebString& characteristicInstanceID, | 113 virtual void startNotifications(const WebString& characteristicInstanceID, |
105 WebBluetoothNotificationsCallbacks*) {} | 114 WebBluetoothNotificationsCallbacks*) {} |
106 virtual void stopNotifications(const WebString& characteristicInstanceID, | 115 virtual void stopNotifications(const WebString& characteristicInstanceID, |
107 WebBluetoothNotificationsCallbacks*) {} | 116 WebBluetoothNotificationsCallbacks*) {} |
| 117 virtual void getDescriptors( |
| 118 const WebString& serviceInstanceID, |
| 119 // Corresponds to WebBluetoothGATTQueryQuantity in web_bluetooth.mojom |
| 120 int32_t quantity, |
| 121 const WebString& descriptorsUUID, |
| 122 WebBluetoothGetDescriptorsCallbacks*) = 0; |
| 123 |
| 124 // BluetoothRemoteGATTDescriptor methods: |
| 125 // See |
| 126 // https://webbluetoothchrome.github.io/web-bluetooth/#bluetoothgattdescriptor |
| 127 virtual void descriptorReadValue(const WebString& descriptorInstanceID, |
| 128 WebBluetoothReadValueCallbacks*) {} |
| 129 virtual void descriptorWriteValue(const WebString& descriptorInstanceID, |
| 130 const WebVector<uint8_t>& value, |
| 131 WebBluetoothWriteValueCallbacks*) {} |
108 | 132 |
109 // Called when addEventListener is called on a characteristic. | 133 // Called when addEventListener is called on a characteristic. |
110 virtual void registerCharacteristicObject( | 134 virtual void registerCharacteristicObject( |
111 const WebString& characteristicInstanceID, | 135 const WebString& characteristicInstanceID, |
112 WebBluetoothRemoteGATTCharacteristic*) = 0; | 136 WebBluetoothRemoteGATTCharacteristic*) = 0; |
113 virtual void characteristicObjectRemoved( | 137 virtual void characteristicObjectRemoved( |
114 const WebString& characteristicInstanceID, | 138 const WebString& characteristicInstanceID, |
115 WebBluetoothRemoteGATTCharacteristic*) {} | 139 WebBluetoothRemoteGATTCharacteristic*) {} |
116 }; | 140 }; |
117 | 141 |
118 } // namespace blink | 142 } // namespace blink |
119 | 143 |
120 #endif // WebBluetooth_h | 144 #endif // WebBluetooth_h |
OLD | NEW |