2 // Tizen Web Device API
3 // Copyright (c) 2013 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.
18 #include "CallbackUserData.h"
19 #include "MultiCallbackUserData.h"
25 #define LOG_TAG "TIZEN_DEVICEAPI"
32 CallbackUserData::CallbackUserData(JSContextRef globalCtx): mContext(globalCtx), mImpl(NULL){
33 mImpl = new MultiCallbackUserData(globalCtx);
36 CallbackUserData::~CallbackUserData(){
37 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
43 void CallbackUserData::setSuccessCallback(JSValueRef onSuccess){
44 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
46 if( onSuccess && JSValueIsObject(mContext, onSuccess) ){
47 JSObjectRef success = JSValueToObject(mContext, onSuccess, NULL);
48 impl->setCallback("success", success);
52 void CallbackUserData::setErrorCallback(JSValueRef onError){
53 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
55 if( onError && JSValueIsObject(mContext, onError) ){
56 JSObjectRef error = JSValueToObject(mContext, onError, NULL);
57 impl->setCallback("error", error);
61 void CallbackUserData::callSuccessCallback(int count, JSValueRef obj [ ]){
62 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
63 impl->invokeCallback("success", count, obj);
66 void CallbackUserData::callSuccessCallback(JSValueRef obj){
67 JSValueRef args[1] = {obj};
68 callSuccessCallback(1, args);
71 void CallbackUserData::callSuccessCallback(){
72 callSuccessCallback(0, NULL);
75 void CallbackUserData::callErrorCallback(int count, JSValueRef obj [ ]){
76 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
77 impl->invokeCallback("error", count, obj);
80 void CallbackUserData::callErrorCallback(JSValueRef obj){
81 JSValueRef args[1] = {obj};
82 callErrorCallback(1, args);
85 void CallbackUserData::callErrorCallback(){
86 callErrorCallback(0, NULL);
89 JSContextRef CallbackUserData::getContext(){