Chromium Code Reviews| 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 #include "public/platform/modules/bluetooth/WebBluetoothError.h" | |
| 12 #include "public/platform/modules/bluetooth/web_bluetooth.mojom.h" | |
| 13 | 11 |
| 14 #include <memory> | 12 #include <memory> |
| 15 | 13 |
| 16 namespace blink { | 14 namespace blink { |
| 17 | 15 |
| 18 class WebBluetoothDevice; | 16 class WebBluetoothDevice; |
| 19 class WebBluetoothRemoteGATTCharacteristic; | 17 class WebBluetoothRemoteGATTCharacteristic; |
| 20 | 18 |
| 21 struct WebBluetoothDeviceInit; | 19 struct WebBluetoothDeviceInit; |
| 22 struct WebBluetoothRemoteGATTCharacteristicInit; | 20 struct WebBluetoothRemoteGATTCharacteristicInit; |
| 23 struct WebBluetoothRemoteGATTService; | 21 struct WebBluetoothRemoteGATTService; |
| 24 struct WebRequestDeviceOptions; | 22 struct WebRequestDeviceOptions; |
| 25 | 23 |
| 26 // Success and failure callbacks for requestDevice. | 24 // Success and failure callbacks for requestDevice. |
| 27 using WebBluetoothRequestDeviceCallbacks = WebCallbacks<std::unique_ptr<WebBluet oothDeviceInit>, const WebBluetoothError&>; | 25 using WebBluetoothRequestDeviceCallbacks = WebCallbacks<std::unique_ptr<WebBluet oothDeviceInit>, int32_t>; |
|
Jeffrey Yasskin
2016/07/13 20:34:58
Please comment which enum each of these expects to
ortuno
2016/07/13 22:47:29
Done.
| |
| 28 | 26 |
| 29 // Success and failure callbacks for GattServer.connect(). | 27 // Success and failure callbacks for GattServer.connect(). |
| 30 using WebBluetoothRemoteGATTServerConnectCallbacks = WebCallbacks<void, const We bBluetoothError&>; | 28 using WebBluetoothRemoteGATTServerConnectCallbacks = WebCallbacks<void, int32_t> ; |
| 31 | 29 |
| 32 // Success and failure callbacks for getPrimaryService(s). | 30 // Success and failure callbacks for getPrimaryService(s). |
| 33 using WebBluetoothGetPrimaryServicesCallbacks = WebCallbacks<const WebVector<Web BluetoothRemoteGATTService*>&, const WebBluetoothError&>; | 31 using WebBluetoothGetPrimaryServicesCallbacks = WebCallbacks<const WebVector<Web BluetoothRemoteGATTService*>&, int32_t>; |
| 34 | 32 |
| 35 // Success and failure callbacks for getCharacteristic(s). | 33 // Success and failure callbacks for getCharacteristic(s). |
| 36 using WebBluetoothGetCharacteristicsCallbacks = WebCallbacks<const WebVector<Web BluetoothRemoteGATTCharacteristicInit*>&, const WebBluetoothError&>; | 34 using WebBluetoothGetCharacteristicsCallbacks = WebCallbacks<const WebVector<Web BluetoothRemoteGATTCharacteristicInit*>&, int32_t>; |
| 37 | 35 |
| 38 // Success and failure callbacks for readValue. | 36 // Success and failure callbacks for readValue. |
| 39 using WebBluetoothReadValueCallbacks = WebCallbacks<const WebVector<uint8_t>&, c onst WebBluetoothError&>; | 37 using WebBluetoothReadValueCallbacks = WebCallbacks<const WebVector<uint8_t>&, i nt32_t>; |
| 40 | 38 |
| 41 // Success and failure callbacks for writeValue. | 39 // Success and failure callbacks for writeValue. |
| 42 using WebBluetoothWriteValueCallbacks = WebCallbacks<const WebVector<uint8_t>&, const WebBluetoothError&>; | 40 using WebBluetoothWriteValueCallbacks = WebCallbacks<const WebVector<uint8_t>&, int32_t>; |
| 43 | 41 |
| 44 // Success and failure callbacks for characteristic.startNotifications and | 42 // Success and failure callbacks for characteristic.startNotifications and |
| 45 // characteristic.stopNotifications. | 43 // characteristic.stopNotifications. |
| 46 using WebBluetoothNotificationsCallbacks = WebCallbacks<void, const WebBluetooth Error&>; | 44 using WebBluetoothNotificationsCallbacks = WebCallbacks<void, int32_t>; |
| 47 | 45 |
| 48 class WebBluetooth { | 46 class WebBluetooth { |
| 49 public: | 47 public: |
| 50 virtual ~WebBluetooth() { } | 48 virtual ~WebBluetooth() { } |
| 51 | 49 |
| 52 // Bluetooth Methods: | 50 // Bluetooth Methods: |
| 53 // See https://webbluetoothchrome.github.io/web-bluetooth/#device-discovery | 51 // See https://webbluetoothchrome.github.io/web-bluetooth/#device-discovery |
| 54 // WebBluetoothRequestDeviceCallbacks ownership transferred to the client. | 52 // WebBluetoothRequestDeviceCallbacks ownership transferred to the client. |
| 55 virtual void requestDevice(const WebRequestDeviceOptions&, WebBluetoothReque stDeviceCallbacks*) { } | 53 virtual void requestDevice(const WebRequestDeviceOptions&, WebBluetoothReque stDeviceCallbacks*) { } |
| 56 | 54 |
| 57 // BluetoothDevice methods: | 55 // BluetoothDevice methods: |
| 58 | 56 |
| 59 // BluetoothRemoteGATTServer methods: | 57 // BluetoothRemoteGATTServer methods: |
| 60 // See https://webbluetoothchrome.github.io/web-bluetooth/#idl-def-bluetooth gattremoteserver | 58 // See https://webbluetoothchrome.github.io/web-bluetooth/#idl-def-bluetooth gattremoteserver |
| 61 virtual void connect(const WebString& deviceId, | 59 virtual void connect(const WebString& deviceId, |
| 62 WebBluetoothDevice* device, | 60 WebBluetoothDevice* device, |
| 63 WebBluetoothRemoteGATTServerConnectCallbacks*) {} | 61 WebBluetoothRemoteGATTServerConnectCallbacks*) {} |
| 64 virtual void disconnect(const WebString& deviceId) = 0; | 62 virtual void disconnect(const WebString& deviceId) = 0; |
| 65 virtual void getPrimaryServices(const WebString& deviceId, | 63 virtual void getPrimaryServices(const WebString& deviceId, |
| 66 mojom::WebBluetoothGATTQueryQuantity, | 64 int32_t quantity, |
|
Jeffrey Yasskin
2016/07/13 20:34:59
Ditto here.
ortuno
2016/07/13 22:47:29
Done.
| |
| 67 const WebString& servicesUUID, | 65 const WebString& servicesUUID, |
| 68 WebBluetoothGetPrimaryServicesCallbacks*) = 0; | 66 WebBluetoothGetPrimaryServicesCallbacks*) = 0; |
| 69 | 67 |
| 70 // BluetoothRemoteGATTService methods: | 68 // BluetoothRemoteGATTService methods: |
| 71 // See https://webbluetoothchrome.github.io/web-bluetooth/#idl-def-bluetooth gattservice | 69 // See https://webbluetoothchrome.github.io/web-bluetooth/#idl-def-bluetooth gattservice |
| 72 virtual void getCharacteristics(const WebString& serviceInstanceID, | 70 virtual void getCharacteristics(const WebString& serviceInstanceID, |
| 73 mojom::WebBluetoothGATTQueryQuantity, | 71 int32_t quantity, |
| 74 const WebString& characteristicsUUID, | 72 const WebString& characteristicsUUID, |
| 75 WebBluetoothGetCharacteristicsCallbacks*) = 0; | 73 WebBluetoothGetCharacteristicsCallbacks*) = 0; |
| 76 | 74 |
| 77 // BluetoothRemoteGATTCharacteristic methods: | 75 // BluetoothRemoteGATTCharacteristic methods: |
| 78 // See https://webbluetoothchrome.github.io/web-bluetooth/#bluetoothgattchar acteristic | 76 // See https://webbluetoothchrome.github.io/web-bluetooth/#bluetoothgattchar acteristic |
| 79 virtual void readValue(const WebString& characteristicInstanceID, | 77 virtual void readValue(const WebString& characteristicInstanceID, |
| 80 WebBluetoothReadValueCallbacks*) { } | 78 WebBluetoothReadValueCallbacks*) { } |
| 81 virtual void writeValue(const WebString& characteristicInstanceID, | 79 virtual void writeValue(const WebString& characteristicInstanceID, |
| 82 const WebVector<uint8_t>& value, | 80 const WebVector<uint8_t>& value, |
| 83 WebBluetoothWriteValueCallbacks*) {} | 81 WebBluetoothWriteValueCallbacks*) {} |
| 84 virtual void startNotifications(const WebString& characteristicInstanceID, | 82 virtual void startNotifications(const WebString& characteristicInstanceID, |
| 85 WebBluetoothNotificationsCallbacks*) {} | 83 WebBluetoothNotificationsCallbacks*) {} |
| 86 virtual void stopNotifications(const WebString& characteristicInstanceID, | 84 virtual void stopNotifications(const WebString& characteristicInstanceID, |
| 87 WebBluetoothNotificationsCallbacks*) {} | 85 WebBluetoothNotificationsCallbacks*) {} |
| 88 | 86 |
| 89 // Called when addEventListener is called on a characteristic. | 87 // Called when addEventListener is called on a characteristic. |
| 90 virtual void registerCharacteristicObject( | 88 virtual void registerCharacteristicObject( |
| 91 const WebString& characteristicInstanceID, | 89 const WebString& characteristicInstanceID, |
| 92 WebBluetoothRemoteGATTCharacteristic*) = 0; | 90 WebBluetoothRemoteGATTCharacteristic*) = 0; |
| 93 virtual void characteristicObjectRemoved( | 91 virtual void characteristicObjectRemoved( |
| 94 const WebString& characteristicInstanceID, | 92 const WebString& characteristicInstanceID, |
| 95 WebBluetoothRemoteGATTCharacteristic*) {} | 93 WebBluetoothRemoteGATTCharacteristic*) {} |
| 96 }; | 94 }; |
| 97 | 95 |
| 98 } // namespace blink | 96 } // namespace blink |
| 99 | 97 |
| 100 #endif // WebBluetooth_h | 98 #endif // WebBluetooth_h |
| OLD | NEW |