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"
27 CallbackUserData::CallbackUserData(JSContextRef globalCtx): mContext(globalCtx), mImpl(NULL){
28 mImpl = new MultiCallbackUserData(globalCtx);
31 CallbackUserData::~CallbackUserData(){
32 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
38 void CallbackUserData::setSuccessCallback(JSValueRef onSuccess){
39 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
41 if( onSuccess && JSValueIsObject(mContext, onSuccess) ){
42 JSObjectRef success = JSValueToObject(mContext, onSuccess, NULL);
43 impl->setCallback("success", success);
47 void CallbackUserData::setErrorCallback(JSValueRef onError){
48 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
50 if( onError && JSValueIsObject(mContext, onError) ){
51 JSObjectRef error = JSValueToObject(mContext, onError, NULL);
52 impl->setCallback("error", error);
56 void CallbackUserData::callSuccessCallback(int count, JSValueRef obj [ ]){
57 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
58 impl->invokeCallback("success", count, obj);
61 void CallbackUserData::callSuccessCallback(JSValueRef obj){
62 JSValueRef args[1] = {obj};
63 callSuccessCallback(1, args);
66 void CallbackUserData::callSuccessCallback(){
67 callSuccessCallback(0, NULL);
70 void CallbackUserData::callErrorCallback(int count, JSValueRef obj [ ]){
71 MultiCallbackUserData * impl = static_cast<MultiCallbackUserData*>(mImpl);
72 impl->invokeCallback("error", count, obj);
75 void CallbackUserData::callErrorCallback(JSValueRef obj){
76 JSValueRef args[1] = {obj};
77 callErrorCallback(1, args);
80 void CallbackUserData::callErrorCallback(){
81 callErrorCallback(0, NULL);
84 JSContextRef CallbackUserData::getContext(){