// Copyright 2018 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. // This file was generated by: // tools/json_schema_compiler/compiler.py. // NOTE: The format of types has changed. 'FooType' is now // 'chrome.bluetooth.FooType'. // Please run the closure compiler before committing changes. // See https://chromium.googlesource.com/chromium/src/+/master/docs/closure_compilation.md /** @fileoverview Externs generated from namespace: bluetooth */ /** * @const */ chrome.bluetooth = {}; /** * @enum {string} * @see https://developer.chrome.com/extensions/bluetooth#type-VendorIdSource */ chrome.bluetooth.VendorIdSource = { BLUETOOTH: 'bluetooth', USB: 'usb', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/bluetooth#type-DeviceType */ chrome.bluetooth.DeviceType = { COMPUTER: 'computer', PHONE: 'phone', MODEM: 'modem', AUDIO: 'audio', CAR_AUDIO: 'carAudio', VIDEO: 'video', PERIPHERAL: 'peripheral', JOYSTICK: 'joystick', GAMEPAD: 'gamepad', KEYBOARD: 'keyboard', MOUSE: 'mouse', TABLET: 'tablet', KEYBOARD_MOUSE_COMBO: 'keyboardMouseCombo', }; /** * @enum {string} * @see https://developer.chrome.com/extensions/bluetooth#type-FilterType */ chrome.bluetooth.FilterType = { ALL: 'all', KNOWN: 'known', }; /** * @typedef {{ * address: string, * name: string, * powered: boolean, * available: boolean, * discovering: boolean * }} * @see https://developer.chrome.com/extensions/bluetooth#type-AdapterState */ chrome.bluetooth.AdapterState; /** * @typedef {{ * address: string, * name: (string|undefined), * deviceClass: (number|undefined), * vendorIdSource: (!chrome.bluetooth.VendorIdSource|undefined), * vendorId: (number|undefined), * productId: (number|undefined), * deviceId: (number|undefined), * type: (!chrome.bluetooth.DeviceType|undefined), * paired: (boolean|undefined), * connected: (boolean|undefined), * connecting: (boolean|undefined), * connectable: (boolean|undefined), * uuids: (!Array|undefined), * inquiryRssi: (number|undefined), * inquiryTxPower: (number|undefined) * }} * @see https://developer.chrome.com/extensions/bluetooth#type-Device */ chrome.bluetooth.Device; /** * @typedef {{ * filterType: (!chrome.bluetooth.FilterType|undefined), * limit: (number|undefined) * }} * @see https://developer.chrome.com/extensions/bluetooth#type-BluetoothFilter */ chrome.bluetooth.BluetoothFilter; /** * Get information about the Bluetooth adapter. * @param {function(!chrome.bluetooth.AdapterState):void} callback Called with * an AdapterState object describing the adapter state. * @see https://developer.chrome.com/extensions/bluetooth#method-getAdapterState */ chrome.bluetooth.getAdapterState = function(callback) {}; /** * Get information about a Bluetooth device known to the system. * @param {string} deviceAddress Address of device to get. * @param {function(!chrome.bluetooth.Device):void} callback Called with the * Device object describing the device. * @see https://developer.chrome.com/extensions/bluetooth#method-getDevice */ chrome.bluetooth.getDevice = function(deviceAddress, callback) {}; /** * Get a list of Bluetooth devices known to the system, including paired and * recently discovered devices. * @param {!chrome.bluetooth.BluetoothFilter=} filter Some criteria to filter * the list of returned bluetooth devices. If the filter is not set or set * to {}, returned device list will contain all bluetooth * devices. Right now this is only supported in ChromeOS, for other * platforms, a full list is returned. * @param {function(!Array):void=} callback Called when * the search is completed. * @see https://developer.chrome.com/extensions/bluetooth#method-getDevices */ chrome.bluetooth.getDevices = function(filter, callback) {}; /** *

Start discovery. Newly discovered devices will be returned via the * onDeviceAdded event. Previously discovered devices already known to the * adapter must be obtained using getDevices and will only be updated using the * |onDeviceChanged| event if information about them changes.

Discovery * will fail to start if this application has already called startDiscovery. * Discovery can be resource intensive: stopDiscovery should be called as soon * as possible.

* @param {function():void=} callback Called to indicate success or failure. * @see https://developer.chrome.com/extensions/bluetooth#method-startDiscovery */ chrome.bluetooth.startDiscovery = function(callback) {}; /** * Stop discovery. * @param {function():void=} callback Called to indicate success or failure. * @see https://developer.chrome.com/extensions/bluetooth#method-stopDiscovery */ chrome.bluetooth.stopDiscovery = function(callback) {}; /** * Fired when the state of the Bluetooth adapter changes. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/bluetooth#event-onAdapterStateChanged */ chrome.bluetooth.onAdapterStateChanged; /** * Fired when information about a new Bluetooth device is available. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/bluetooth#event-onDeviceAdded */ chrome.bluetooth.onDeviceAdded; /** * Fired when information about a known Bluetooth device has changed. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/bluetooth#event-onDeviceChanged */ chrome.bluetooth.onDeviceChanged; /** * Fired when a Bluetooth device that was previously discovered has been out of * range for long enough to be considered unavailable again, and when a paired * device is removed. * @type {!ChromeEvent} * @see https://developer.chrome.com/extensions/bluetooth#event-onDeviceRemoved */ chrome.bluetooth.onDeviceRemoved;