| Index: extensions/common/api/bluetooth_private.idl
|
| diff --git a/extensions/common/api/bluetooth_private.idl b/extensions/common/api/bluetooth_private.idl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7d7d2448ffbde60c654434878cd0eabaf929934d
|
| --- /dev/null
|
| +++ b/extensions/common/api/bluetooth_private.idl
|
| @@ -0,0 +1,136 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// Use the <code>chrome.bluetoothPrivate</code> API to control the Bluetooth
|
| +// adapter state and handle device pairing.
|
| +// NOTE: This IDL is dependent on bluetooth.idl.
|
| +
|
| +[implemented_in = "extensions/browser/api/bluetooth/bluetooth_private_api.h"]
|
| +
|
| +namespace bluetoothPrivate {
|
| + // Events that can occur during pairing. The method used for pairing varies
|
| + // depending on the capability of the two devices.
|
| + enum PairingEventType {
|
| + // An alphanumeric PIN code is required to be entered by the user.
|
| + requestPincode,
|
| +
|
| + // Display a PIN code to the user.
|
| + displayPincode,
|
| +
|
| + // A numeric passkey is required to be entered by the user.
|
| + requestPasskey,
|
| +
|
| + // Display a zero padded 6 digit numeric passkey that the user entered on
|
| + // the remote device. This event may occur multiple times during pairing to
|
| + // update the entered passkey.
|
| + displayPasskey,
|
| +
|
| + // The number of keys inputted by the user on the remote device when
|
| + // entering a passkey. This event may be called multiple times during
|
| + // pairing to update the number of keys inputted.
|
| + keysEntered,
|
| +
|
| + // Requests that a 6 digit passkey be displayed and the user confirms that
|
| + // both devies show the same passkey.
|
| + confirmPasskey,
|
| +
|
| + // Requests authorization for a pairing under the just-works model. It is up
|
| + // to the app to ask for user confirmation.
|
| + requestAuthorization,
|
| +
|
| + // Pairing is completed.
|
| + complete
|
| + };
|
| +
|
| + // Valid pairing responses.
|
| + enum PairingResponse {
|
| + confirm, reject, cancel
|
| + };
|
| +
|
| + enum TransportType {
|
| + le, bredr, dual
|
| + };
|
| +
|
| + // A pairing event received from a Bluetooth device.
|
| + dictionary PairingEvent {
|
| + PairingEventType pairing;
|
| + bluetooth.Device device;
|
| + DOMString? pincode;
|
| + long? passkey;
|
| + long? enteredKey;
|
| + };
|
| +
|
| + dictionary NewAdapterState {
|
| + // The human-readable name of the adapter.
|
| + DOMString? name;
|
| +
|
| + // Whether or not the adapter has power.
|
| + boolean? powered;
|
| +
|
| + // Whether the adapter is discoverable by other devices.
|
| + boolean? discoverable;
|
| + };
|
| +
|
| + dictionary SetPairingResponseOptions {
|
| + // The remote device to send the pairing response.
|
| + bluetooth.Device device;
|
| +
|
| + // The response type.
|
| + PairingResponse? response;
|
| +
|
| + // A 1-16 character alphanumeric set in response to
|
| + // <code>requestPincode</code>.
|
| + DOMString? pincode;
|
| +
|
| + // An integer between 0-999999 set in response to
|
| + // <code>requestPasskey</code>.
|
| + long? passkey;
|
| + };
|
| +
|
| + dictionary DiscoveryFilter {
|
| + // Transport type.
|
| + TransportType? transport;
|
| +
|
| + // uuid of service or array of uuids
|
| + (DOMString or DOMString[])? uuids;
|
| +
|
| + // RSSI ranging value. Only devices with RSSI higher than this value will be
|
| + // reported.
|
| + long? rssi;
|
| +
|
| + // Pathloss ranging value. Only devices with pathloss lower than this value
|
| + // will be reported.
|
| + long? pathloss;
|
| + };
|
| +
|
| + callback VoidCallback = void();
|
| +
|
| + // These functions all report failures via chrome.runtime.lastError.
|
| + interface Functions {
|
| + // Changes the state of the Bluetooth adapter.
|
| + // |adapterState|:
|
| + static void setAdapterState(NewAdapterState adapterState,
|
| + optional VoidCallback callback);
|
| +
|
| + static void setPairingResponse(SetPairingResponseOptions options,
|
| + optional VoidCallback callback);
|
| +
|
| + // Tears down all connections to the given device.
|
| + static void disconnectAll(DOMString deviceAddress,
|
| + optional VoidCallback callback);
|
| +
|
| + // Set or clear discovery filter.
|
| + static void setDiscoveryFilter(DiscoveryFilter discoveryFilter,
|
| + optional VoidCallback callback);
|
| +
|
| + // Pairs the given device.
|
| + static void pair(DOMString deviceAddress, optional VoidCallback callback);
|
| + };
|
| +
|
| + interface Events {
|
| + // Fired when a pairing event occurs.
|
| + // |pairingEvent|: A pairing event.
|
| + [maxListeners=1] static void onPairing(PairingEvent pairingEvent);
|
| + };
|
| +};
|
|
|