From: Dawid Juszczak Date: Wed, 8 Apr 2020 07:14:43 +0000 (+0200) Subject: [Bluetooth] Add changeListener flag in c++ layer X-Git-Tag: submit/tizen/20200603.100702^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F81%2F230181%2F1;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Bluetooth] Add changeListener flag in c++ layer 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 --- diff --git a/src/bluetooth/bluetooth_adapter.cc b/src/bluetooth/bluetooth_adapter.cc index 4e7456d..5c0f687 100644 --- a/src/bluetooth/bluetooth_adapter.cc +++ b/src/bluetooth/bluetooth_adapter.cc @@ -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 diff --git a/src/bluetooth/bluetooth_adapter.h b/src/bluetooth/bluetooth_adapter.h index 5d536d0..85f4f26 100644 --- a/src/bluetooth/bluetooth_adapter.h +++ b/src/bluetooth/bluetooth_adapter.h @@ -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_; diff --git a/src/bluetooth/bluetooth_api.js b/src/bluetooth/bluetooth_api.js index 1e274a3..87a8bfb 100755 --- a/src/bluetooth/bluetooth_api.js +++ b/src/bluetooth/bluetooth_api.js @@ -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; } }; diff --git a/src/bluetooth/bluetooth_instance.cc b/src/bluetooth/bluetooth_instance.cc index 3cf8ef5..6b68e5f 100644 --- a/src/bluetooth/bluetooth_instance.cc +++ b/src/bluetooth/bluetooth_instance.cc @@ -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(); diff --git a/src/bluetooth/bluetooth_instance.h b/src/bluetooth/bluetooth_instance.h index 1301216..0ed4909 100644 --- a/src/bluetooth/bluetooth_instance.h +++ b/src/bluetooth/bluetooth_instance.h @@ -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);