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

Side by Side Diff: third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom

Issue 2718583002: Refactor WebBluetoothServiceClient in the web_bluetooth.mojom (Closed)
Patch Set: added new layout test Created 3 years, 9 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 module blink.mojom; 5 module blink.mojom;
6 6
7 import "device/bluetooth/public/interfaces/uuid.mojom"; 7 import "device/bluetooth/public/interfaces/uuid.mojom";
8 8
9 // Bluetooth Terminology: 9 // Bluetooth Terminology:
10 // 10 //
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 }; 149 };
150 150
151 struct WebBluetoothRemoteGATTDescriptor { 151 struct WebBluetoothRemoteGATTDescriptor {
152 string instance_id; // See Instance ID Note above. 152 string instance_id; // See Instance ID Note above.
153 bluetooth.mojom.UUID uuid; 153 bluetooth.mojom.UUID uuid;
154 }; 154 };
155 155
156 // Web Bluetooth Interface that Blink can use to perform 156 // Web Bluetooth Interface that Blink can use to perform
157 // Bluetooth GATT Operations on Bluetooth Devices. 157 // Bluetooth GATT Operations on Bluetooth Devices.
158 interface WebBluetoothService { 158 interface WebBluetoothService {
159 // Sets the client for this WebBluetoothService. The service will notify the
160 // client of device events e.g. when a Characteristic's value changes or when
161 // a device disconnects.
162 SetClient(associated WebBluetoothServiceClient client);
163
164 RequestDevice(WebBluetoothRequestDeviceOptions options) 159 RequestDevice(WebBluetoothRequestDeviceOptions options)
165 => (WebBluetoothResult result, WebBluetoothDevice? device); 160 => (WebBluetoothResult result, WebBluetoothDevice? device);
166 161
167 // Creates a GATT Connection to a Bluetooth Device identified by |device_id| 162 // Creates a GATT Connection to a Bluetooth Device identified by |device_id|
168 // if a connection to the device didn't exist already. If a GATT connection 163 // if a connection to the device didn't exist already. If a GATT connection
169 // existed already then this function increases the ref count to keep that 164 // existed already then this function increases the ref count to keep that
170 // connection alive. 165 // connection alive.
171 RemoteServerConnect(WebBluetoothDeviceId device_id) => (WebBluetoothResult res ult); 166 // Returns the result of the connection request and a client request if the
167 // connection was successful and there was no previous WebBluetoothServerClien t.
168 RemoteServerConnect(WebBluetoothDeviceId device_id) => (
169 WebBluetoothResult result,
170 associated WebBluetoothServerClient&? client_request);
172 171
173 // If a GATT connection exists for Device identified by |device_id| then 172 // If a GATT connection exists for Device identified by |device_id| then
174 // decreases the ref count for that connection. 173 // decreases the ref count for that connection.
175 RemoteServerDisconnect(WebBluetoothDeviceId device_id); 174 RemoteServerDisconnect(WebBluetoothDeviceId device_id);
176 175
177 // Returns the Services of a GATT Device identified by |device_id|. 176 // Returns the Services of a GATT Device identified by |device_id|.
178 // If |services_uuid| is present, filters services by |services_uuid|. 177 // If |services_uuid| is present, filters services by |services_uuid|.
179 // Otherwise returns all non-blocklisted services. 178 // Otherwise returns all non-blocklisted services.
180 // If |quantity| == WebBluetoothGATTQueryQuantity::SINGLE, at most one 179 // If |quantity| == WebBluetoothGATTQueryQuantity::SINGLE, at most one
181 // service will be returned. 180 // service will be returned.
(...skipping 30 matching lines...) Expand all
212 // Writes a value to the characteristic identified by 211 // Writes a value to the characteristic identified by
213 // |characteristic_instance_id|. The callback is run with 212 // |characteristic_instance_id|. The callback is run with
214 // WebBluetoothResult::SUCCESS if the value was successfully 213 // WebBluetoothResult::SUCCESS if the value was successfully
215 // written. 214 // written.
216 RemoteCharacteristicWriteValue( 215 RemoteCharacteristicWriteValue(
217 string characteristic_instance_id, 216 string characteristic_instance_id,
218 array<uint8> value) => (WebBluetoothResult result); 217 array<uint8> value) => (WebBluetoothResult result);
219 218
220 // Starts notifications for the characteristic identified by 219 // Starts notifications for the characteristic identified by
221 // |characteristic_instance_id|. 220 // |characteristic_instance_id|.
221 // Returns the result of the start notifications request and a client
222 // request if the gatt operation was successful and there was no previous
223 // WebBluetoothCharacteristicClient.
222 RemoteCharacteristicStartNotifications( 224 RemoteCharacteristicStartNotifications(
223 string characteristic_instance_id) => (WebBluetoothResult result); 225 string characteristic_instance_id) => (
226 WebBluetoothResult result,
227 associated WebBluetoothCharacteristicClient&? client_request);
224 228
225 // Stops notifications for the characteristic identified by 229 // Stops notifications for the characteristic identified by
226 // |characteristic_instance_id|. 230 // |characteristic_instance_id|.
227 RemoteCharacteristicStopNotifications( 231 RemoteCharacteristicStopNotifications(
228 string characteristic_instance_id) => (); 232 string characteristic_instance_id) => ();
229 233
230 // Returns the Descriptors of a GATT Characteristic identified by 234 // Returns the Descriptors of a GATT Characteristic identified by
231 // |characteristics_instance_id|. 235 // |characteristics_instance_id|.
232 // If |descriptor_uuid| is present, filters descriptors by 236 // If |descriptor_uuid| is present, filters descriptors by
233 // |descriptor_uuid|. Otherwise returns all non-blocklisted descriptors. 237 // |descriptor_uuid|. Otherwise returns all non-blocklisted descriptors.
(...skipping 18 matching lines...) Expand all
252 256
253 // Writes a value to the descriptor identified by 257 // Writes a value to the descriptor identified by
254 // |descriptor_instance_id|. The callback is run with 258 // |descriptor_instance_id|. The callback is run with
255 // WebBluetoothResult::SUCCESS if the value was successfully 259 // WebBluetoothResult::SUCCESS if the value was successfully
256 // written. 260 // written.
257 RemoteDescriptorWriteValue( 261 RemoteDescriptorWriteValue(
258 string descriptor_instance_id, 262 string descriptor_instance_id,
259 array<uint8> value) => (WebBluetoothResult result); 263 array<uint8> value) => (WebBluetoothResult result);
260 }; 264 };
261 265
262 // Classes should implement this interface and pass an associated pointer 266 // Classes that implement this interface will be notified of characteristic
263 // bound to them to the WebBluetoothService by using SetClient. Classes 267 // events.
264 // that do this will be notified of device events e.g. device disconnection. 268 interface WebBluetoothCharacteristicClient {
265 interface WebBluetoothServiceClient { 269 // Called when we receive a notification for the characteristic.
266 // The characteristic identified by |characteristic_instance_id| has received 270 RemoteCharacteristicValueChanged(array<uint8> value);
267 // a notification of value change. 271 };
268 RemoteCharacteristicValueChanged(string characteristic_instance_id,
269 array<uint8> value);
270 272
271 // The device identified by |device_id| has been disconnected. 273 // Classes that implement this interface will be notified of device events.
272 GattServerDisconnected(WebBluetoothDeviceId device_id); 274 interface WebBluetoothServerClient {
275 // Called when a device disconnects.
276 GATTServerDisconnected();
273 }; 277 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698