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

Side by Side Diff: chrome/common/extensions/api/bluetooth_low_energy.idl

Issue 1915243003: API Bindings for GATT server functionality. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@adapter_and_tests
Patch Set: Created 4 years, 7 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 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 // The <code>chrome.bluetoothLowEnergy</code> API is used to communicate with 5 // The <code>chrome.bluetoothLowEnergy</code> API is used to communicate with
6 // Bluetooth Smart (Low Energy) devices using the 6 // Bluetooth Smart (Low Energy) devices using the
7 // <a href="https://developer.bluetooth.org/TechnologyOverview/Pages/GATT.aspx"> 7 // <a href="https://developer.bluetooth.org/TechnologyOverview/Pages/GATT.aspx">
8 // Generic Attribute Profile (GATT)</a>. 8 // Generic Attribute Profile (GATT)</a>.
9 namespace bluetoothLowEnergy { 9 namespace bluetoothLowEnergy {
10 // Values representing the possible properties of a characteristic. 10 // Values representing the possible properties of a characteristic.
11 enum CharacteristicProperty {broadcast, read, writeWithoutResponse, write, 11 enum CharacteristicProperty {broadcast, read, writeWithoutResponse, write,
12 notify, indicate, authenticatedSignedWrites, 12 notify, indicate, authenticatedSignedWrites,
13 extendedProperties, reliableWrite, 13 extendedProperties, reliableWrite,
14 writableAuxiliaries}; 14 writableAuxiliaries};
15 15
16 // Type of advertisement. If 'broadcast' is chosen, the sent advertisement 16 // Type of advertisement. If 'broadcast' is chosen, the sent advertisement
17 // type will be ADV_NONCONN_IND and the device will broadcast with a random 17 // type will be ADV_NONCONN_IND and the device will broadcast with a random
18 // MAC Address. If set to 'peripheral', the advertisement type will be 18 // MAC Address. If set to 'peripheral', the advertisement type will be
19 // ADV_IND or ADV_SCAN_IND and the device will broadcast with real Bluetooth 19 // ADV_IND or ADV_SCAN_IND and the device will broadcast with real Bluetooth
20 // Adapter's MAC Address. 20 // Adapter's MAC Address.
21 enum AdvertisementType {broadcast, peripheral}; 21 enum AdvertisementType {broadcast, peripheral};
22 22
23 // Result of a register or unregister service call.
24 enum ServiceResult {
25 // The service operation was successful.
26 success,
27 // The service that is being registered is already regsitered.
28 alreadyRegistered,
29 // The service that is being unregistered is not regsitered.
30 notRegistered
31 };
32
33 // Represents a bluetooth central device that is connected to the local GATT
34 // server.
35 dictionary Device {
36 // The address of the device, in the format 'XX:XX:XX:XX:XX:XX'.
37 DOMString address;
38
39 // The human-readable name of the device.
40 DOMString? name;
41
42 // The class of the device, a bit-field defined by
43 // http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband.
44 long? deviceClass;
45 };
46
23 // Represents a peripheral's Bluetooth GATT Service, a collection of 47 // Represents a peripheral's Bluetooth GATT Service, a collection of
24 // characteristics and relationships to other services that encapsulate 48 // characteristics and relationships to other services that encapsulate
25 // the behavior of part of a device. 49 // the behavior of part of a device.
26 dictionary Service { 50 dictionary Service {
27 // The UUID of the service, e.g. 0000180d-0000-1000-8000-00805f9b34fb. 51 // The UUID of the service, e.g. 0000180d-0000-1000-8000-00805f9b34fb.
28 DOMString uuid; 52 DOMString uuid;
29 53
30 // Indicates whether the type of this service is primary or secondary. 54 // Indicates whether the type of this service is primary or secondary.
31 boolean isPrimary; 55 boolean isPrimary;
32 56
33 // Indicates whether this service represents a local service hosted by the
34 // application and available to other peripherals, or a remote service
35 // hosted and received from a remote peripheral.
36 [nodoc] boolean isLocal;
37
38 // Returns the identifier assigned to this service. Use the instance ID to 57 // Returns the identifier assigned to this service. Use the instance ID to
39 // distinguish between services from a peripheral with the same UUID and 58 // distinguish between services from a peripheral with the same UUID and
40 // to make function calls that take in a service identifier. Present, if 59 // to make function calls that take in a service identifier. Present, if
41 // this instance represents a remote service. 60 // this instance represents a remote service.
42 DOMString? instanceId; 61 DOMString? instanceId;
43 62
44 // The device address of the remote peripheral that the GATT service belongs 63 // The device address of the remote peripheral that the GATT service belongs
45 // to. Present, if this instance represents a remote service. 64 // to. Present, if this instance represents a remote service.
46 DOMString? deviceAddress; 65 DOMString? deviceAddress;
47 }; 66 };
48 67
49 // Represents a GATT characteristic, which is a basic data element that 68 // Represents a GATT characteristic, which is a basic data element that
50 // provides further information about a peripheral's service. 69 // provides further information about a peripheral's service.
51 dictionary Characteristic { 70 dictionary Characteristic {
52 // The UUID of the characteristic, e.g. 71 // The UUID of the characteristic, e.g.
53 // 00002a37-0000-1000-8000-00805f9b34fb. 72 // 00002a37-0000-1000-8000-00805f9b34fb.
54 DOMString uuid; 73 DOMString uuid;
55 74
56 // Indicates whether this characteristic represents a local characteristic
57 // hosted by the application and available to other peripherals, or a remote
58 // characteristic hosted and received from a remote peripheral.
59 [nodoc] boolean isLocal;
60
61 // The GATT service this characteristic belongs to. 75 // The GATT service this characteristic belongs to.
62 Service service; 76 Service? service;
63 77
64 // The properties of this characteristic. 78 // The properties of this characteristic.
65 CharacteristicProperty[] properties; 79 CharacteristicProperty[] properties;
66 80
67 // Returns the identifier assigned to this characteristic. Use the instance 81 // Returns the identifier assigned to this characteristic. Use the instance
68 // ID to distinguish between characteristics from a peripheral with the same 82 // ID to distinguish between characteristics from a peripheral with the same
69 // UUID and to make function calls that take in a characteristic identifier. 83 // UUID and to make function calls that take in a characteristic identifier.
70 // Present, if this instance represents a remote characteristic. 84 // Present, if this instance represents a remote characteristic.
71 DOMString? instanceId; 85 DOMString? instanceId;
72 86
73 // The currently cached characteristic value. This value gets updated when 87 // The currently cached characteristic value. This value gets updated when
74 // the value of the characteristic is read or updated via a notification 88 // the value of the characteristic is read or updated via a notification
75 // or indication. 89 // or indication.
76 ArrayBuffer? value; 90 ArrayBuffer? value;
77 }; 91 };
78 92
79 // Represents a GATT characteristic descriptor, which provides further 93 // Represents a GATT characteristic descriptor, which provides further
80 // information about a characteristic's value. 94 // information about a characteristic's value.
81 dictionary Descriptor { 95 dictionary Descriptor {
82 // The UUID of the characteristic descriptor, e.g. 96 // The UUID of the characteristic descriptor, e.g.
83 // 00002902-0000-1000-8000-00805f9b34fb. 97 // 00002902-0000-1000-8000-00805f9b34fb.
84 DOMString uuid; 98 DOMString uuid;
85 99
86 // Indicates whether this descriptor represents a local descriptor
87 // hosted by the application and available to other peripherals, or a remote
88 // descriptor hosted and received from a remote peripheral.
89 [nodoc] boolean isLocal;
90
91 // The GATT characteristic this descriptor belongs to. 100 // The GATT characteristic this descriptor belongs to.
92 Characteristic characteristic; 101 Characteristic? characteristic;
93 102
94 // Returns the identifier assigned to this descriptor. Use the instance ID 103 // Returns the identifier assigned to this descriptor. Use the instance ID
95 // to distinguish between descriptors from a peripheral with the same UUID 104 // to distinguish between descriptors from a peripheral with the same UUID
96 // and to make function calls that take in a descriptor identifier. Present, 105 // and to make function calls that take in a descriptor identifier. Present,
97 // if this instance represents a remote characteristic. 106 // if this instance represents a remote characteristic.
98 DOMString? instanceId; 107 DOMString? instanceId;
99 108
100 // The currently cached descriptor value. This value gets updated when 109 // The currently cached descriptor value. This value gets updated when
101 // the value of the descriptor is read. 110 // the value of the descriptor is read.
102 ArrayBuffer? value; 111 ArrayBuffer? value;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 // List of UUIDs to include in the "Solicit UUIDs" field of the Advertising 160 // List of UUIDs to include in the "Solicit UUIDs" field of the Advertising
152 // Data. These UUIDs can be of the 16bit, 32bit or 128 formats. 161 // Data. These UUIDs can be of the 16bit, 32bit or 128 formats.
153 DOMString[]? solicitUuids; 162 DOMString[]? solicitUuids;
154 163
155 // List of service data to be included in "Service Data" fields of the adver tising 164 // List of service data to be included in "Service Data" fields of the adver tising
156 // data. 165 // data.
157 ServiceData[]? serviceData; 166 ServiceData[]? serviceData;
158 }; 167 };
159 168
160 callback CharacteristicCallback = void(Characteristic result); 169 callback CharacteristicCallback = void(Characteristic result);
170 callback CreateCharacteristicCallback = void(DOMString characteristicId);
161 callback CharacteristicsCallback = void(Characteristic[] result); 171 callback CharacteristicsCallback = void(Characteristic[] result);
162 callback DescriptorCallback = void(Descriptor result); 172 callback DescriptorCallback = void(Descriptor result);
173 callback CreateDescriptorCallback = void(DOMString descriptorId);
163 callback DescriptorsCallback = void(Descriptor[] result); 174 callback DescriptorsCallback = void(Descriptor[] result);
164 callback ResultCallback = void(); 175 callback ResultCallback = void();
165 callback ServiceCallback = void(Service result); 176 callback ServiceCallback = void(Service result);
177 callback CreateServiceCallback = void(DOMString serviceId);
166 callback ServicesCallback = void(Service[] result); 178 callback ServicesCallback = void(Service[] result);
179 callback ServiceResultCallback = void(ServiceResult result);
167 callback RegisterAdvertisementCallback = void (long advertisementId); 180 callback RegisterAdvertisementCallback = void (long advertisementId);
168 181
169 // These functions all report failures via chrome.runtime.lastError. 182 // These functions all report failures via chrome.runtime.lastError.
170 interface Functions { 183 interface Functions {
171 // Establishes a connection between the application and the device with the 184 // Establishes a connection between the application and the device with the
172 // given address. A device may be already connected and its GATT services 185 // given address. A device may be already connected and its GATT services
173 // available without calling <code>connect</code>, however, an app that 186 // available without calling <code>connect</code>, however, an app that
174 // wants to access GATT services of a device should call this function to 187 // wants to access GATT services of a device should call this function to
175 // make sure that a connection to the device is maintained. If the device 188 // make sure that a connection to the device is maintained. If the device
176 // is not connected, all GATT services of the device will be discovered 189 // is not connected, all GATT services of the device will be discovered
177 // after a successful call to <code>connect</code>. 190 // after a successful call to <code>connect</code>.
178 // |deviceAddress| : The Bluetooth address of the remote device to which a 191 // |deviceAddress|: The Bluetooth address of the remote device to which a
179 // GATT connection should be opened. 192 // GATT connection should be opened.
180 // |properties| : Connection properties (optional). 193 // |properties|: Connection properties (optional).
181 // |callback| : Called when the connect request has completed. 194 // |callback|: Called when the connect request has completed.
182 static void connect(DOMString deviceAddress, 195 static void connect(DOMString deviceAddress,
183 optional ConnectProperties properties, 196 optional ConnectProperties properties,
184 ResultCallback callback); 197 ResultCallback callback);
185 198
186 // Closes the app's connection to the device with the given address. Note 199 // Closes the app's connection to the device with the given address. Note
187 // that this will not always destroy the physical link itself, since there 200 // that this will not always destroy the physical link itself, since there
188 // may be other apps with open connections. 201 // may be other apps with open connections.
189 // |deviceAddress| : The Bluetooth address of the remote device. 202 // |deviceAddress|: The Bluetooth address of the remote device.
190 // |callback| : Called when the disconnect request has completed. 203 // |callback|: Called when the disconnect request has completed.
191 static void disconnect(DOMString deviceAddress, 204 static void disconnect(DOMString deviceAddress,
192 optional ResultCallback callback); 205 optional ResultCallback callback);
193 206
194 // Get the GATT service with the given instance ID. 207 // Get the GATT service with the given instance ID.
195 // |serviceId| : The instance ID of the requested GATT service. 208 // |serviceId|: The instance ID of the requested GATT service.
196 // |callback| : Called with the requested Service object. 209 // |callback|: Called with the requested Service object.
197 static void getService(DOMString serviceId, ServiceCallback callback); 210 static void getService(DOMString serviceId, ServiceCallback callback);
198 211
212 // Create a locally hosted GATT service. This service can be registered
213 // to be available on a local GATT server.
214 // |service|: The service to create.
215 // |callback|: Called with the created services's unique ID.
216 static void createService(Service service, CreateServiceCallback callback);
217
199 // Get all the GATT services that were discovered on the remote device with 218 // Get all the GATT services that were discovered on the remote device with
200 // the given device address. 219 // the given device address.
201 // |deviceAddress| : The Bluetooth address of the remote device whose GATT 220 // |deviceAddress|: The Bluetooth address of the remote device whose GATT
202 // services should be returned. 221 // services should be returned.
203 // |callback| : Called with the list of requested Service objects. 222 // |callback|: Called with the list of requested Service objects.
204 static void getServices(DOMString deviceAddress, ServicesCallback callback); 223 static void getServices(DOMString deviceAddress, ServicesCallback callback);
205 224
206 // Get the GATT characteristic with the given instance ID that belongs to 225 // Get the GATT characteristic with the given instance ID that belongs to
207 // the given GATT service, if the characteristic exists. 226 // the given GATT service, if the characteristic exists.
208 // |characteristicId| : The instance ID of the requested GATT 227 // |characteristicId|: The instance ID of the requested GATT
209 // characteristic. 228 // characteristic.
210 // |callback| : Called with the requested Characteristic object. 229 // |callback|: Called with the requested Characteristic object.
211 static void getCharacteristic(DOMString characteristicId, 230 static void getCharacteristic(DOMString characteristicId,
212 CharacteristicCallback callback); 231 CharacteristicCallback callback);
213 232
233 // Create a locally hosted GATT characteristic. This characteristic must
234 // be hosted under a valid service. If the service ID is not valid, the
235 // lastError will be set.
236 // |characteristic|: The characteristic to create.
237 // |serviceId|: ID of the service to create this characteristic for.
238 // |callback|: Called with the created characteristic's unique ID.
239 static void createCharacteristic(Characteristic characteristic,
240 DOMString serviceId,
Devlin 2016/04/27 22:30:15 indentation
rkc 2016/04/27 22:40:23 Done.
241 CreateCharacteristicCallback callback);
242
214 // Get a list of all discovered GATT characteristics that belong to the 243 // Get a list of all discovered GATT characteristics that belong to the
215 // given service. 244 // given service.
216 // |serviceId| : The instance ID of the GATT service whose characteristics 245 // |serviceId|: The instance ID of the GATT service whose characteristics
217 // should be returned. 246 // should be returned.
218 // |callback| : Called with the list of characteristics that belong to the 247 // |callback|: Called with the list of characteristics that belong to the
219 // given service. 248 // given service.
220 static void getCharacteristics(DOMString serviceId, 249 static void getCharacteristics(DOMString serviceId,
221 CharacteristicsCallback callback); 250 CharacteristicsCallback callback);
222 251
223 // Get a list of GATT services that are included by the given service. 252 // Get a list of GATT services that are included by the given service.
224 // |serviceId| : The instance ID of the GATT service whose included 253 // |serviceId|: The instance ID of the GATT service whose included
225 // services should be returned. 254 // services should be returned.
226 // |callback| : Called with the list of GATT services included from the 255 // |callback|: Called with the list of GATT services included from the
227 // given service. 256 // given service.
228 static void getIncludedServices(DOMString serviceId, 257 static void getIncludedServices(DOMString serviceId,
229 ServicesCallback callback); 258 ServicesCallback callback);
230 259
231 // Get the GATT characteristic descriptor with the given instance ID. 260 // Get the GATT characteristic descriptor with the given instance ID.
232 // |descriptorId| : The instance ID of the requested GATT characteristic 261 // |descriptorId|: The instance ID of the requested GATT characteristic
233 // descriptor. 262 // descriptor.
234 // |callback| : Called with the requested Descriptor object. 263 // |callback|: Called with the requested Descriptor object.
235 static void getDescriptor(DOMString descriptorId, 264 static void getDescriptor(DOMString descriptorId,
236 DescriptorCallback callback); 265 DescriptorCallback callback);
237 266
267 // Create a locally hosted GATT descriptor. This descriptor must
268 // be hosted under a valid characteristic. If the characteristic ID is not
269 // valid, the lastError will be set.
270 // |descriptor|: The descriptor to create.
271 // |characteristicId|: ID of the characteristic to create this descriptor
272 // for.
273 // |callback|: Called with the created descriptor's unique ID.
274 static void createDescriptor(Descriptor descriptor,
275 DOMString characteristicId,
Devlin 2016/04/27 22:30:15 indentation
rkc 2016/04/27 22:40:23 Done.
276 CreateDescriptorCallback callback);
277
238 // Get a list of GATT characteristic descriptors that belong to the given 278 // Get a list of GATT characteristic descriptors that belong to the given
239 // characteristic. 279 // characteristic.
240 // |characteristicId| : The instance ID of the GATT characteristic whose 280 // |characteristicId|: The instance ID of the GATT characteristic whose
241 // descriptors should be returned. 281 // descriptors should be returned.
242 // |callback| : Called with the list of descriptors that belong to the given 282 // |callback|: Called with the list of descriptors that belong to the given
243 // characteristic. 283 // characteristic.
244 static void getDescriptors(DOMString characteristicId, 284 static void getDescriptors(DOMString characteristicId,
245 DescriptorsCallback callback); 285 DescriptorsCallback callback);
246 286
247 // Retrieve the value of a specified characteristic from a remote 287 // Retrieve the value of a specified characteristic from a remote
248 // peripheral. 288 // peripheral.
249 // |characteristicId| : The instance ID of the GATT characteristic whose 289 // |characteristicId|: The instance ID of the GATT characteristic whose
250 // value should be read from the remote device. 290 // value should be read from the remote device.
251 // |callback| : Called with the Characteristic object whose value was 291 // |callback|: Called with the Characteristic object whose value was
252 // requested. The <code>value</code> field of the returned Characteristic 292 // requested. The <code>value</code> field of the returned Characteristic
253 // object contains the result of the read request. 293 // object contains the result of the read request.
254 static void readCharacteristicValue(DOMString characteristicId, 294 static void readCharacteristicValue(DOMString characteristicId,
255 CharacteristicCallback callback); 295 CharacteristicCallback callback);
256 296
257 // Write the value of a specified characteristic from a remote peripheral. 297 // Write the value of a specified characteristic from a remote peripheral.
258 // |characteristicId| : The instance ID of the GATT characteristic whose 298 // |characteristicId|: The instance ID of the GATT characteristic whose
259 // value should be written to. 299 // value should be written to.
260 // |value| : The value that should be sent to the remote characteristic as 300 // |value|: The value that should be sent to the remote characteristic as
261 // part of the write request. 301 // part of the write request.
262 // |callback| : Called when the write request has completed. 302 // |callback|: Called when the write request has completed.
263 static void writeCharacteristicValue(DOMString characteristicId, 303 static void writeCharacteristicValue(DOMString characteristicId,
264 ArrayBuffer value, 304 ArrayBuffer value,
265 ResultCallback callback); 305 ResultCallback callback);
266 306
267 // Enable value notifications/indications from the specified characteristic. 307 // Enable value notifications/indications from the specified characteristic.
268 // Once enabled, an application can listen to notifications using the 308 // Once enabled, an application can listen to notifications using the
269 // $(ref:onCharacteristicValueChanged) event. 309 // $(ref:onCharacteristicValueChanged) event.
270 // |characteristicId| : The instance ID of the GATT characteristic that 310 // |characteristicId|: The instance ID of the GATT characteristic that
271 // notifications should be enabled on. 311 // notifications should be enabled on.
272 // |properties| : Notification session properties (optional). 312 // |properties|: Notification session properties (optional).
273 // |callback| : Called when the request has completed. 313 // |callback|: Called when the request has completed.
274 static void startCharacteristicNotifications( 314 static void startCharacteristicNotifications(
275 DOMString characteristicId, 315 DOMString characteristicId,
276 optional NotificationProperties properties, 316 optional NotificationProperties properties,
277 ResultCallback callback); 317 ResultCallback callback);
278 318
279 // Disable value notifications/indications from the specified 319 // Disable value notifications/indications from the specified
280 // characteristic. After a successful call, the application will stop 320 // characteristic. After a successful call, the application will stop
281 // receiving notifications/indications from this characteristic. 321 // receiving notifications/indications from this characteristic.
282 // |characteristicId| : The instance ID of the GATT characteristic on which 322 // |characteristicId|: The instance ID of the GATT characteristic on which
283 // this app's notification session should be stopped. 323 // this app's notification session should be stopped.
284 // |callback| : Called when the request has completed (optional). 324 // |callback|: Called when the request has completed (optional).
285 static void stopCharacteristicNotifications( 325 static void stopCharacteristicNotifications(
286 DOMString characteristicId, 326 DOMString characteristicId,
287 optional ResultCallback callback); 327 optional ResultCallback callback);
288 328
289 // Retrieve the value of a specified characteristic descriptor from a remote 329 // Retrieve the value of a specified characteristic descriptor from a remote
290 // peripheral. 330 // peripheral.
291 // |descriptorId| : The instance ID of the GATT characteristic descriptor 331 // |descriptorId|: The instance ID of the GATT characteristic descriptor
292 // whose value should be read from the remote device. 332 // whose value should be read from the remote device.
293 // |callback| : Called with the Descriptor object whose value was requested. 333 // |callback|: Called with the Descriptor object whose value was requested.
294 // The <code>value</code> field of the returned Descriptor object contains 334 // The <code>value</code> field of the returned Descriptor object contains
295 // the result of the read request. 335 // the result of the read request.
296 static void readDescriptorValue(DOMString descriptorId, 336 static void readDescriptorValue(DOMString descriptorId,
297 DescriptorCallback callback); 337 DescriptorCallback callback);
298 338
299 // Write the value of a specified characteristic descriptor from a remote 339 // Write the value of a specified characteristic descriptor from a remote
300 // peripheral. 340 // peripheral.
301 // |descriptorId| : The instance ID of the GATT characteristic descriptor 341 // |descriptorId|: The instance ID of the GATT characteristic descriptor
302 // whose value should be written to. 342 // whose value should be written to.
303 // |value| : The value that should be sent to the remote descriptor as part 343 // |value|: The value that should be sent to the remote descriptor as part
304 // of the write request. 344 // of the write request.
305 // |callback| : Called when the write request has completed. 345 // |callback|: Called when the write request has completed.
306 static void writeDescriptorValue(DOMString descriptorId, 346 static void writeDescriptorValue(DOMString descriptorId,
307 ArrayBuffer value, 347 ArrayBuffer value,
308 ResultCallback callback); 348 ResultCallback callback);
309 349
350 // Register the given service with the local GATT server. If the service
351 // ID is invalid, the lastError will be set.
352 // |serviceId|: Unique ID of a created service.
353 // |callback|: Callback with the result of the register operation.
354 static void registerService(DOMString serviceId,
Devlin 2016/04/27 22:30:15 put all arguments at equal indentation, so either
rkc 2016/04/27 22:40:23 Done.
355 ServiceResultCallback callback);
356
357 // Unregister the given service with the local GATT server. If the service
358 // ID is invalid, the lastError will be set.
359 // |serviceId|: Unique ID of a current registered service.
360 // |callback|: Callback with the result of the register operation.
361 static void unregisterService(DOMString serviceId,
362 ServiceResultCallback callback);
363
310 // Create an advertisement and register it for advertising. To call this 364 // Create an advertisement and register it for advertising. To call this
311 // function, the app must have the bluetooth:low_energy and 365 // function, the app must have the bluetooth:low_energy and
312 // bluetooth:peripheral permissions set to true. Additionally this API 366 // bluetooth:peripheral permissions set to true. Additionally this API
313 // is only available to auto launched apps in Kiosk Mode of by setting 367 // is only available to auto launched apps in Kiosk Mode of by setting
314 // the 'enable-ble-advertising-in-apps' flag. 368 // the 'enable-ble-advertising-in-apps' flag.
315 // See https://developer.chrome.com/apps/manifest/bluetooth 369 // See https://developer.chrome.com/apps/manifest/bluetooth
316 // Note: On some hardware, central and peripheral modes at the same time is 370 // Note: On some hardware, central and peripheral modes at the same time is
317 // supported but on hardware that doesn't support this, making this call 371 // supported but on hardware that doesn't support this, making this call
318 // will switch the device to peripheral mode. In the case of hardware which 372 // will switch the device to peripheral mode. In the case of hardware which
319 // does not support both central and peripheral mode, attempting to use the 373 // does not support both central and peripheral mode, attempting to use the
320 // device in both modes will lead to undefined behavior or prevent other 374 // device in both modes will lead to undefined behavior or prevent other
321 // central-role applications from behaving correctly (including the 375 // central-role applications from behaving correctly (including the
322 // discovery of Bluetooth Low Energy devices). 376 // discovery of Bluetooth Low Energy devices).
323 // |advertisement| : The advertisement to advertise. 377 // |advertisement|: The advertisement to advertise.
324 // |callback| : Called once the registeration is done and we've started 378 // |callback|: Called once the registeration is done and we've started
325 // advertising. Returns the id of the created advertisement. 379 // advertising. Returns the id of the created advertisement.
326 static void registerAdvertisement( 380 static void registerAdvertisement(
327 Advertisement advertisement, RegisterAdvertisementCallback callback); 381 Advertisement advertisement, RegisterAdvertisementCallback callback);
328 382
329 // Unregisters an advertisement and stops its advertising. If the 383 // Unregisters an advertisement and stops its advertising. If the
330 // advertisement fails to unregister the only way to stop advertising 384 // advertisement fails to unregister the only way to stop advertising
331 // might be to restart the device. 385 // might be to restart the device.
332 // |advertisementId| : Id of the advertisement to unregister. 386 // |advertisementId|: Id of the advertisement to unregister.
333 // |callback| : Called once the advertisement is unregistered and is no 387 // |callback|: Called once the advertisement is unregistered and is no
334 // longer being advertised. 388 // longer being advertised.
335 static void unregisterAdvertisement(long advertisementId, 389 static void unregisterAdvertisement(long advertisementId,
336 ResultCallback callback); 390 ResultCallback callback);
391
392 // Sends a response for a characteristic or descriptor read/write
393 // request.
394 // |requestId|: Id of the request this is a response to.
395 // |isError|: If this is an error response, this should be true.
396 // |value|: Response value. This is optional. Write requests and
397 // error responses will ignore this parameter.
398 static void sendRequestResponse(long requestId, boolean isError,
Devlin 2016/04/27 22:30:15 for functions like this, it's a lot nicer to take
rkc 2016/04/27 22:40:23 Done.
399 optional ArrayBuffer value);
Devlin 2016/04/27 22:30:15 ditto
rkc 2016/04/27 22:40:23 Done.
337 }; 400 };
338 401
339 interface Events { 402 interface Events {
340 // Fired whan a new GATT service has been discovered on a remote device. 403 // Fired whan a new GATT service has been discovered on a remote device.
341 // |service| : The GATT service that was added. 404 // |service|: The GATT service that was added.
342 static void onServiceAdded(Service service); 405 static void onServiceAdded(Service service);
343 406
344 // Fired when the state of a remote GATT service changes. This involves any 407 // Fired when the state of a remote GATT service changes. This involves any
345 // characteristics and/or descriptors that get added or removed from the 408 // characteristics and/or descriptors that get added or removed from the
346 // service, as well as "ServiceChanged" notifications from the remote 409 // service, as well as "ServiceChanged" notifications from the remote
347 // device. 410 // device.
348 // |service| : The GATT service whose state has changed. 411 // |service|: The GATT service whose state has changed.
349 static void onServiceChanged(Service service); 412 static void onServiceChanged(Service service);
350 413
351 // Fired when a GATT service that was previously discovered on a remote 414 // Fired when a GATT service that was previously discovered on a remote
352 // device has been removed. 415 // device has been removed.
353 // |service| : The GATT service that was removed. 416 // |service|: The GATT service that was removed.
354 static void onServiceRemoved(Service service); 417 static void onServiceRemoved(Service service);
355 418
356 // Fired when the value of a remote GATT characteristic changes, either as 419 // Fired when the value of a remote GATT characteristic changes, either as
357 // a result of a read request, or a value change notification/indication 420 // a result of a read request, or a value change notification/indication
358 // This event will only be sent if the app has enabled notifications by 421 // This event will only be sent if the app has enabled notifications by
359 // calling $(ref:startCharacteristicNotifications). 422 // calling $(ref:startCharacteristicNotifications).
360 // |characteristic| : The GATT characteristic whose value has changed. 423 // |characteristic|: The GATT characteristic whose value has changed.
361 static void onCharacteristicValueChanged(Characteristic characteristic); 424 static void onCharacteristicValueChanged(Characteristic characteristic);
362 425
363 // Fired when the value of a remote GATT characteristic descriptor changes, 426 // Fired when the value of a remote GATT characteristic descriptor changes,
364 // usually as a result of a read request. This event exists 427 // usually as a result of a read request. This event exists
365 // mostly for convenience and will always be sent after a successful 428 // mostly for convenience and will always be sent after a successful
366 // call to $(ref:readDescriptorValue). 429 // call to $(ref:readDescriptorValue).
367 // |descriptor| : The GATT characteristic descriptor whose value has 430 // |descriptor|: The GATT characteristic descriptor whose value has
368 // changed. 431 // changed.
369 static void onDescriptorValueChanged(Descriptor descriptor); 432 static void onDescriptorValueChanged(Descriptor descriptor);
433
434 // Fired when a connected central device requests to read the value of a
435 // characteristic registered on the local GATT server. Not responding
436 // to this request for a long time may lead to a disconnection.
437 // |requestId|: Unique ID for this request. Use this ID when responding
438 // to this request via the sendRequestResponse function.
439 // |device|: The bluetooth device that is requesting this read.
440 // |characteristic|: The GATT characteristic whose value is requested.
441 static void onCharacteristicReadRequest(long requestId, Device device,
Devlin 2016/04/27 22:30:15 argument indentation (all of these)
rkc 2016/04/27 22:40:23 Done.
442 Characteristic characteristic);
443
444 // Fired when a connected central device requests to write the value of a
445 // characteristic registered on the local GATT server. Not responding
446 // to this request for a long time may lead to a disconnection.
447 // |requestId|: Unique ID for this request. Use this ID when responding
448 // to this request via the sendRequestResponse function.
449 // |device|: The bluetooth device that is requesting this write.
450 // |characteristic|: The GATT characteristic whose value is being written.
451 static void onCharacteristicWriteRequest(long requestId, Device device,
452 Characteristic characteristic, ArrayBuffer value);
453
454 // Fired when a connected central device requests to read the value of a
455 // descriptor registered on the local GATT server. Not responding to
456 // this request for a long time may lead to a disconnection.
457 // |requestId|: Unique ID for this request. Use this ID when responding
458 // to this request via the sendRequestResponse function.
459 // |device|: The bluetooth device that is requesting this read.
460 // |descriptor|: The GATT descriptor whose value is requested.
461 static void onDescriptorReadRequest(long requestId, Device device,
462 Descriptor descriptor);
463
464 // Fired when a connected central device requests to write the value of a
465 // descriptor registered on the local GATT server. Not responding to
466 // this request for a long time may lead to a disconnection.
467 // |requestId|: Unique ID for this request. Use this ID when responding
468 // to this request via the sendRequestResponse function.
469 // |device|: The bluetooth device that is requesting this write.
470 // |descriptor|: The GATT descriptor whose value is being written.
471 static void onDescriptorWriteRequest(long requestId, Device device,
472 Descriptor descriptor, ArrayBuffer value);
370 }; 473 };
371 }; 474 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698