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 <PlatformException.h>
20 #include "WebSettingManager.h"
24 #include <JSWebAPIError.h>
25 #include <PlatformException.h>
29 namespace WebSetting {
31 WebSettingManager::WebSettingManager()
35 WebSettingManager::~WebSettingManager()
39 static gboolean asyncUserAgentStringResult(void *data)
41 LoggerD("[asyncUserAgentStringResult] entered in Mainloop");
43 WebSettingManager* object = static_cast<WebSettingManager*>(data);
46 //TBD : JSWebAPIErrorFactory::postException(context, exception, err);
47 LoggerD("[asyncUserAgentStringResult] User data is NULL");
51 MultiCallbackUserDataPtr callback = (MultiCallbackUserDataPtr)object->mSetUserAgentCallbacks;
55 JSContextRef context = callback->getContext();
56 callback->invokeCallback("onsuccess");
62 static gboolean asyncRemoveAllCookiesResult(void *data)
64 LoggerD("[asyncRemoveAllCookiesResult] entered in Mainloop");
66 WebSettingManager* object = static_cast<WebSettingManager*>(data);
69 //TBD : JSWebAPIErrorFactory::postException(context, exception, err);
70 LoggerD("[asyncRemoveAllCookiesResult] User data is NULL");
74 MultiCallbackUserDataPtr callback = (MultiCallbackUserDataPtr)object->mRemoveAllCookiesCallbacks;
77 JSContextRef context = callback->getContext();
78 callback->invokeCallback("onsuccess");
84 static void checkSetUserAgentString(void *data, Ecore_Thread *thread)
86 LoggerD("WebSettingManager::checkUserAgentString");
87 g_idle_add(asyncUserAgentStringResult, data);
90 static void checkRemoveAllCookies(void *data, Ecore_Thread *thread)
92 LoggerD("WebSettingManager::checkRemoveAllCookies");
93 g_idle_add(asyncRemoveAllCookiesResult, data);
96 void WebSettingManager::setUserAgentString(std::string userAgent, MultiCallbackUserDataPtr callbacks)
98 LoggerD("WebSetting:setUserAgentString: " << userAgent);
99 mSetUserAgentCallbacks = callbacks;
100 ecore_thread_run(checkSetUserAgentString, NULL, NULL, this);
101 //throw UnknownException("Not Implemented.");
104 void WebSettingManager::removeAllCookies(MultiCallbackUserDataPtr callbacks)
106 LoggerD("WebSetting:removeAllCookies: ");
107 mRemoveAllCookiesCallbacks = callbacks;
108 ecore_thread_run(checkRemoveAllCookies, NULL, NULL, this);
109 //throw UnknownException("Not Implemented.");