From: Pawel Wasowski Date: Thu, 2 Jul 2020 13:55:00 +0000 (+0200) Subject: [Bluetooth] Add BLEAdapter::{add,remove}ConnectStateChangeListener X-Git-Tag: submit/tizen/20200831.125703~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F93%2F237793%2F6;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Bluetooth] Add BLEAdapter::{add,remove}ConnectStateChangeListener Related ACR: TWDAPI-263 This commit adds methods for registering listeners called when the device running the web app connects to a remote GATT server or a remote GATT client connects to the local GATT server hosted on the device. [Verification] I have tested methods in Chrome Dev Tools console and they work fine Change-Id: I5a65c7e4b14654b2a0754a6d1440eb7be67dec5b Signed-off-by: Pawel Wasowski --- diff --git a/src/bluetooth/bluetooth_api.js b/src/bluetooth/bluetooth_api.js index 37799e00..7c58de23 100755 --- a/src/bluetooth/bluetooth_api.js +++ b/src/bluetooth/bluetooth_api.js @@ -1612,6 +1612,38 @@ BluetoothLEAdapter.prototype.stopAdvertise = function() { } }; +BluetoothLEAdapter.prototype.addConnectStateChangeListener = function() { + privUtils_.log('Entered BluetoothLEAdapter.addClientConnectStateChaneListener()'); + var args = AV.validateArgs(arguments, [ + { + name: 'listener', + type: AV.Types.LISTENER, + values: ['onconnected', 'ondisconnected'] + } + ]); + + var func = function(event) { + if (args.listener[event.action]) { + args.listener[event.action](new BluetoothLEDevice(event.address)); + } + }; + + return _bleConnectChangeListener.addListener(func); +}; + +BluetoothLEAdapter.prototype.removeConnectStateChangeListener = function() { + privUtils_.log('Entered BluetoothLEAdapter.removeConnectStateChangeListener()'); + + var args = AV.validateArgs(arguments, [ + { + name: 'watchID', + type: AV.Types.LONG + } + ]); + + _bleConnectChangeListener.removeListener(args.watchID); +}; + //class BluetoothGATTService /////////////////////////// var BluetoothGATTService = function(data, address) { var handle_ = data.handle; @@ -1990,6 +2022,12 @@ var _bluetoothGATTCharacteristicListener = _multipleListenerBuilder( true ); + +/* + * This object is used by: + * - BluetoothLEDevice.addConnectStateChangeListener() + * - BluetoothLEAdapter.addConnectStateChangeListener() + */ var _bleConnectChangeListener = _multipleListenerBuilder( 'BluetoothLEConnectChangeCallback', function(listener, event) {