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

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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 159
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
169 // Represents a an attribute read/write request.
170 dictionary Request {
171 // Unique ID for this request. Use this ID when responding this request.
scheib 2016/05/04 00:30:04 responding to
rkc 2016/05/04 00:42:44 Done.
172 long requestId;
173 // Device that send this request.
174 Device device;
175 // Value to write (if this is a write request).
176 ArrayBuffer? value;
177 };
178
179 // Represents a response to an attribute read/write request.
180 dictionary Response {
181 // Id of the request this is a response to.
182 long requestId;
183 // If this is an error response, this should be true.
184 boolean isError;
185 // Response value. Write requests and error responses will ignore this
186 // parameter.
187 ArrayBuffer? value;
188 };
189
160 callback CharacteristicCallback = void(Characteristic result); 190 callback CharacteristicCallback = void(Characteristic result);
191 callback CreateCharacteristicCallback = void(DOMString characteristicId);
161 callback CharacteristicsCallback = void(Characteristic[] result); 192 callback CharacteristicsCallback = void(Characteristic[] result);
162 callback DescriptorCallback = void(Descriptor result); 193 callback DescriptorCallback = void(Descriptor result);
194 callback CreateDescriptorCallback = void(DOMString descriptorId);
163 callback DescriptorsCallback = void(Descriptor[] result); 195 callback DescriptorsCallback = void(Descriptor[] result);
164 callback ResultCallback = void(); 196 callback ResultCallback = void();
165 callback ServiceCallback = void(Service result); 197 callback ServiceCallback = void(Service result);
198 callback CreateServiceCallback = void(DOMString serviceId);
166 callback ServicesCallback = void(Service[] result); 199 callback ServicesCallback = void(Service[] result);
200 callback ServiceResultCallback = void(ServiceResult result);
167 callback RegisterAdvertisementCallback = void (long advertisementId); 201 callback RegisterAdvertisementCallback = void (long advertisementId);
168 202
169 // These functions all report failures via chrome.runtime.lastError. 203 // These functions all report failures via chrome.runtime.lastError.
170 interface Functions { 204 interface Functions {
171 // Establishes a connection between the application and the device with the 205 // Establishes a connection between the application and the device with the
172 // given address. A device may be already connected and its GATT services 206 // given address. A device may be already connected and its GATT services
173 // available without calling <code>connect</code>, however, an app that 207 // available without calling <code>connect</code>, however, an app that
174 // wants to access GATT services of a device should call this function to 208 // 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 209 // 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 210 // is not connected, all GATT services of the device will be discovered
177 // after a successful call to <code>connect</code>. 211 // after a successful call to <code>connect</code>.
178 // |deviceAddress| : The Bluetooth address of the remote device to which a 212 // |deviceAddress|: The Bluetooth address of the remote device to which a
179 // GATT connection should be opened. 213 // GATT connection should be opened.
180 // |properties| : Connection properties (optional). 214 // |properties|: Connection properties (optional).
181 // |callback| : Called when the connect request has completed. 215 // |callback|: Called when the connect request has completed.
182 static void connect(DOMString deviceAddress, 216 static void connect(DOMString deviceAddress,
183 optional ConnectProperties properties, 217 optional ConnectProperties properties,
184 ResultCallback callback); 218 ResultCallback callback);
185 219
186 // Closes the app's connection to the device with the given address. Note 220 // 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 221 // that this will not always destroy the physical link itself, since there
188 // may be other apps with open connections. 222 // may be other apps with open connections.
189 // |deviceAddress| : The Bluetooth address of the remote device. 223 // |deviceAddress|: The Bluetooth address of the remote device.
190 // |callback| : Called when the disconnect request has completed. 224 // |callback|: Called when the disconnect request has completed.
191 static void disconnect(DOMString deviceAddress, 225 static void disconnect(DOMString deviceAddress,
192 optional ResultCallback callback); 226 optional ResultCallback callback);
193 227
194 // Get the GATT service with the given instance ID. 228 // Get the GATT service with the given instance ID.
195 // |serviceId| : The instance ID of the requested GATT service. 229 // |serviceId|: The instance ID of the requested GATT service.
196 // |callback| : Called with the requested Service object. 230 // |callback|: Called with the requested Service object.
197 static void getService(DOMString serviceId, ServiceCallback callback); 231 static void getService(DOMString serviceId, ServiceCallback callback);
198 232
233 // Create a locally hosted GATT service. This service can be registered
scheib 2016/05/04 00:30:04 I don't remember if / how we can flag documentatio
rkc 2016/05/04 00:42:44 We can [nodoc] it but then it goes away from any d
scheib 2016/05/04 01:26:32 Thx, to be clear though as the code is now "cont
rkc 2016/05/04 01:53:29 Actually, I haven't really documented this. The wh
234 // to be available on a local GATT server.
235 // |service|: The service to create.
236 // |callback|: Called with the created services's unique ID.
237 static void createService(Service service, CreateServiceCallback callback);
238
199 // Get all the GATT services that were discovered on the remote device with 239 // Get all the GATT services that were discovered on the remote device with
200 // the given device address. 240 // the given device address.
201 // |deviceAddress| : The Bluetooth address of the remote device whose GATT 241 // |deviceAddress|: The Bluetooth address of the remote device whose GATT
202 // services should be returned. 242 // services should be returned.
203 // |callback| : Called with the list of requested Service objects. 243 // |callback|: Called with the list of requested Service objects.
204 static void getServices(DOMString deviceAddress, ServicesCallback callback); 244 static void getServices(DOMString deviceAddress, ServicesCallback callback);
205 245
206 // Get the GATT characteristic with the given instance ID that belongs to 246 // Get the GATT characteristic with the given instance ID that belongs to
207 // the given GATT service, if the characteristic exists. 247 // the given GATT service, if the characteristic exists.
208 // |characteristicId| : The instance ID of the requested GATT 248 // |characteristicId|: The instance ID of the requested GATT
209 // characteristic. 249 // characteristic.
210 // |callback| : Called with the requested Characteristic object. 250 // |callback|: Called with the requested Characteristic object.
211 static void getCharacteristic(DOMString characteristicId, 251 static void getCharacteristic(DOMString characteristicId,
212 CharacteristicCallback callback); 252 CharacteristicCallback callback);
213 253
254 // Create a locally hosted GATT characteristic. This characteristic must
255 // be hosted under a valid service. If the service ID is not valid, the
256 // lastError will be set.
257 // |characteristic|: The characteristic to create.
258 // |serviceId|: ID of the service to create this characteristic for.
259 // |callback|: Called with the created characteristic's unique ID.
260 static void createCharacteristic(Characteristic characteristic,
261 DOMString serviceId,
262 CreateCharacteristicCallback callback);
263
214 // Get a list of all discovered GATT characteristics that belong to the 264 // Get a list of all discovered GATT characteristics that belong to the
215 // given service. 265 // given service.
216 // |serviceId| : The instance ID of the GATT service whose characteristics 266 // |serviceId|: The instance ID of the GATT service whose characteristics
217 // should be returned. 267 // should be returned.
218 // |callback| : Called with the list of characteristics that belong to the 268 // |callback|: Called with the list of characteristics that belong to the
219 // given service. 269 // given service.
220 static void getCharacteristics(DOMString serviceId, 270 static void getCharacteristics(DOMString serviceId,
221 CharacteristicsCallback callback); 271 CharacteristicsCallback callback);
222 272
223 // Get a list of GATT services that are included by the given service. 273 // Get a list of GATT services that are included by the given service.
224 // |serviceId| : The instance ID of the GATT service whose included 274 // |serviceId|: The instance ID of the GATT service whose included
225 // services should be returned. 275 // services should be returned.
226 // |callback| : Called with the list of GATT services included from the 276 // |callback|: Called with the list of GATT services included from the
227 // given service. 277 // given service.
228 static void getIncludedServices(DOMString serviceId, 278 static void getIncludedServices(DOMString serviceId,
229 ServicesCallback callback); 279 ServicesCallback callback);
230 280
231 // Get the GATT characteristic descriptor with the given instance ID. 281 // Get the GATT characteristic descriptor with the given instance ID.
232 // |descriptorId| : The instance ID of the requested GATT characteristic 282 // |descriptorId|: The instance ID of the requested GATT characteristic
233 // descriptor. 283 // descriptor.
234 // |callback| : Called with the requested Descriptor object. 284 // |callback|: Called with the requested Descriptor object.
235 static void getDescriptor(DOMString descriptorId, 285 static void getDescriptor(DOMString descriptorId,
236 DescriptorCallback callback); 286 DescriptorCallback callback);
237 287
288 // Create a locally hosted GATT descriptor. This descriptor must
289 // be hosted under a valid characteristic. If the characteristic ID is not
290 // valid, the lastError will be set.
291 // |descriptor|: The descriptor to create.
292 // |characteristicId|: ID of the characteristic to create this descriptor
293 // for.
294 // |callback|: Called with the created descriptor's unique ID.
295 static void createDescriptor(Descriptor descriptor,
296 DOMString characteristicId,
297 CreateDescriptorCallback callback);
298
238 // Get a list of GATT characteristic descriptors that belong to the given 299 // Get a list of GATT characteristic descriptors that belong to the given
239 // characteristic. 300 // characteristic.
240 // |characteristicId| : The instance ID of the GATT characteristic whose 301 // |characteristicId|: The instance ID of the GATT characteristic whose
241 // descriptors should be returned. 302 // descriptors should be returned.
242 // |callback| : Called with the list of descriptors that belong to the given 303 // |callback|: Called with the list of descriptors that belong to the given
243 // characteristic. 304 // characteristic.
244 static void getDescriptors(DOMString characteristicId, 305 static void getDescriptors(DOMString characteristicId,
245 DescriptorsCallback callback); 306 DescriptorsCallback callback);
246 307
247 // Retrieve the value of a specified characteristic from a remote 308 // Retrieve the value of a specified characteristic from a remote
248 // peripheral. 309 // peripheral.
249 // |characteristicId| : The instance ID of the GATT characteristic whose 310 // |characteristicId|: The instance ID of the GATT characteristic whose
250 // value should be read from the remote device. 311 // value should be read from the remote device.
251 // |callback| : Called with the Characteristic object whose value was 312 // |callback|: Called with the Characteristic object whose value was
252 // requested. The <code>value</code> field of the returned Characteristic 313 // requested. The <code>value</code> field of the returned Characteristic
253 // object contains the result of the read request. 314 // object contains the result of the read request.
254 static void readCharacteristicValue(DOMString characteristicId, 315 static void readCharacteristicValue(DOMString characteristicId,
255 CharacteristicCallback callback); 316 CharacteristicCallback callback);
256 317
257 // Write the value of a specified characteristic from a remote peripheral. 318 // Write the value of a specified characteristic from a remote peripheral.
258 // |characteristicId| : The instance ID of the GATT characteristic whose 319 // |characteristicId|: The instance ID of the GATT characteristic whose
259 // value should be written to. 320 // value should be written to.
260 // |value| : The value that should be sent to the remote characteristic as 321 // |value|: The value that should be sent to the remote characteristic as
261 // part of the write request. 322 // part of the write request.
262 // |callback| : Called when the write request has completed. 323 // |callback|: Called when the write request has completed.
263 static void writeCharacteristicValue(DOMString characteristicId, 324 static void writeCharacteristicValue(DOMString characteristicId,
264 ArrayBuffer value, 325 ArrayBuffer value,
265 ResultCallback callback); 326 ResultCallback callback);
266 327
267 // Enable value notifications/indications from the specified characteristic. 328 // Enable value notifications/indications from the specified characteristic.
268 // Once enabled, an application can listen to notifications using the 329 // Once enabled, an application can listen to notifications using the
269 // $(ref:onCharacteristicValueChanged) event. 330 // $(ref:onCharacteristicValueChanged) event.
270 // |characteristicId| : The instance ID of the GATT characteristic that 331 // |characteristicId|: The instance ID of the GATT characteristic that
271 // notifications should be enabled on. 332 // notifications should be enabled on.
272 // |properties| : Notification session properties (optional). 333 // |properties|: Notification session properties (optional).
273 // |callback| : Called when the request has completed. 334 // |callback|: Called when the request has completed.
274 static void startCharacteristicNotifications( 335 static void startCharacteristicNotifications(
275 DOMString characteristicId, 336 DOMString characteristicId,
276 optional NotificationProperties properties, 337 optional NotificationProperties properties,
277 ResultCallback callback); 338 ResultCallback callback);
278 339
279 // Disable value notifications/indications from the specified 340 // Disable value notifications/indications from the specified
280 // characteristic. After a successful call, the application will stop 341 // characteristic. After a successful call, the application will stop
281 // receiving notifications/indications from this characteristic. 342 // receiving notifications/indications from this characteristic.
282 // |characteristicId| : The instance ID of the GATT characteristic on which 343 // |characteristicId|: The instance ID of the GATT characteristic on which
283 // this app's notification session should be stopped. 344 // this app's notification session should be stopped.
284 // |callback| : Called when the request has completed (optional). 345 // |callback|: Called when the request has completed (optional).
285 static void stopCharacteristicNotifications( 346 static void stopCharacteristicNotifications(
286 DOMString characteristicId, 347 DOMString characteristicId,
287 optional ResultCallback callback); 348 optional ResultCallback callback);
288 349
289 // Retrieve the value of a specified characteristic descriptor from a remote 350 // Retrieve the value of a specified characteristic descriptor from a remote
290 // peripheral. 351 // peripheral.
291 // |descriptorId| : The instance ID of the GATT characteristic descriptor 352 // |descriptorId|: The instance ID of the GATT characteristic descriptor
292 // whose value should be read from the remote device. 353 // whose value should be read from the remote device.
293 // |callback| : Called with the Descriptor object whose value was requested. 354 // |callback|: Called with the Descriptor object whose value was requested.
294 // The <code>value</code> field of the returned Descriptor object contains 355 // The <code>value</code> field of the returned Descriptor object contains
295 // the result of the read request. 356 // the result of the read request.
296 static void readDescriptorValue(DOMString descriptorId, 357 static void readDescriptorValue(DOMString descriptorId,
297 DescriptorCallback callback); 358 DescriptorCallback callback);
298 359
299 // Write the value of a specified characteristic descriptor from a remote 360 // Write the value of a specified characteristic descriptor from a remote
300 // peripheral. 361 // peripheral.
301 // |descriptorId| : The instance ID of the GATT characteristic descriptor 362 // |descriptorId|: The instance ID of the GATT characteristic descriptor
302 // whose value should be written to. 363 // whose value should be written to.
303 // |value| : The value that should be sent to the remote descriptor as part 364 // |value|: The value that should be sent to the remote descriptor as part
304 // of the write request. 365 // of the write request.
305 // |callback| : Called when the write request has completed. 366 // |callback|: Called when the write request has completed.
306 static void writeDescriptorValue(DOMString descriptorId, 367 static void writeDescriptorValue(DOMString descriptorId,
307 ArrayBuffer value, 368 ArrayBuffer value,
308 ResultCallback callback); 369 ResultCallback callback);
309 370
371 // Register the given service with the local GATT server. If the service
372 // ID is invalid, the lastError will be set.
scheib 2016/05/04 00:30:04 lastError is set, but also the ServiceResultCallba
rkc 2016/05/04 00:42:44 We won't get a service error since we won't even t
scheib 2016/05/04 01:26:32 Sorry I'm not following --- there are two error ro
rkc 2016/05/04 01:53:29 Yes. The lastError error route is used when the ca
373 // |serviceId|: Unique ID of a created service.
374 // |callback|: Callback with the result of the register operation.
375 static void registerService(
376 DOMString serviceId, ServiceResultCallback callback);
377
378 // Unregister the given service with the local GATT server. If the service
379 // ID is invalid, the lastError will be set.
380 // |serviceId|: Unique ID of a current registered service.
381 // |callback|: Callback with the result of the register operation.
382 static void unregisterService(
383 DOMString serviceId, ServiceResultCallback callback);
384
310 // Create an advertisement and register it for advertising. To call this 385 // Create an advertisement and register it for advertising. To call this
311 // function, the app must have the bluetooth:low_energy and 386 // function, the app must have the bluetooth:low_energy and
312 // bluetooth:peripheral permissions set to true. Additionally this API 387 // bluetooth:peripheral permissions set to true. Additionally this API
313 // is only available to auto launched apps in Kiosk Mode of by setting 388 // is only available to auto launched apps in Kiosk Mode of by setting
314 // the 'enable-ble-advertising-in-apps' flag. 389 // the 'enable-ble-advertising-in-apps' flag.
315 // See https://developer.chrome.com/apps/manifest/bluetooth 390 // See https://developer.chrome.com/apps/manifest/bluetooth
316 // Note: On some hardware, central and peripheral modes at the same time is 391 // 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 392 // 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 393 // 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 394 // 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 395 // device in both modes will lead to undefined behavior or prevent other
321 // central-role applications from behaving correctly (including the 396 // central-role applications from behaving correctly (including the
322 // discovery of Bluetooth Low Energy devices). 397 // discovery of Bluetooth Low Energy devices).
323 // |advertisement| : The advertisement to advertise. 398 // |advertisement|: The advertisement to advertise.
324 // |callback| : Called once the registeration is done and we've started 399 // |callback|: Called once the registeration is done and we've started
325 // advertising. Returns the id of the created advertisement. 400 // advertising. Returns the id of the created advertisement.
326 static void registerAdvertisement( 401 static void registerAdvertisement(
327 Advertisement advertisement, RegisterAdvertisementCallback callback); 402 Advertisement advertisement, RegisterAdvertisementCallback callback);
328 403
329 // Unregisters an advertisement and stops its advertising. If the 404 // Unregisters an advertisement and stops its advertising. If the
330 // advertisement fails to unregister the only way to stop advertising 405 // advertisement fails to unregister the only way to stop advertising
331 // might be to restart the device. 406 // might be to restart the device.
332 // |advertisementId| : Id of the advertisement to unregister. 407 // |advertisementId|: Id of the advertisement to unregister.
333 // |callback| : Called once the advertisement is unregistered and is no 408 // |callback|: Called once the advertisement is unregistered and is no
334 // longer being advertised. 409 // longer being advertised.
335 static void unregisterAdvertisement(long advertisementId, 410 static void unregisterAdvertisement(long advertisementId,
336 ResultCallback callback); 411 ResultCallback callback);
412
413 // Sends a response for a characteristic or descriptor read/write
414 // request.
415 // |response|: The response to the request.
416 static void sendRequestResponse(Response response);
337 }; 417 };
338 418
339 interface Events { 419 interface Events {
340 // Fired whan a new GATT service has been discovered on a remote device. 420 // Fired whan a new GATT service has been discovered on a remote device.
341 // |service| : The GATT service that was added. 421 // |service|: The GATT service that was added.
342 static void onServiceAdded(Service service); 422 static void onServiceAdded(Service service);
343 423
344 // Fired when the state of a remote GATT service changes. This involves any 424 // 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 425 // characteristics and/or descriptors that get added or removed from the
346 // service, as well as "ServiceChanged" notifications from the remote 426 // service, as well as "ServiceChanged" notifications from the remote
347 // device. 427 // device.
348 // |service| : The GATT service whose state has changed. 428 // |service|: The GATT service whose state has changed.
349 static void onServiceChanged(Service service); 429 static void onServiceChanged(Service service);
350 430
351 // Fired when a GATT service that was previously discovered on a remote 431 // Fired when a GATT service that was previously discovered on a remote
352 // device has been removed. 432 // device has been removed.
353 // |service| : The GATT service that was removed. 433 // |service|: The GATT service that was removed.
354 static void onServiceRemoved(Service service); 434 static void onServiceRemoved(Service service);
355 435
356 // Fired when the value of a remote GATT characteristic changes, either as 436 // 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 437 // 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 438 // This event will only be sent if the app has enabled notifications by
359 // calling $(ref:startCharacteristicNotifications). 439 // calling $(ref:startCharacteristicNotifications).
360 // |characteristic| : The GATT characteristic whose value has changed. 440 // |characteristic|: The GATT characteristic whose value has changed.
361 static void onCharacteristicValueChanged(Characteristic characteristic); 441 static void onCharacteristicValueChanged(Characteristic characteristic);
362 442
363 // Fired when the value of a remote GATT characteristic descriptor changes, 443 // Fired when the value of a remote GATT characteristic descriptor changes,
364 // usually as a result of a read request. This event exists 444 // usually as a result of a read request. This event exists
365 // mostly for convenience and will always be sent after a successful 445 // mostly for convenience and will always be sent after a successful
366 // call to $(ref:readDescriptorValue). 446 // call to $(ref:readDescriptorValue).
367 // |descriptor| : The GATT characteristic descriptor whose value has 447 // |descriptor|: The GATT characteristic descriptor whose value has
368 // changed. 448 // changed.
369 static void onDescriptorValueChanged(Descriptor descriptor); 449 static void onDescriptorValueChanged(Descriptor descriptor);
450
451 // Fired when a connected central device requests to read the value of a
452 // characteristic registered on the local GATT server. Not responding
453 // to this request for a long time may lead to a disconnection.
454 // |request|: Request data for this request.
455 // |characteristic|: The GATT characteristic whose value is requested.
456 static void onCharacteristicReadRequest(
457 Request request, DOMString characteristicId);
458
459 // Fired when a connected central device requests to write the value of a
460 // characteristic registered on the local GATT server. Not responding
461 // to this request for a long time may lead to a disconnection.
462 // |request|: Request data for this request.
463 // |characteristic|: The GATT characteristic whose value is being written.
464 static void onCharacteristicWriteRequest(
465 Request request, DOMString characteristicId);
466
467 // Fired when a connected central device requests to read the value of a
468 // descriptor registered on the local GATT server. Not responding to
469 // this request for a long time may lead to a disconnection.
470 // |request|: Request data for this request.
471 // |descriptor|: The GATT descriptor whose value is requested.
472 static void onDescriptorReadRequest(
473 Request request, DOMString descriptorId);
474
475 // Fired when a connected central device requests to write the value of a
476 // descriptor registered on the local GATT server. Not responding to
477 // this request for a long time may lead to a disconnection.
478 // |request|: Request data for this request.
479 // |descriptor|: The GATT descriptor whose value is being written.
480 static void onDescriptorWriteRequest(
481 Request request, DOMString descriptorId);
370 }; 482 };
371 }; 483 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698