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=ef8ddda1dcb26d2df192de00b269c6cdec5c253a;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) {