3 * @defgroup wrt-plugins-tizen-bt wrt-plugins-tizen-bt shared library
4 * \brief WebAPI to replace \b tizen.bluetooth due to missing functionality.
6 * This module represents a replacement for <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html">tizen.bluetooth</a>. The reason for implementing another, by API interface identical bluetooth WebAPI wrt plugin, is due to an issue reported <a href="https://bugs.tizen.org/jira/browse/TIVI-2418">here</a>. If \b tizen.bluetooth is used together with direct calls to Bluez's D-Bus methods, an unpredictable behavior is observed, eg. discoverDevices method call fails to complete, or doesn't start at all. As a solution, a replacing \b tizen.bt WebAPI is implemented, which is implementing direct calls to Bluez's D-Bus methods, rather than a calls to \b capi-network-bluetooth API methods.
8 * The following Bluetooth functionalities are provided:
11 * <li> Controls local Bluetooth device, that is, turn Bluetooth on/off, etc. </li>
12 * <li> Sets visibility </li>
13 * <li> Discovers nearby Bluetooth devices (Device discovery). </li>
14 * <li> Gets bonded devices information. </li>
15 * <li> Controls bonding. </li>
18 * Comparing to original \b tizen.bluetooth functionalities listed <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html">here</a>, it is missing implementation of following functionalities:
20 * <li> Connects to a service on a remote device and exchanges data. </li>
21 * <li> Registers a service (RFCOMM) on a local device, which can be consumed by remote devices to exchange data. </li>
24 * For more information on the Bluetooth features, see the <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html">documentation</a> of offical API.
26 * The <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html#::Bluetooth::BluetoothAdapter">BluetoothAdapter</a> documentations defines <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html#setChangeListeneridp215896">setChangeListener</a> and <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html#unsetChangeListeneridp221928">unsetChangeListener</a> methods, however these two methods are not implemented in <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html">tizen.bluetooth</a>. Tizen.bt implements these two methods as they are defined in <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html">tizen.bluetooth</a> documentation.\n
27 * Additionaly it fixes an issues with <a href="https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.device.apireference/tizen/bluetooth.html#createBondingidp276872">createBonding</a> method. When a method is called, it registers \b org.bluez.Agent and implements its methods in the following way:
29 * <li>Release - does nothing. </li>
30 * <li>Authorize - automatically authorizes. </li>
31 * <li>RequestPinCode - uses default pin code \b "123456". </li>
32 * <li>RequestPasskey - uses default passkey \b 123456. </li>
33 * <li>DisplayPasskey - does nothing. </li>
34 * <li>RequestConfirmation - automatically confirms. </li>
35 * <li>ConfirmModeChange - automatically confirms. </li>
36 * <li>Cancel - does nothing. </li>