[Bluetooth] Add bluetooth power off listener for GATTServer
[platform/core/api/webapi-plugins.git] / src / bluetooth / bluetooth_api.js
index 290a411..164784d 100755 (executable)
@@ -293,7 +293,7 @@ tizen.BluetoothLEAdvertiseData = function(dict) {
                 if (T.isNull(v)) {
                     servicesData_ = v;
                 } else if (T.isArray(v)) {
-                    var tmpArray = []
+                    var tmpArray = [];
                     for (var i = 0; i < v.length; ++i) {
                         if (v[i] instanceof tizen.BluetoothLEServiceData) {
                             tmpArray.push(v[i]);
@@ -2681,7 +2681,7 @@ var _setReadValueRequestCallbackCommon = function() {
                 }
             );
             _BluetoothGATTServerReadWriteValueRequestCallbacks[
-                "ReadValueCallback" + entityId
+                'ReadValueCallback' + entityId
             ] = readValueRequestCallback;
             native.callIfPossible(args.successCallback, native.getErrorObject(result));
         }
@@ -3773,6 +3773,12 @@ function _BluetoothGattServerIsRunningChangeListener(result) {
     _isBluetoothGATTServerRunning = result.state;
 }
 
+function _BluetoothGattServerBluetoothAdapterStateChangeListener(result) {
+    if (_isBluetoothGATTServerRunning && false === result.state) {
+        _BluetoothGATTServerServicesRegisteredInNativeLayer = {};
+    }
+}
+
 /*
  * This set is used in BluetoothGATTServer::start() to check which services
  * from BluetoothGATTServer::services have already been registered in native
@@ -3803,6 +3809,12 @@ var BluetoothGATTServer = function() {
         'BluetoothGattServerIsRunningChangeListener',
         _BluetoothGattServerIsRunningChangeListener
     );
+
+    // Register listener for managing BluetoothAdapter power off
+    native.addListener(
+        'BluetoothGattServerBluetoothAdapterStateChangeListener',
+        _BluetoothGattServerBluetoothAdapterStateChangeListener
+    );
 };
 
 var BluetoothGATTServer_valid_registerService_errors = [