1/* 2 This file is part of the WebKit open source project. 3 This file has been generated by generate-bindings.pl. DO NOT MODIFY! 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Library General Public 7 License as published by the Free Software Foundation; either 8 version 2 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Library General Public License for more details. 14 15 You should have received a copy of the GNU Library General Public License 16 along with this library; see the file COPYING.LIB. If not, write to 17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 Boston, MA 02110-1301, USA. 19*/ 20 21#include <glib-object.h> 22#include "config.h" 23 24#if ENABLE(DATABASE) 25 26#include <wtf/GetPtr.h> 27#include <wtf/RefPtr.h> 28#include "DOMObjectCache.h" 29#include "ExceptionCode.h" 30#include "JSMainThreadExecState.h" 31#include "TestCallback.h" 32#include "WebKitDOMBinding.h" 33#include "gobject/ConvertToUTF8String.h" 34#include "webkit/WebKitDOMClass1.h" 35#include "webkit/WebKitDOMClass1Private.h" 36#include "webkit/WebKitDOMClass2.h" 37#include "webkit/WebKitDOMClass2Private.h" 38#include "webkit/WebKitDOMClass3.h" 39#include "webkit/WebKitDOMClass3Private.h" 40#include "webkit/WebKitDOMDOMStringList.h" 41#include "webkit/WebKitDOMDOMStringListPrivate.h" 42#include "webkit/WebKitDOMTestCallback.h" 43#include "webkit/WebKitDOMTestCallbackPrivate.h" 44#include "webkitdefines.h" 45#include "webkitglobalsprivate.h" 46#include "webkitmarshal.h" 47 48namespace WebKit { 49 50WebKitDOMTestCallback* kit(WebCore::TestCallback* obj) 51{ 52 g_return_val_if_fail(obj, 0); 53 54 if (gpointer ret = DOMObjectCache::get(obj)) 55 return static_cast<WebKitDOMTestCallback*>(ret); 56 57 return static_cast<WebKitDOMTestCallback*>(DOMObjectCache::put(obj, WebKit::wrapTestCallback(obj))); 58} 59 60} // namespace WebKit // 61 62gboolean 63webkit_dom_test_callback_callback_with_no_param(WebKitDOMTestCallback* self) 64{ 65 g_return_val_if_fail(self, 0); 66 WebCore::JSMainThreadNullState state; 67 WebCore::TestCallback * item = WebKit::core(self); 68 gboolean res = item->callbackWithNoParam(); 69 return res; 70} 71 72gboolean 73webkit_dom_test_callback_callback_with_class1param(WebKitDOMTestCallback* self, WebKitDOMClass1* class1param) 74{ 75 g_return_val_if_fail(self, 0); 76 WebCore::JSMainThreadNullState state; 77 WebCore::TestCallback * item = WebKit::core(self); 78 g_return_val_if_fail(class1param, 0); 79 WebCore::Class1 * converted_class1param = NULL; 80 if (class1param != NULL) { 81 converted_class1param = WebKit::core(class1param); 82 g_return_val_if_fail(converted_class1param, 0); 83 } 84 gboolean res = item->callbackWithClass1Param(converted_class1param); 85 return res; 86} 87 88gboolean 89webkit_dom_test_callback_callback_with_class2param(WebKitDOMTestCallback* self, WebKitDOMClass2* class2param, const gchar* str_arg) 90{ 91 g_return_val_if_fail(self, 0); 92 WebCore::JSMainThreadNullState state; 93 WebCore::TestCallback * item = WebKit::core(self); 94 g_return_val_if_fail(class2param, 0); 95 g_return_val_if_fail(str_arg, 0); 96 WebCore::Class2 * converted_class2param = NULL; 97 if (class2param != NULL) { 98 converted_class2param = WebKit::core(class2param); 99 g_return_val_if_fail(converted_class2param, 0); 100 } 101 WTF::String converted_str_arg = WTF::String::fromUTF8(str_arg); 102 gboolean res = item->callbackWithClass2Param(converted_class2param, converted_str_arg); 103 return res; 104} 105 106glong 107webkit_dom_test_callback_callback_with_non_bool_return_type(WebKitDOMTestCallback* self, WebKitDOMClass3* class3param) 108{ 109 g_return_val_if_fail(self, 0); 110 WebCore::JSMainThreadNullState state; 111 WebCore::TestCallback * item = WebKit::core(self); 112 g_return_val_if_fail(class3param, 0); 113 WebCore::Class3 * converted_class3param = NULL; 114 if (class3param != NULL) { 115 converted_class3param = WebKit::core(class3param); 116 g_return_val_if_fail(converted_class3param, 0); 117 } 118 glong res = item->callbackWithNonBoolReturnType(converted_class3param); 119 return res; 120} 121 122gboolean 123webkit_dom_test_callback_callback_with_string_list(WebKitDOMTestCallback* self, WebKitDOMDOMStringList* list_param) 124{ 125 g_return_val_if_fail(self, 0); 126 WebCore::JSMainThreadNullState state; 127 WebCore::TestCallback * item = WebKit::core(self); 128 g_return_val_if_fail(list_param, 0); 129 WebCore::DOMStringList * converted_list_param = NULL; 130 if (list_param != NULL) { 131 converted_list_param = WebKit::core(list_param); 132 g_return_val_if_fail(converted_list_param, 0); 133 } 134 gboolean res = item->callbackWithStringList(converted_list_param); 135 return res; 136} 137 138 139G_DEFINE_TYPE(WebKitDOMTestCallback, webkit_dom_test_callback, WEBKIT_TYPE_DOM_OBJECT) 140 141namespace WebKit { 142 143WebCore::TestCallback* core(WebKitDOMTestCallback* request) 144{ 145 g_return_val_if_fail(request, 0); 146 147 WebCore::TestCallback* coreObject = static_cast<WebCore::TestCallback*>(WEBKIT_DOM_OBJECT(request)->coreObject); 148 g_return_val_if_fail(coreObject, 0); 149 150 return coreObject; 151} 152 153} // namespace WebKit 154enum { 155 PROP_0, 156}; 157 158 159static void webkit_dom_test_callback_finalize(GObject* object) 160{ 161 WebKitDOMObject* dom_object = WEBKIT_DOM_OBJECT(object); 162 163 if (dom_object->coreObject) { 164 WebCore::TestCallback* coreObject = static_cast<WebCore::TestCallback *>(dom_object->coreObject); 165 166 WebKit::DOMObjectCache::forget(coreObject); 167 coreObject->deref(); 168 169 dom_object->coreObject = NULL; 170 } 171 172 G_OBJECT_CLASS(webkit_dom_test_callback_parent_class)->finalize(object); 173} 174 175static void webkit_dom_test_callback_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec) 176{ 177 WebCore::JSMainThreadNullState state; 178 switch (prop_id) { 179 default: 180 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); 181 break; 182 } 183} 184 185 186static void webkit_dom_test_callback_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec) 187{ 188 WebCore::JSMainThreadNullState state; 189 switch (prop_id) { 190 default: 191 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); 192 break; 193 } 194} 195 196 197static void webkit_dom_test_callback_constructed(GObject* object) 198{ 199 200 if (G_OBJECT_CLASS(webkit_dom_test_callback_parent_class)->constructed) 201 G_OBJECT_CLASS(webkit_dom_test_callback_parent_class)->constructed(object); 202} 203 204static void webkit_dom_test_callback_class_init(WebKitDOMTestCallbackClass* requestClass) 205{ 206 GObjectClass *gobjectClass = G_OBJECT_CLASS(requestClass); 207 gobjectClass->finalize = webkit_dom_test_callback_finalize; 208 gobjectClass->set_property = webkit_dom_test_callback_set_property; 209 gobjectClass->get_property = webkit_dom_test_callback_get_property; 210 gobjectClass->constructed = webkit_dom_test_callback_constructed; 211 212 213 214} 215 216static void webkit_dom_test_callback_init(WebKitDOMTestCallback* request) 217{ 218} 219 220namespace WebKit { 221WebKitDOMTestCallback* wrapTestCallback(WebCore::TestCallback* coreObject) 222{ 223 g_return_val_if_fail(coreObject, 0); 224 225 /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object 226 * in a C-allocated GObject structure. See the finalize() code for the 227 * matching deref(). 228 */ 229 coreObject->ref(); 230 231 return WEBKIT_DOM_TEST_CALLBACK(g_object_new(WEBKIT_TYPE_DOM_TEST_CALLBACK, 232 "core-object", coreObject, NULL)); 233} 234} // namespace WebKit 235#endif /* ENABLE(DATABASE) */ 236