2 // Tizen Web Device API
\r
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
5 // Licensed under the Apache License, Version 2.0 (the License);
\r
6 // you may not use this file except in compliance with the License.
\r
7 // You may obtain a copy of the License at
\r
9 // http://www.apache.org/licenses/LICENSE-2.0
\r
11 // Unless required by applicable law or agreed to in writing, software
\r
12 // distributed under the License is distributed on an "AS IS" BASIS,
\r
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
14 // See the License for the specific language governing permissions and
\r
15 // limitations under the License.
\r
23 #include "BluetoothHealthProfileHandlerCallback.h"
\r
24 #include "BluetoothHealthProfileHandler.h"
\r
27 using namespace DeviceAPI::Common;
\r
29 namespace DeviceAPI {
\r
30 namespace Bluetooth {
\r
33 class HealthProfileHandlerCallbackData
\r
36 HealthProfileHandlerCallbackData(MultiCallbackUserDataPtr callback, unsigned short dataType, std::string name)
\r
38 mCallback = callback;
\r
39 mDataType = dataType;
\r
41 mIsRegistering = true;
\r
44 HealthProfileHandlerCallbackData(MultiCallbackUserDataPtr callback, std::string appID)
\r
46 mCallback = callback;
\r
48 mIsRegistering = false;
\r
51 virtual ~HealthProfileHandlerCallbackData()
\r
56 MultiCallbackUserDataPtr mCallback;
\r
57 unsigned short mDataType;
\r
60 bool mIsRegistering;
\r
63 typedef HealthProfileHandlerCallbackData* HealthProfileHandlerCallbackDataPtr;
\r
66 static Eina_Bool idlerCallback(void *userData){
\r
67 HealthProfileHandlerCallbackDataPtr data = static_cast<HealthProfileHandlerCallbackDataPtr>(userData);
\r
70 LoggerW("BluetoothCallbackDataPtr is NULL");
\r
74 if(!(data->mCallback)) {
\r
75 LoggerW("MulticallbackUserData is NULL");
\r
80 if(data->mIsRegistering) { // registerSinkApplication
\r
81 LoggerD("In case of registerSinkApplication");
\r
82 BluetoothHealthProfileHandler::getInstance()->returnRegisteringSinkAppResult(data->mDataType, data->mName, data->mCallback);
\r
84 else { // unregisterSinkApplication
\r
85 LoggerD("In case of unregisterSinkApplication");
\r
86 BluetoothHealthProfileHandler::getInstance()->returnUnregisteringAppResult(data->mAppID, data->mCallback);
\r
93 void BluetoothHealthProfileHandlerCallback::syncToAsyncRegisterCB(MultiCallbackUserDataPtr callback, unsigned short dataType, std::string name)
\r
95 HealthProfileHandlerCallbackDataPtr data = new HealthProfileHandlerCallbackData(callback, dataType, name);
\r
96 ecore_idler_add(idlerCallback, data);
\r
100 void BluetoothHealthProfileHandlerCallback::syncToAsyncUnregisterCB(MultiCallbackUserDataPtr callback, JSObjectRef application)
\r
102 HealthProfileHandlerCallbackDataPtr data = new HealthProfileHandlerCallbackData(callback, application);
\r
103 ecore_idler_add(idlerCallback, data);
\r
106 void BluetoothHealthProfileHandlerCallback::syncToAsyncUnregisterCB(MultiCallbackUserDataPtr callback, std::string appID)
\r
108 HealthProfileHandlerCallbackDataPtr data = new HealthProfileHandlerCallbackData(callback, appID);
\r
109 ecore_idler_add(idlerCallback, data);
\r