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 "config.h" 22#include "WebKitDOMTestNondeterministic.h" 23 24#include "CSSImportRule.h" 25#include "DOMObjectCache.h" 26#include "Document.h" 27#include "ExceptionCode.h" 28#include "JSMainThreadExecState.h" 29#include "WebKitDOMPrivate.h" 30#include "WebKitDOMTestNondeterministicPrivate.h" 31#include "gobject/ConvertToUTF8String.h" 32#include <wtf/GetPtr.h> 33#include <wtf/RefPtr.h> 34 35#define WEBKIT_DOM_TEST_NONDETERMINISTIC_GET_PRIVATE(obj) G_TYPE_INSTANCE_GET_PRIVATE(obj, WEBKIT_DOM_TYPE_TEST_NONDETERMINISTIC, WebKitDOMTestNondeterministicPrivate) 36 37typedef struct _WebKitDOMTestNondeterministicPrivate { 38 RefPtr<WebCore::TestNondeterministic> coreObject; 39} WebKitDOMTestNondeterministicPrivate; 40 41namespace WebKit { 42 43WebKitDOMTestNondeterministic* kit(WebCore::TestNondeterministic* obj) 44{ 45 if (!obj) 46 return 0; 47 48 if (gpointer ret = DOMObjectCache::get(obj)) 49 return WEBKIT_DOM_TEST_NONDETERMINISTIC(ret); 50 51 return wrapTestNondeterministic(obj); 52} 53 54WebCore::TestNondeterministic* core(WebKitDOMTestNondeterministic* request) 55{ 56 return request ? static_cast<WebCore::TestNondeterministic*>(WEBKIT_DOM_OBJECT(request)->coreObject) : 0; 57} 58 59WebKitDOMTestNondeterministic* wrapTestNondeterministic(WebCore::TestNondeterministic* coreObject) 60{ 61 ASSERT(coreObject); 62 return WEBKIT_DOM_TEST_NONDETERMINISTIC(g_object_new(WEBKIT_DOM_TYPE_TEST_NONDETERMINISTIC, "core-object", coreObject, nullptr)); 63} 64 65} // namespace WebKit 66 67G_DEFINE_TYPE(WebKitDOMTestNondeterministic, webkit_dom_test_nondeterministic, WEBKIT_DOM_TYPE_OBJECT) 68 69enum { 70 PROP_0, 71 PROP_NONDETERMINISTIC_READONLY_ATTR, 72 PROP_NONDETERMINISTIC_WRITEABLE_ATTR, 73 PROP_NONDETERMINISTIC_EXCEPTION_ATTR, 74 PROP_NONDETERMINISTIC_GETTER_EXCEPTION_ATTR, 75 PROP_NONDETERMINISTIC_SETTER_EXCEPTION_ATTR, 76}; 77 78static void webkit_dom_test_nondeterministic_finalize(GObject* object) 79{ 80 WebKitDOMTestNondeterministicPrivate* priv = WEBKIT_DOM_TEST_NONDETERMINISTIC_GET_PRIVATE(object); 81 82 WebKit::DOMObjectCache::forget(priv->coreObject.get()); 83 84 priv->~WebKitDOMTestNondeterministicPrivate(); 85 G_OBJECT_CLASS(webkit_dom_test_nondeterministic_parent_class)->finalize(object); 86} 87 88static void webkit_dom_test_nondeterministic_set_property(GObject* object, guint propertyId, const GValue* value, GParamSpec* pspec) 89{ 90 WebKitDOMTestNondeterministic* self = WEBKIT_DOM_TEST_NONDETERMINISTIC(object); 91 92 switch (propertyId) { 93 case PROP_NONDETERMINISTIC_WRITEABLE_ATTR: 94 webkit_dom_test_nondeterministic_set_nondeterministic_writeable_attr(self, g_value_get_string(value)); 95 break; 96 case PROP_NONDETERMINISTIC_EXCEPTION_ATTR: 97 webkit_dom_test_nondeterministic_set_nondeterministic_exception_attr(self, g_value_get_string(value)); 98 break; 99 case PROP_NONDETERMINISTIC_GETTER_EXCEPTION_ATTR: 100 webkit_dom_test_nondeterministic_set_nondeterministic_getter_exception_attr(self, g_value_get_string(value)); 101 break; 102 case PROP_NONDETERMINISTIC_SETTER_EXCEPTION_ATTR: 103 webkit_dom_test_nondeterministic_set_nondeterministic_setter_exception_attr(self, g_value_get_string(value), nullptr); 104 break; 105 default: 106 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec); 107 break; 108 } 109} 110 111static void webkit_dom_test_nondeterministic_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* pspec) 112{ 113 WebKitDOMTestNondeterministic* self = WEBKIT_DOM_TEST_NONDETERMINISTIC(object); 114 115 switch (propertyId) { 116 case PROP_NONDETERMINISTIC_READONLY_ATTR: 117 g_value_set_long(value, webkit_dom_test_nondeterministic_get_nondeterministic_readonly_attr(self)); 118 break; 119 case PROP_NONDETERMINISTIC_WRITEABLE_ATTR: 120 g_value_take_string(value, webkit_dom_test_nondeterministic_get_nondeterministic_writeable_attr(self)); 121 break; 122 case PROP_NONDETERMINISTIC_EXCEPTION_ATTR: 123 g_value_take_string(value, webkit_dom_test_nondeterministic_get_nondeterministic_exception_attr(self)); 124 break; 125 case PROP_NONDETERMINISTIC_GETTER_EXCEPTION_ATTR: 126 g_value_take_string(value, webkit_dom_test_nondeterministic_get_nondeterministic_getter_exception_attr(self, nullptr)); 127 break; 128 case PROP_NONDETERMINISTIC_SETTER_EXCEPTION_ATTR: 129 g_value_take_string(value, webkit_dom_test_nondeterministic_get_nondeterministic_setter_exception_attr(self)); 130 break; 131 default: 132 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec); 133 break; 134 } 135} 136 137static GObject* webkit_dom_test_nondeterministic_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties) 138{ 139 GObject* object = G_OBJECT_CLASS(webkit_dom_test_nondeterministic_parent_class)->constructor(type, constructPropertiesCount, constructProperties); 140 141 WebKitDOMTestNondeterministicPrivate* priv = WEBKIT_DOM_TEST_NONDETERMINISTIC_GET_PRIVATE(object); 142 priv->coreObject = static_cast<WebCore::TestNondeterministic*>(WEBKIT_DOM_OBJECT(object)->coreObject); 143 WebKit::DOMObjectCache::put(priv->coreObject.get(), object); 144 145 return object; 146} 147 148static void webkit_dom_test_nondeterministic_class_init(WebKitDOMTestNondeterministicClass* requestClass) 149{ 150 GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass); 151 g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestNondeterministicPrivate)); 152 gobjectClass->constructor = webkit_dom_test_nondeterministic_constructor; 153 gobjectClass->finalize = webkit_dom_test_nondeterministic_finalize; 154 gobjectClass->set_property = webkit_dom_test_nondeterministic_set_property; 155 gobjectClass->get_property = webkit_dom_test_nondeterministic_get_property; 156 157 g_object_class_install_property( 158 gobjectClass, 159 PROP_NONDETERMINISTIC_READONLY_ATTR, 160 g_param_spec_long( 161 "nondeterministic-readonly-attr", 162 "TestNondeterministic:nondeterministic-readonly-attr", 163 "read-only glong TestNondeterministic:nondeterministic-readonly-attr", 164 G_MINLONG, G_MAXLONG, 0, 165 WEBKIT_PARAM_READABLE)); 166 167 g_object_class_install_property( 168 gobjectClass, 169 PROP_NONDETERMINISTIC_WRITEABLE_ATTR, 170 g_param_spec_string( 171 "nondeterministic-writeable-attr", 172 "TestNondeterministic:nondeterministic-writeable-attr", 173 "read-write gchar* TestNondeterministic:nondeterministic-writeable-attr", 174 "", 175 WEBKIT_PARAM_READWRITE)); 176 177 g_object_class_install_property( 178 gobjectClass, 179 PROP_NONDETERMINISTIC_EXCEPTION_ATTR, 180 g_param_spec_string( 181 "nondeterministic-exception-attr", 182 "TestNondeterministic:nondeterministic-exception-attr", 183 "read-write gchar* TestNondeterministic:nondeterministic-exception-attr", 184 "", 185 WEBKIT_PARAM_READWRITE)); 186 187 g_object_class_install_property( 188 gobjectClass, 189 PROP_NONDETERMINISTIC_GETTER_EXCEPTION_ATTR, 190 g_param_spec_string( 191 "nondeterministic-getter-exception-attr", 192 "TestNondeterministic:nondeterministic-getter-exception-attr", 193 "read-write gchar* TestNondeterministic:nondeterministic-getter-exception-attr", 194 "", 195 WEBKIT_PARAM_READWRITE)); 196 197 g_object_class_install_property( 198 gobjectClass, 199 PROP_NONDETERMINISTIC_SETTER_EXCEPTION_ATTR, 200 g_param_spec_string( 201 "nondeterministic-setter-exception-attr", 202 "TestNondeterministic:nondeterministic-setter-exception-attr", 203 "read-write gchar* TestNondeterministic:nondeterministic-setter-exception-attr", 204 "", 205 WEBKIT_PARAM_READWRITE)); 206 207} 208 209static void webkit_dom_test_nondeterministic_init(WebKitDOMTestNondeterministic* request) 210{ 211 WebKitDOMTestNondeterministicPrivate* priv = WEBKIT_DOM_TEST_NONDETERMINISTIC_GET_PRIVATE(request); 212 new (priv) WebKitDOMTestNondeterministicPrivate(); 213} 214 215gboolean webkit_dom_test_nondeterministic_nondeterministic_zero_arg_function(WebKitDOMTestNondeterministic* self) 216{ 217 WebCore::JSMainThreadNullState state; 218 g_return_val_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self), FALSE); 219 WebCore::TestNondeterministic* item = WebKit::core(self); 220 gboolean result = item->nondeterministicZeroArgFunction(); 221 return result; 222} 223 224glong webkit_dom_test_nondeterministic_get_nondeterministic_readonly_attr(WebKitDOMTestNondeterministic* self) 225{ 226 WebCore::JSMainThreadNullState state; 227 g_return_val_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self), 0); 228 WebCore::TestNondeterministic* item = WebKit::core(self); 229 glong result = item->nondeterministicReadonlyAttr(); 230 return result; 231} 232 233gchar* webkit_dom_test_nondeterministic_get_nondeterministic_writeable_attr(WebKitDOMTestNondeterministic* self) 234{ 235 WebCore::JSMainThreadNullState state; 236 g_return_val_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self), 0); 237 WebCore::TestNondeterministic* item = WebKit::core(self); 238 gchar* result = convertToUTF8String(item->nondeterministicWriteableAttr()); 239 return result; 240} 241 242void webkit_dom_test_nondeterministic_set_nondeterministic_writeable_attr(WebKitDOMTestNondeterministic* self, const gchar* value) 243{ 244 WebCore::JSMainThreadNullState state; 245 g_return_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self)); 246 g_return_if_fail(value); 247 WebCore::TestNondeterministic* item = WebKit::core(self); 248 WTF::String convertedValue = WTF::String::fromUTF8(value); 249 item->setNondeterministicWriteableAttr(convertedValue); 250} 251 252gchar* webkit_dom_test_nondeterministic_get_nondeterministic_exception_attr(WebKitDOMTestNondeterministic* self, GError** error) 253{ 254 WebCore::JSMainThreadNullState state; 255 g_return_val_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self), 0); 256 g_return_val_if_fail(!error || !*error, 0); 257 WebCore::TestNondeterministic* item = WebKit::core(self); 258 WebCore::ExceptionCode ec = 0; 259 gchar* result = convertToUTF8String(item->nondeterministicExceptionAttr(ec)); 260 return result; 261} 262 263void webkit_dom_test_nondeterministic_set_nondeterministic_exception_attr(WebKitDOMTestNondeterministic* self, const gchar* value) 264{ 265 WebCore::JSMainThreadNullState state; 266 g_return_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self)); 267 g_return_if_fail(value); 268 WebCore::TestNondeterministic* item = WebKit::core(self); 269 WTF::String convertedValue = WTF::String::fromUTF8(value); 270 item->setNondeterministicExceptionAttr(convertedValue); 271} 272 273gchar* webkit_dom_test_nondeterministic_get_nondeterministic_getter_exception_attr(WebKitDOMTestNondeterministic* self, GError** error) 274{ 275 WebCore::JSMainThreadNullState state; 276 g_return_val_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self), 0); 277 g_return_val_if_fail(!error || !*error, 0); 278 WebCore::TestNondeterministic* item = WebKit::core(self); 279 WebCore::ExceptionCode ec = 0; 280 gchar* result = convertToUTF8String(item->nondeterministicGetterExceptionAttr(ec)); 281 return result; 282} 283 284void webkit_dom_test_nondeterministic_set_nondeterministic_getter_exception_attr(WebKitDOMTestNondeterministic* self, const gchar* value) 285{ 286 WebCore::JSMainThreadNullState state; 287 g_return_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self)); 288 g_return_if_fail(value); 289 WebCore::TestNondeterministic* item = WebKit::core(self); 290 WTF::String convertedValue = WTF::String::fromUTF8(value); 291 item->setNondeterministicGetterExceptionAttr(convertedValue); 292} 293 294gchar* webkit_dom_test_nondeterministic_get_nondeterministic_setter_exception_attr(WebKitDOMTestNondeterministic* self) 295{ 296 WebCore::JSMainThreadNullState state; 297 g_return_val_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self), 0); 298 WebCore::TestNondeterministic* item = WebKit::core(self); 299 gchar* result = convertToUTF8String(item->nondeterministicSetterExceptionAttr()); 300 return result; 301} 302 303void webkit_dom_test_nondeterministic_set_nondeterministic_setter_exception_attr(WebKitDOMTestNondeterministic* self, const gchar* value, GError** error) 304{ 305 WebCore::JSMainThreadNullState state; 306 g_return_if_fail(WEBKIT_DOM_IS_TEST_NONDETERMINISTIC(self)); 307 g_return_if_fail(value); 308 g_return_if_fail(!error || !*error); 309 WebCore::TestNondeterministic* item = WebKit::core(self); 310 WTF::String convertedValue = WTF::String::fromUTF8(value); 311 WebCore::ExceptionCode ec = 0; 312 item->setNondeterministicSetterExceptionAttr(convertedValue, ec); 313 if (ec) { 314 WebCore::ExceptionCodeDescription ecdesc(ec); 315 g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name); 316 } 317} 318 319