B2G/Bluetooth/WebBluetooth-v2/BluetoothManager: Difference between revisions
< B2G | Bluetooth | WebBluetooth-v2
Jump to navigation
Jump to search
(Created page with "== Overview == The BluetoothManager API allows to access all Bluetooth adapters available on the device. Adapters are the connection interface to connect a Bluetooth device to...") |
|||
(72 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
'''BluetoothManager''' allows to access all bluetooth adapters available on the device. Adapters are the interfaces that connect to the remote device. | |||
=== | == Interfaces == | ||
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#BluetoothManager|BluetoothManager]] | |||
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#BluetoothManagerAttribute|BluetoothManagerAttribute]] | |||
=== BluetoothManager === | |||
[CheckPermissions="bluetooth"] | |||
interface BluetoothManager: EventTarget | interface BluetoothManager: EventTarget | ||
{ | { | ||
attribute | readonly attribute [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter#BluetoothAdapter|BluetoothAdapter]]? [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#defaultAdapter|defaultAdapter]]; | ||
BluetoothAdapter[ | attribute EventHandler [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onattributechanged|onattributechanged]]; | ||
attribute EventHandler [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapteradded|onadapteradded]]; | |||
attribute EventHandler [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapterremoved|onadapterremoved]]; | |||
sequence<BluetoothAdapter> [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getAdapters.28.29|getAdapters()]]; | |||
}; | |||
=== BluetoothManagerAttribute === | |||
enum BluetoothManagerAttribute | |||
{ | |||
"unknown", | |||
"defaultAdapter" | |||
}; | }; | ||
== Properties == | |||
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#defaultAdapter|BluetoothManager.defaultAdapter]] | |||
=== defaultAdapter === | |||
; Description | |||
: The default adapter used to connect to the remote bluetooth devices. | |||
; Value type | |||
: [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter#BluetoothAdapter|BluetoothAdapter]] | |||
; Default value | |||
: Null pointer if no adapter exists. | |||
; Sample | |||
var defaultAdapter = navigator.mozBluetooth.defaultAdapter; | |||
== Event Handlers == | == Event Handlers == | ||
* BluetoothManager.onadapteradded | * [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onattributechanged|BluetoothManager.onattributechanged]] | ||
* BluetoothManager.onadapterremoved | * [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapteradded|BluetoothManager.onadapteradded]] | ||
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapterremoved|BluetoothManager.onadapterremoved]] | |||
=== onattributechanged === | |||
; Description | |||
: A handler to trigger when bluetooth manager's only property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#defaultAdapter|defaultAdapter]] has changed. | |||
; Parameter | |||
: ''aAttributeEvent'' | |||
:: The event is a [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAttributeEvent#Interface|BluetoothAttributeEvent]] with property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAttributeEvent#attrs|attrs]] that contains changed [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#BluetoothManagerAttribute|BluetoothManagerAttribute]]. | |||
; Sample | |||
var manager = navigator.mozBluetooth; | |||
manager.onattributechanged = function onManagerAttributeChanged(evt) { | |||
for (var i in evt.attrs) { | |||
switch (evt.attrs[i]) { | |||
case 'defaultAdapter': | |||
console.log("defaultAdapter changed. address:", manager.defaultAdapter.address); | |||
break; | |||
default: | |||
break; | |||
} | |||
} | |||
} | |||
=== onadapteradded === | === onadapteradded === | ||
; Description | |||
: A handler to trigger when a bluetooth adapter is added (i.e., plugged in) to the device. | |||
; | ; Parameter | ||
: | : ''aAdapterEvent'' | ||
:: The event is a [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#Interface|BluetoothAdapterEvent]] with property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#adapter|adapter]] as the added bluetooth adapter. If the added adapter becomes default adapter, [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onattributechanged|onattributechanged]] would also be triggered afterwards to reflect the change of property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#defaultAdapter|defaultAdapter]]. | |||
; Sample | ; Sample | ||
navigator.mozBluetooth.onadapteradded = | var manager = navigator.mozBluetooth; | ||
manager.onadapteradded = function onAdapterAdded(evt) { | |||
var adapter = evt.adapter; | |||
console.log("adapter with address", adapter.address, "is added"); | |||
} | |||
=== onadapterremoved === | === onadapterremoved === | ||
; Description | |||
: A handler to trigger when a bluetooth adapter is removed (i.e., unplugged) from the device. | |||
; | ; Parameter | ||
: | : ''aAddressEvent'' | ||
:: The event is a [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#Interface|BluetoothAdapterEvent]] with property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#address|address]] as the address of removed bluetooth adapter. If the removed adapter is default adapter, [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onattributechanged|onattributechanged]] would also be triggered afterwards to reflect the change of property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#defaultAdapter|defaultAdapter]]. | |||
; Sample | ; Sample | ||
manager.onadapterremoved = function onAdapterRemoved(evt) { | |||
var address = evt.address; | |||
console.log("adapter with address", address, "is removed"); | |||
} | |||
== Methods == | == Methods == | ||
* [ | * [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getAdapters.28.29|BluetoothManager.getAdapters()]] | ||
=== getAdapters() === | === getAdapters() === | ||
; | ; Description | ||
: The getAdapters | : The method returns an array representing a snapshot of current adapters list on the device. Each getAdapters() call returns a new array instead of a reference to current adapters list, in order to prevent applications from modifying the shared adapters list. | ||
; Return | ; Return | ||
: | : sequence<[[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]]> | ||
; Sample | ; Sample | ||
var adapters = navigator.mozBluetooth.getAdapters(); | var adapters = navigator.mozBluetooth.getAdapters(); | ||
for (var i = 0; i < adapters.length; i++) { | |||
console.log("address of adapter", i, ":", adapter[i].address); | |||
} | |||
== | == See Also == | ||
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]] | |||
Latest revision as of 03:20, 20 June 2014
Overview
BluetoothManager allows to access all bluetooth adapters available on the device. Adapters are the interfaces that connect to the remote device.
Interfaces
BluetoothManager
[CheckPermissions="bluetooth"] interface BluetoothManager: EventTarget { readonly attribute BluetoothAdapter? defaultAdapter; attribute EventHandler onattributechanged; attribute EventHandler onadapteradded; attribute EventHandler onadapterremoved; sequence<BluetoothAdapter> getAdapters(); };
BluetoothManagerAttribute
enum BluetoothManagerAttribute { "unknown", "defaultAdapter" };
Properties
defaultAdapter
- Description
- The default adapter used to connect to the remote bluetooth devices.
- Value type
- BluetoothAdapter
- Default value
- Null pointer if no adapter exists.
- Sample
var defaultAdapter = navigator.mozBluetooth.defaultAdapter;
Event Handlers
- BluetoothManager.onattributechanged
- BluetoothManager.onadapteradded
- BluetoothManager.onadapterremoved
onattributechanged
- Description
- A handler to trigger when bluetooth manager's only property defaultAdapter has changed.
- Parameter
- aAttributeEvent
- The event is a BluetoothAttributeEvent with property attrs that contains changed BluetoothManagerAttribute.
- Sample
var manager = navigator.mozBluetooth; manager.onattributechanged = function onManagerAttributeChanged(evt) { for (var i in evt.attrs) { switch (evt.attrs[i]) { case 'defaultAdapter': console.log("defaultAdapter changed. address:", manager.defaultAdapter.address); break; default: break; } } }
onadapteradded
- Description
- A handler to trigger when a bluetooth adapter is added (i.e., plugged in) to the device.
- Parameter
- aAdapterEvent
- The event is a BluetoothAdapterEvent with property adapter as the added bluetooth adapter. If the added adapter becomes default adapter, onattributechanged would also be triggered afterwards to reflect the change of property defaultAdapter.
- Sample
var manager = navigator.mozBluetooth; manager.onadapteradded = function onAdapterAdded(evt) { var adapter = evt.adapter; console.log("adapter with address", adapter.address, "is added"); }
onadapterremoved
- Description
- A handler to trigger when a bluetooth adapter is removed (i.e., unplugged) from the device.
- Parameter
- aAddressEvent
- The event is a BluetoothAdapterEvent with property address as the address of removed bluetooth adapter. If the removed adapter is default adapter, onattributechanged would also be triggered afterwards to reflect the change of property defaultAdapter.
- Sample
manager.onadapterremoved = function onAdapterRemoved(evt) { var address = evt.address; console.log("adapter with address", address, "is removed"); }
Methods
getAdapters()
- Description
- The method returns an array representing a snapshot of current adapters list on the device. Each getAdapters() call returns a new array instead of a reference to current adapters list, in order to prevent applications from modifying the shared adapters list.
- Return
- sequence<BluetoothAdapter>
- Sample
var adapters = navigator.mozBluetooth.getAdapters(); for (var i = 0; i < adapters.length; i++) { console.log("address of adapter", i, ":", adapter[i].address); }