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.
18 #include "JSNetworkBearerSelectionCallbackManager.h"
22 namespace NetworkBearerSelection {
25 JSNetworkBearerSelectionCallbackManagerPtr JSNetworkBearerSelectionCallbackManager::createObject(JSContextRef context)
27 return JSNetworkBearerSelectionCallbackManagerPtr(new JSNetworkBearerSelectionCallbackManager(context));
30 JSNetworkBearerSelectionCallbackManager::JSNetworkBearerSelectionCallbackManager(JSContextRef context,
31 JSObjectRef onSuccess,
33 JSObjectRef onResumed,
34 JSObjectRef onDisconnected,
35 JSObjectRef onError ) :
39 m_onDisconnected(NULL),
44 setOnSuccess(onSuccess);
45 setOnPaused(onPaused);
46 setOnResumed(onResumed);
47 setOnDisconneced(onDisconnected);
51 JSNetworkBearerSelectionCallbackManager::~JSNetworkBearerSelectionCallbackManager()
55 JSValueUnprotect(m_context, m_onSuccess);
60 JSValueUnprotect(m_context, m_onPaused);
65 JSValueUnprotect(m_context, m_onResumed);
70 JSValueUnprotect(m_context, m_onDisconnected);
75 JSValueUnprotect(m_context, m_onError);
79 void JSNetworkBearerSelectionCallbackManager::setOnSuccess(JSValueRef onSuccess)
83 if (m_onSuccess != NULL)
85 JSValueUnprotect(m_context, m_onSuccess);
88 m_onSuccess = JSValueToObject( m_context, onSuccess, NULL );
90 if (m_onSuccess != NULL)
92 JSValueProtect(m_context, m_onSuccess);
97 JSValueRef JSNetworkBearerSelectionCallbackManager::getOnSuccess() const
102 void JSNetworkBearerSelectionCallbackManager::setOnPaused(JSValueRef onPaused)
106 if (m_onPaused != NULL)
108 JSValueUnprotect(m_context, m_onPaused);
111 m_onPaused = JSValueToObject( m_context, onPaused, NULL );
113 if (m_onPaused != NULL)
115 JSValueProtect(m_context, m_onPaused);
120 JSValueRef JSNetworkBearerSelectionCallbackManager::getOnPaused() const
125 void JSNetworkBearerSelectionCallbackManager::setOnResumed(JSValueRef onResumed)
129 if (m_onResumed != NULL)
131 JSValueUnprotect(m_context, m_onResumed);
134 m_onResumed = JSValueToObject( m_context, onResumed, NULL );
136 if (m_onResumed != NULL)
138 JSValueProtect(m_context, m_onResumed);
143 JSValueRef JSNetworkBearerSelectionCallbackManager::getOnResumed() const
148 void JSNetworkBearerSelectionCallbackManager::setOnDisconneced(JSValueRef onDisconnected)
152 if (m_onDisconnected != NULL)
154 JSValueUnprotect(m_context, m_onDisconnected);
157 m_onDisconnected = JSValueToObject( m_context, onDisconnected, NULL );
159 if (m_onDisconnected != NULL)
161 JSValueProtect(m_context, m_onDisconnected);
166 JSValueRef JSNetworkBearerSelectionCallbackManager::getOnDisconneced() const
168 return m_onDisconnected;
171 void JSNetworkBearerSelectionCallbackManager::setOnError(JSValueRef onError)
175 if (m_onError != NULL)
177 JSValueUnprotect(m_context, m_onError);
180 m_onError = JSValueToObject(m_context, onError, NULL);
182 if (m_onError != NULL)
184 JSValueProtect(m_context, m_onError);
189 JSValueRef JSNetworkBearerSelectionCallbackManager::getOnError() const
194 void JSNetworkBearerSelectionCallbackManager::setContext(JSContextRef context)
199 void JSNetworkBearerSelectionCallbackManager::setObject(JSObjectRef object)
204 JSObjectRef JSNetworkBearerSelectionCallbackManager::getObject() const
209 void JSNetworkBearerSelectionCallbackManager::callOnSuccess()
211 if (m_onSuccess == NULL)
213 //LoggerD("oncontactsadded callback is not set");
217 makeCallback(m_context, NULL, m_onSuccess, "onsuccess", NULL, 0);
220 void JSNetworkBearerSelectionCallbackManager::callOnPaused()
222 if (m_onPaused == NULL)
224 //LoggerD("oncontactsadded callback is not set");
228 makeCallback(m_context, NULL, m_onPaused, "onpaused", NULL, 0);
231 void JSNetworkBearerSelectionCallbackManager::callOnResumed()
233 if (m_onResumed == NULL)
235 //LoggerD("oncontactsadded callback is not set");
239 makeCallback(m_context, NULL, m_onResumed, "onresumed", NULL, 0);
242 void JSNetworkBearerSelectionCallbackManager::callOnDisconnected()
244 if (m_onDisconnected == NULL)
246 //LoggerD("oncontactsadded callback is not set");
250 makeCallback(m_context, NULL, m_onDisconnected, "ondisconnected", NULL, 0);
253 void JSNetworkBearerSelectionCallbackManager::callOnError(JSValueRef error)
255 if (m_onError == NULL)
257 //LoggerD("Error callback is not set");
260 JSValueRef objParam[1] = { error };
261 makeCallback(m_context, NULL, m_onError, "onError", objParam, 1);
264 void JSNetworkBearerSelectionCallbackManager::makeCallback(JSContextRef context, JSObjectRef object, JSObjectRef callback, const char *szName, JSValueRef argv[], unsigned argc)
266 if (callback == NULL)
268 LoggerE("callback is NULL");
272 if (JSObjectIsFunction(context, callback))
276 //LoggerD("Calling object directly, no arguments");
277 JSObjectCallAsFunction(context, callback, object, 0, NULL, NULL);
281 //LoggerD("Calling object directly, one argument");
282 JSObjectCallAsFunction(context, callback, object, argc, argv, NULL);