// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file was generated by:
// tools/json_schema_compiler/compiler.py.
// NOTE: The format of types has changed. 'FooType' is now
// 'chrome.bluetoothPrivate.FooType'.
// Please run the closure compiler before committing changes.
// See https://chromium.googlesource.com/chromium/src/+/main/docs/closure_compilation.md
// TODO(crbug.com/543822): Disable automatic extern generation until fixed.
// s/chrome.bluetoothPrivate.bluetooth.Device/chrome.bluetooth.Device/
// s/chrome.bluetoothPrivate.bluetooth.Transport/chrome.bluetooth.Transport/
/**
* @fileoverview Externs generated from namespace: bluetoothPrivate
* @externs
*/
/** @const */
chrome.bluetoothPrivate = {};
/**
* @enum {string}
*/
chrome.bluetoothPrivate.PairingEventType = {
REQUEST_PINCODE: 'requestPincode',
DISPLAY_PINCODE: 'displayPincode',
REQUEST_PASSKEY: 'requestPasskey',
DISPLAY_PASSKEY: 'displayPasskey',
KEYS_ENTERED: 'keysEntered',
CONFIRM_PASSKEY: 'confirmPasskey',
REQUEST_AUTHORIZATION: 'requestAuthorization',
COMPLETE: 'complete',
};
/**
* @enum {string}
*/
chrome.bluetoothPrivate.ConnectResultType = {
ALREADY_CONNECTED: 'alreadyConnected',
AUTH_CANCELED: 'authCanceled',
AUTH_FAILED: 'authFailed',
AUTH_REJECTED: 'authRejected',
AUTH_TIMEOUT: 'authTimeout',
FAILED: 'failed',
IN_PROGRESS: 'inProgress',
SUCCESS: 'success',
UNKNOWN_ERROR: 'unknownError',
UNSUPPORTED_DEVICE: 'unsupportedDevice',
NOT_READY: 'notReady',
ALREADY_EXISTS: 'alreadyExists',
NOT_CONNECTED: 'notConnected',
DOES_NOT_EXIST: 'doesNotExist',
INVALID_ARGS: 'invalidArgs',
NON_AUTH_TIMEOUT: 'nonAuthTimeout',
NO_MEMORY: 'noMemory',
JNI_ENVIRONMENT: 'jniEnvironment',
JNI_THREAD_ATTACH: 'jniThreadAttach',
WAKELOCK: 'wakelock',
UNEXPECTED_STATE: 'unexpectedState',
SOCKET_ERROR: 'socketError',
};
/**
* @enum {string}
*/
chrome.bluetoothPrivate.PairingResponse = {
CONFIRM: 'confirm',
REJECT: 'reject',
CANCEL: 'cancel',
};
/**
* @enum {string}
*/
chrome.bluetoothPrivate.TransportType = {
LE: 'le',
BREDR: 'bredr',
DUAL: 'dual',
};
/**
* @typedef {{
* pairing: !chrome.bluetoothPrivate.PairingEventType,
* device: !chrome.bluetooth.Device,
* pincode: (string|undefined),
* passkey: (number|undefined),
* enteredKey: (number|undefined)
* }}
*/
chrome.bluetoothPrivate.PairingEvent;
/**
* @typedef {{
* name: (string|undefined),
* powered: (boolean|undefined),
* discoverable: (boolean|undefined)
* }}
*/
chrome.bluetoothPrivate.NewAdapterState;
/**
* @typedef {{
* device: !chrome.bluetooth.Device,
* response: !chrome.bluetoothPrivate.PairingResponse,
* pincode: (string|undefined),
* passkey: (number|undefined)
* }}
*/
chrome.bluetoothPrivate.SetPairingResponseOptions;
/**
* @typedef {{
* transport: (!chrome.bluetoothPrivate.TransportType|undefined),
* uuids: ((string|!Array<string>)|undefined),
* rssi: (number|undefined),
* pathloss: (number|undefined)
* }}
*/
chrome.bluetoothPrivate.DiscoveryFilter;
/**
* Changes the state of the Bluetooth adapter.
* @param {!chrome.bluetoothPrivate.NewAdapterState} adapterState The new state
* of the adapter.
* @param {function(): void=} callback Called when all the state changes have
* been completed.
*/
chrome.bluetoothPrivate.setAdapterState = function(adapterState, callback) {};
/**
* @param {!chrome.bluetoothPrivate.SetPairingResponseOptions} options
* @param {function(): void=} callback
*/
chrome.bluetoothPrivate.setPairingResponse = function(options, callback) {};
/**
* Tears down all connections to the given device.
* @param {string} deviceAddress
* @param {function(): void=} callback
*/
chrome.bluetoothPrivate.disconnectAll = function(deviceAddress, callback) {};
/**
* Forgets the given device.
* @param {string} deviceAddress
* @param {function(): void=} callback
*/
chrome.bluetoothPrivate.forgetDevice = function(deviceAddress, callback) {};
/**
* Set or clear discovery filter.
* @param {!chrome.bluetoothPrivate.DiscoveryFilter} discoveryFilter
* @param {function(): void=} callback
*/
chrome.bluetoothPrivate.setDiscoveryFilter = function(discoveryFilter, callback) {};
/**
* Connects to the given device. This will only throw an error if the device
* address is invalid or the device is already connected. Otherwise this will
* succeed and invoke |callback| with ConnectResultType.
* @param {string} deviceAddress
* @param {function(!chrome.bluetoothPrivate.ConnectResultType): void=} callback
*/
chrome.bluetoothPrivate.connect = function(deviceAddress, callback) {};
/**
* Pairs the given device.
* @param {string} deviceAddress
* @param {function(): void=} callback
*/
chrome.bluetoothPrivate.pair = function(deviceAddress, callback) {};
/**
* Record that a pairing attempt finished. Ignores cancellations.
* @param {!chrome.bluetooth.Transport} transport
* @param {number} pairingDurationMs
* @param {!chrome.bluetoothPrivate.ConnectResultType=} result
*/
chrome.bluetoothPrivate.recordPairing = function(transport, pairingDurationMs, result) {};
/**
* Record that a user-initiated reconnection attempt to an already paired device
* finished. Ignores cancellations.
* @param {!chrome.bluetoothPrivate.ConnectResultType=} result
*/
chrome.bluetoothPrivate.recordReconnection = function(result) {};
/**
* Record that a user selected a device to connect to.
* @param {number} selectionDurationMs
* @param {boolean} wasPaired
* @param {!chrome.bluetooth.Transport} transport
*/
chrome.bluetoothPrivate.recordDeviceSelection = function(selectionDurationMs, wasPaired, transport) {};
/**
* Fired when a pairing event occurs.
* @type {!ChromeEvent}
*/
chrome.bluetoothPrivate.onPairing;
/**
* Fired when a Bluetooth device changed its address.
* @type {!ChromeEvent}
*/
chrome.bluetoothPrivate.onDeviceAddressChanged;