Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: third_party/WebKit/public/platform/modules/bluetooth/WebBluetooth.h

Issue 2565913002: [Onion Soup] Move WebBluetoothImpl from //content/renderer/bluetooth to Blink's bluetooth module (Closed)
Patch Set: renamed BluetoothUUID.typemap to Bluetooth.typemap Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef WebBluetooth_h
6 #define WebBluetooth_h
7
8 #include "public/platform/WebCallbacks.h"
9 #include "public/platform/WebString.h"
10 #include "public/platform/WebVector.h"
11
12 #include <memory>
13
14 namespace blink {
15
16 class WebBluetoothDevice;
17 class WebBluetoothRemoteGATTCharacteristic;
18
19 struct WebBluetoothDeviceInit;
20 struct WebBluetoothRemoteGATTCharacteristicInit;
21 struct WebBluetoothRemoteGATTService;
22 struct WebRequestDeviceOptions;
23
24 // Success and failure callbacks for requestDevice.
25 using WebBluetoothRequestDeviceCallbacks = WebCallbacks<
26 std::unique_ptr<WebBluetoothDeviceInit>,
27 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
28
29 // Success and failure callbacks for GattServer.connect().
30 using WebBluetoothRemoteGATTServerConnectCallbacks = WebCallbacks<
31 void,
32 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
33
34 // Success and failure callbacks for getPrimaryService(s).
35 using WebBluetoothGetPrimaryServicesCallbacks = WebCallbacks<
36 const WebVector<WebBluetoothRemoteGATTService*>&,
37 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
38
39 // Success and failure callbacks for getCharacteristic(s).
40 using WebBluetoothGetCharacteristicsCallbacks = WebCallbacks<
41 const WebVector<WebBluetoothRemoteGATTCharacteristicInit*>&,
42 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
43
44 // Success and failure callbacks for readValue.
45 using WebBluetoothReadValueCallbacks = WebCallbacks<
46 const WebVector<uint8_t>&,
47 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
48
49 // Success and failure callbacks for writeValue.
50 using WebBluetoothWriteValueCallbacks = WebCallbacks<
51 const WebVector<uint8_t>&,
52 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
53
54 // Success and failure callbacks for characteristic.startNotifications and
55 // characteristic.stopNotifications.
56 using WebBluetoothNotificationsCallbacks = WebCallbacks<
57 void,
58 int32_t /* Corresponds to WebBluetoothResult in web_bluetooth.mojom */>;
59
60 class WebBluetooth {
61 public:
62 virtual ~WebBluetooth() {}
63
64 // Bluetooth Methods:
65 // See https://webbluetoothcg.github.io/web-bluetooth/#device-discovery
66 // WebBluetoothRequestDeviceCallbacks ownership transferred to the client.
67 virtual void requestDevice(const WebRequestDeviceOptions&,
68 WebBluetoothRequestDeviceCallbacks*) {}
69
70 // BluetoothDevice methods:
71
72 // BluetoothRemoteGATTServer methods:
73 // See
74 // https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattserver
75 virtual void connect(const WebString& deviceId,
76 WebBluetoothDevice* device,
77 WebBluetoothRemoteGATTServerConnectCallbacks*) {}
78 virtual void disconnect(const WebString& deviceId) = 0;
79 virtual void getPrimaryServices(
80 const WebString& deviceId,
81 // Corresponds to WebBluetoothGATTQueryQuantity in web_bluetooth.mojom:
82 int32_t quantity,
83 const WebString& servicesUUID,
84 WebBluetoothGetPrimaryServicesCallbacks*) = 0;
85
86 // BluetoothRemoteGATTService methods:
87 // See
88 // https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattservice
89 virtual void getCharacteristics(
90 const WebString& serviceInstanceID,
91 // Corresponds to WebBluetoothGATTQueryQuantity in web_bluetooth.mojom
92 int32_t quantity,
93 const WebString& characteristicsUUID,
94 WebBluetoothGetCharacteristicsCallbacks*) = 0;
95
96 // BluetoothRemoteGATTCharacteristic methods:
97 // See
98 // https://webbluetoothcg.github.io/web-bluetooth/#bluetoothremotegattcharacte ristic
99 virtual void readValue(const WebString& characteristicInstanceID,
100 WebBluetoothReadValueCallbacks*) {}
101 virtual void writeValue(const WebString& characteristicInstanceID,
102 const WebVector<uint8_t>& value,
103 WebBluetoothWriteValueCallbacks*) {}
104 virtual void startNotifications(const WebString& characteristicInstanceID,
105 WebBluetoothNotificationsCallbacks*) {}
106 virtual void stopNotifications(const WebString& characteristicInstanceID,
107 WebBluetoothNotificationsCallbacks*) {}
108
109 // Called when addEventListener is called on a characteristic.
110 virtual void registerCharacteristicObject(
111 const WebString& characteristicInstanceID,
112 WebBluetoothRemoteGATTCharacteristic*) = 0;
113 virtual void characteristicObjectRemoved(
114 const WebString& characteristicInstanceID,
115 WebBluetoothRemoteGATTCharacteristic*) {}
116 };
117
118 } // namespace blink
119
120 #endif // WebBluetooth_h
OLDNEW
« no previous file with comments | « third_party/WebKit/public/BUILD.gn ('k') | third_party/WebKit/public/platform/modules/bluetooth/WebBluetoothDevice.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698