| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 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 // Use the <code>chrome.bluetooth</code> API to connect to a Bluetooth | |
| 6 // device. All functions report failures via chrome.runtime.lastError. | |
| 7 namespace bluetooth { | |
| 8 // Allocation authorities for Vendor IDs. | |
| 9 enum VendorIdSource {bluetooth, usb}; | |
| 10 | |
| 11 // Common device types recognized by Chrome. | |
| 12 enum DeviceType {computer, phone, modem, audio, carAudio, video, peripheral, | |
| 13 joystick, gamepad, keyboard, mouse, tablet, | |
| 14 keyboardMouseCombo}; | |
| 15 | |
| 16 // Information about the state of the Bluetooth adapter. | |
| 17 dictionary AdapterState { | |
| 18 // The address of the adapter, in the format 'XX:XX:XX:XX:XX:XX'. | |
| 19 DOMString address; | |
| 20 | |
| 21 // The human-readable name of the adapter. | |
| 22 DOMString name; | |
| 23 | |
| 24 // Indicates whether or not the adapter has power. | |
| 25 boolean powered; | |
| 26 | |
| 27 // Indicates whether or not the adapter is available (i.e. enabled). | |
| 28 boolean available; | |
| 29 | |
| 30 // Indicates whether or not the adapter is currently discovering. | |
| 31 boolean discovering; | |
| 32 }; | |
| 33 | |
| 34 // Callback from the <code>getAdapterState</code> method. | |
| 35 // |adapterInfo| : Object containing the adapter information. | |
| 36 callback AdapterStateCallback = void(AdapterState adapterInfo); | |
| 37 | |
| 38 // Information about the state of a known Bluetooth device. | |
| 39 dictionary Device { | |
| 40 // The address of the device, in the format 'XX:XX:XX:XX:XX:XX'. | |
| 41 DOMString address; | |
| 42 | |
| 43 // The human-readable name of the device. | |
| 44 DOMString? name; | |
| 45 | |
| 46 // The class of the device, a bit-field defined by | |
| 47 // http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband. | |
| 48 long? deviceClass; | |
| 49 | |
| 50 // The Device ID record of the device, where available. | |
| 51 VendorIdSource? vendorIdSource; | |
| 52 long? vendorId; | |
| 53 long? productId; | |
| 54 long? deviceId; | |
| 55 | |
| 56 // The type of the device, if recognized by Chrome. This is obtained from | |
| 57 // the |deviceClass| field and only represents a small fraction of the | |
| 58 // possible device types. When in doubt you should use the |deviceClass| | |
| 59 // field directly. | |
| 60 DeviceType? type; | |
| 61 | |
| 62 // Indicates whether or not the device is paired with the system. | |
| 63 boolean? paired; | |
| 64 | |
| 65 // Indicates whether the device is currently connected to the system. | |
| 66 boolean? connected; | |
| 67 | |
| 68 // Indicates the RSSI ("received signal strength indication") of the | |
| 69 // connection to the device, measured in dBm, to a resolution of 1dBm. | |
| 70 // If the device is currently connected, then measures the RSSI of the | |
| 71 // connection signal. Otherwise, measures the RSSI of the last inquiry sent | |
| 72 // to the device, where available. Absent if unavailable. | |
| 73 [nodoc] long? rssi; | |
| 74 | |
| 75 // Indicates the host's current transmit power ("Tx power") for the | |
| 76 // connection to the device, measured in dBm, to a resolution of 1dBm. | |
| 77 // This value is only available if the device is currently connected. | |
| 78 [nodoc] long? currentHostTransmitPower; | |
| 79 | |
| 80 // Indicates the host's maximum transmit power ("Tx power") for the | |
| 81 // connection to the device, measured in dBm, to a resolution of 1dBm. | |
| 82 // This value is only available if the device is currently connected. | |
| 83 [nodoc] long? maximumHostTransmitPower; | |
| 84 | |
| 85 // UUIDs of protocols, profiles and services advertised by the device. | |
| 86 // For classic Bluetooth devices, this list is obtained from EIR data and | |
| 87 // SDP tables. For Low Energy devices, this list is obtained from AD and | |
| 88 // GATT primary services. For dual mode devices this may be obtained from | |
| 89 // both. | |
| 90 DOMString[]? uuids; | |
| 91 }; | |
| 92 | |
| 93 // Callback from the <code>getDevice</code> method. | |
| 94 // |deviceInfo| : Object containing the device information. | |
| 95 callback GetDeviceCallback = void(Device deviceInfo); | |
| 96 | |
| 97 // Callback from the <code>getDevices</code> method. | |
| 98 // |deviceInfos| : Array of object containing device information. | |
| 99 callback GetDevicesCallback = void(Device[] deviceInfos); | |
| 100 | |
| 101 // Callback from the <code>startDiscovery</code> method. | |
| 102 callback StartDiscoveryCallback = void(); | |
| 103 | |
| 104 // Callback from the <code>stopDiscovery</code> method. | |
| 105 callback StopDiscoveryCallback = void(); | |
| 106 | |
| 107 // These functions all report failures via chrome.runtime.lastError. | |
| 108 interface Functions { | |
| 109 // Get information about the Bluetooth adapter. | |
| 110 // |callback| : Called with an AdapterState object describing the adapter | |
| 111 // state. | |
| 112 static void getAdapterState(AdapterStateCallback callback); | |
| 113 | |
| 114 // Get information about a Bluetooth device known to the system. | |
| 115 // |deviceAddress| : Address of device to get. | |
| 116 // |callback| : Called with the Device object describing the device. | |
| 117 static void getDevice(DOMString deviceAddress, GetDeviceCallback callback); | |
| 118 | |
| 119 // Get a list of Bluetooth devices known to the system, including paired | |
| 120 // and recently discovered devices. | |
| 121 // |callback| : Called when the search is completed. | |
| 122 static void getDevices(GetDevicesCallback callback); | |
| 123 | |
| 124 // Start discovery. Newly discovered devices will be returned via the | |
| 125 // onDeviceAdded event. Previously discovered devices already known to | |
| 126 // the adapter must be obtained using getDevices and will only be updated | |
| 127 // using the |onDeviceChanged| event if information about them changes. | |
| 128 // | |
| 129 // Discovery will fail to start if this application has already called | |
| 130 // startDiscovery. Discovery can be resource intensive: stopDiscovery | |
| 131 // should be called as soon as possible. | |
| 132 // |callback| : Called to indicate success or failure. | |
| 133 static void startDiscovery(optional StartDiscoveryCallback callback); | |
| 134 | |
| 135 // Stop discovery. | |
| 136 // |callback| : Called to indicate success or failure. | |
| 137 static void stopDiscovery(optional StopDiscoveryCallback callback); | |
| 138 }; | |
| 139 | |
| 140 interface Events { | |
| 141 // Fired when the state of the Bluetooth adapter changes. | |
| 142 // |state| : The new state of the adapter. | |
| 143 static void onAdapterStateChanged(AdapterState state); | |
| 144 | |
| 145 // Fired when information about a new Bluetooth device is available. | |
| 146 static void onDeviceAdded(Device device); | |
| 147 | |
| 148 // Fired when information about a known Bluetooth device has changed. | |
| 149 static void onDeviceChanged(Device device); | |
| 150 | |
| 151 // Fired when a Bluetooth device that was previously discovered has been | |
| 152 // out of range for long enough to be considered unavailable again, and | |
| 153 // when a paired device is removed. | |
| 154 static void onDeviceRemoved(Device device); | |
| 155 }; | |
| 156 }; | |
| OLD | NEW |