B2G/Bluetooth/WebBluetooth-v2/BluetoothManager: Difference between revisions

mNo edit summary
 
(29 intermediate revisions by the same user not shown)
Line 2: Line 2:
'''BluetoothManager''' allows to access all bluetooth adapters available on the device. Adapters are the interfaces that connect to the remote device.
'''BluetoothManager''' allows to access all bluetooth adapters available on the device. Adapters are the interfaces that connect to the remote device.


== Interface ==
== 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 EventHandler [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapteradded|onadapteradded]];
   readonly attribute [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter#BluetoothAdapter|BluetoothAdapter]]? [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#defaultAdapter|defaultAdapter]];
  attribute EventHandler [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapterremoved|onadapterremoved]];
   
   
  any              [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getAdapters.28.29|getAdapters()]]; // array of BluetoothAdapter
            attribute EventHandler [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onattributechanged|onattributechanged]];
   BluetoothAdapter [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getDefaultAdapter.28.29|getDefaultAdapter()]];
            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 ==
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onattributechanged|BluetoothManager.onattributechanged]]
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapteradded|BluetoothManager.onadapteradded]]
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapteradded|BluetoothManager.onadapteradded]]
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#onadapterremoved|BluetoothManager.onadapterremoved]]
* [[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
; Description
: A handler to trigger when a bluetooth adapter is added (i.e., plugged in) to the device.
: A handler to trigger when a bluetooth adapter is added (i.e., plugged in) to the device.
Line 23: Line 75:
; Parameter
; Parameter
: ''aAdapterEvent''
: ''aAdapterEvent''
:: The event is a [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent|BluetoothAdapterEvent]] with property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#adapter|adapter]] as the added bluetooth adapter and property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#isDefault|isDefault]] indicating whether the added adapter is default adapter.
:: 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
  function bt_onAdapterAdded(evt) {
  var manager = navigator.mozBluetooth;
manager.onadapteradded = function onAdapterAdded(evt) {
   var adapter = evt.adapter;
   var adapter = evt.adapter;
   var isDefaultAdapter = evt.isDefault;
   console.log("adapter with address", adapter.address, "is added");
  if (isDefaultAdapter) {
    // do your things here.
  }
  }
  }
var manager = navigator.mozBluetooth;
manager.onadapteradded = bt_onAdapterAdded;


=== onadapterremoved ===
=== onadapterremoved ===
Line 44: Line 90:
; Parameter
; Parameter
: ''aAddressEvent''
: ''aAddressEvent''
:: The event is a [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent|BluetoothAdapterEvent]] with property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#address|address]] as the address of removed bluetooth adapter and property [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapterEvent#isDefault|isDefault]] indicating whether the removed adapter is default adapter.
:: 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
  function bt_onAdapterRemoved(evt) {
  manager.onadapterremoved = function onAdapterRemoved(evt) {
   var address = evt.address;
   var address = evt.address;
   var isDefaultAdapter = evt.isDefault;
   console.log("adapter with address", address, "is removed");
  if (isDefaultAdapter) {
    // do your things here.
  }
  }
  }
var manager = navigator.mozBluetooth;
manager.onadapterremoved = bt_onAdapterRemoved;


== Methods ==
== Methods ==
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getAdapters.28.29|BluetoothManager.getAdapters()]]
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getAdapters.28.29|BluetoothManager.getAdapters()]]
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothManager#getDefaultAdapter.28.29|BluetoothManager.getDefaultAdapter()]]


=== getAdapters() ===
=== getAdapters() ===


; Description
; Description
: The method retrieves all adapters on the device.
: 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
: An array of [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]] objects.
: sequence<[[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]]>


; Sample
; Sample
  var manager = navigator.mozBluetooth;
  var adapters = navigator.mozBluetooth.getAdapters();
var adapters = manager.getAdapters();
 
for (var i = 0; i < adapters.length; i++) { 
=== getDefaultAdapter() ===
  console.log("address of adapter", i, ":", adapter[i].address);
 
  }
; Description
: The method retrieves the default adapter used to connect to the remote bluetooth devices.
 
; Return
: The default [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]] object.
 
; Sample
var manager = navigator.mozBluetooth;
  var adapter = manager.getDefaultAdapter();


== See also ==
== See Also ==
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]]
* [[B2G/Bluetooth/WebBluetooth-v2/BluetoothAdapter|BluetoothAdapter]]
Confirmed users
891

edits