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