[Bluetooth] Add changeListener flag in c++ layer 81/230181/1
authorDawid Juszczak <d.juszczak@samsung.com>
Wed, 8 Apr 2020 07:14:43 +0000 (09:14 +0200)
committerDawid Juszczak <d.juszczak@samsung.com>
Wed, 8 Apr 2020 08:13:43 +0000 (10:13 +0200)
https://code.sec.samsung.net/jira/browse/XWALK-2065

[Description]
+ add flag to c++ layer about set callback

[Verification]
tct-bluetooth-tizen-tests (auto) 100% PASS

Change-Id: I5588a613951a20f1e5d45ee16faea4d5b4019d3c
Signed-off-by: Dawid Juszczak <d.juszczak@samsung.com>
src/bluetooth/bluetooth_adapter.cc
src/bluetooth/bluetooth_adapter.h
src/bluetooth/bluetooth_api.js
src/bluetooth/bluetooth_instance.cc
src/bluetooth/bluetooth_instance.h

index 4e7456d..5c0f687 100644 (file)
@@ -354,7 +354,8 @@ void BluetoothAdapter::DiscoveryStateChangedCB(int result,
 }
 
 BluetoothAdapter::BluetoothAdapter(BluetoothInstance& instance)
-    : is_visible_(false),
+    : is_callback_set_(false),
+      is_visible_(false),
       is_powered_(false),
       is_initialized_(false),
       user_request_list_(),
@@ -1759,5 +1760,10 @@ void BluetoothAdapter::IsServiceConnected(const picojson::value& data, picojson:
   ReportSuccess(picojson::value(iter->second.second), out);
 }
 
+void BluetoothAdapter::SetChangeListenerCallback(bool val) {
+  ScopeLogger();
+  is_callback_set_ = val;
+}
+
 }  // namespace bluetooth
 }  // namespace extension
index 5d536d0..85f4f26 100644 (file)
@@ -304,6 +304,8 @@ class BluetoothAdapter {
 
   void UnregisterUUID(const std::string& uuid, int callback_handle);
 
+  void SetChangeListenerCallback(bool val);
+
  private:
   BluetoothAdapter(const BluetoothAdapter&) = delete;
   BluetoothAdapter& operator=(const BluetoothAdapter&) = delete;
@@ -329,6 +331,7 @@ class BluetoothAdapter {
   void InvokeSocketOnMessageEvent(int id);
   void InvokeSocketOnCloseEvent(int id);
 
+  bool is_callback_set_;
   bool is_visible_;
   bool is_powered_;
   bool is_initialized_;
index 1e274a3..87a8bfb 100755 (executable)
@@ -2337,6 +2337,7 @@ BluetoothAdapter.prototype.setChangeListener = function() {
             'BluetoothAdapterChangeCallback',
             _BluetoothAdapterChangeCallback
         );
+        native.callSync('BluetoothAdapterSetChangeListener', {});
     }
     _listener = args.changeCallback;
 };
@@ -2348,6 +2349,7 @@ BluetoothAdapter.prototype.unsetChangeListener = function() {
             'BluetoothAdapterChangeCallback',
             _BluetoothAdapterChangeCallback
         );
+        native.callSync('BluetoothAdapterUnsetChangeListener', {});
         _listener = undefined;
     }
 };
index 3cf8ef5..6b68e5f 100644 (file)
@@ -59,6 +59,8 @@ BluetoothInstance::BluetoothInstance()
   REGISTER_METHOD(BluetoothAdapterGetPowered);
   REGISTER_METHOD(BluetoothAdapterGetVisible);
   REGISTER_METHOD(BluetoothAdapterIsServiceConnected);
+  REGISTER_METHOD(BluetoothAdapterSetChangeListener);
+  REGISTER_METHOD(BluetoothAdapterUnsetChangeListener);
 
   REGISTER_METHOD(BluetoothDeviceConnectToServiceByUUID);
   REGISTER_METHOD(BluetoothDeviceGetBoolValue);
@@ -260,6 +262,18 @@ void BluetoothInstance::BluetoothAdapterIsServiceConnected(const picojson::value
   bluetooth_adapter_.IsServiceConnected(args, out);
 }
 
+void BluetoothInstance::BluetoothAdapterSetChangeListener(const picojson::value& args,
+                                                          picojson::object& out) {
+  ScopeLogger();
+  bluetooth_adapter_.SetChangeListenerCallback(true);
+}
+
+void BluetoothInstance::BluetoothAdapterUnsetChangeListener(const picojson::value& args,
+                                                            picojson::object& out) {
+  ScopeLogger();
+  bluetooth_adapter_.SetChangeListenerCallback(false);
+}
+
 void BluetoothInstance::BluetoothDeviceConnectToServiceByUUID(const picojson::value& args,
                                                               picojson::object& out) {
   ScopeLogger();
index 1301216..0ed4909 100644 (file)
@@ -66,6 +66,8 @@ class BluetoothInstance : public common::ParsedInstance {
   void BluetoothAdapterGetPowered(const picojson::value& args, picojson::object& out);
   void BluetoothAdapterGetVisible(const picojson::value& args, picojson::object& out);
   void BluetoothAdapterIsServiceConnected(const picojson::value& args, picojson::object& out);
+  void BluetoothAdapterSetChangeListener(const picojson::value& args, picojson::object& out);
+  void BluetoothAdapterUnsetChangeListener(const picojson::value& args, picojson::object& out);
 
   void BluetoothDeviceConnectToServiceByUUID(const picojson::value& args, picojson::object& out);
   void BluetoothDeviceGetBoolValue(const picojson::value& args, picojson::object& out);