Pairing and selection issues patch
[profile/ivi/wrt-plugins-ivi-bt.git] / tizen.bt.h
1
2 /**
3  * @defgroup wrt-plugins-tizen-bt wrt-plugins-tizen-bt shared library
4  * \brief WebAPI to replace \b tizen.bluetooth due to missing functionality.
5  *
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.
7  *
8  * The following Bluetooth functionalities are provided:
9  *
10  * <ul>
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>
16  * </ul>
17  *
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:
19  * <ul>
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>
22  * </ul>
23  *
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.
25  *
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:
28  * <ul>
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>
37  * </ul>
38  *
39  * @{
40  */
41
42 /** @} */
43