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 "WebKitDOMTestTypedefs.h"
23
24#include "CSSImportRule.h"
25#include "DOMObjectCache.h"
26#include "ExceptionCode.h"
27#include "JSMainThreadExecState.h"
28#include "WebKitDOMDOMString[]Private.h"
29#include "WebKitDOMPrivate.h"
30#include "WebKitDOMSVGPointPrivate.h"
31#include "WebKitDOMSerializedScriptValuePrivate.h"
32#include "WebKitDOMTestTypedefsPrivate.h"
33#include "WebKitDOMlong[]Private.h"
34#include "gobject/ConvertToUTF8String.h"
35#include <wtf/GetPtr.h>
36#include <wtf/RefPtr.h>
37
38#define WEBKIT_DOM_TEST_TYPEDEFS_GET_PRIVATE(obj) G_TYPE_INSTANCE_GET_PRIVATE(obj, WEBKIT_TYPE_DOM_TEST_TYPEDEFS, WebKitDOMTestTypedefsPrivate)
39
40typedef struct _WebKitDOMTestTypedefsPrivate {
41    RefPtr<WebCore::TestTypedefs> coreObject;
42} WebKitDOMTestTypedefsPrivate;
43
44namespace WebKit {
45
46WebKitDOMTestTypedefs* kit(WebCore::TestTypedefs* obj)
47{
48    if (!obj)
49        return 0;
50
51    if (gpointer ret = DOMObjectCache::get(obj))
52        return WEBKIT_DOM_TEST_TYPEDEFS(ret);
53
54    return wrapTestTypedefs(obj);
55}
56
57WebCore::TestTypedefs* core(WebKitDOMTestTypedefs* request)
58{
59    return request ? static_cast<WebCore::TestTypedefs*>(WEBKIT_DOM_OBJECT(request)->coreObject) : 0;
60}
61
62WebKitDOMTestTypedefs* wrapTestTypedefs(WebCore::TestTypedefs* coreObject)
63{
64    ASSERT(coreObject);
65    return WEBKIT_DOM_TEST_TYPEDEFS(g_object_new(WEBKIT_TYPE_DOM_TEST_TYPEDEFS, "core-object", coreObject, NULL));
66}
67
68} // namespace WebKit
69
70G_DEFINE_TYPE(WebKitDOMTestTypedefs, webkit_dom_test_typedefs, WEBKIT_TYPE_DOM_OBJECT)
71
72enum {
73    PROP_0,
74    PROP_UNSIGNED_LONG_LONG_ATTR,
75    PROP_IMMUTABLE_SERIALIZED_SCRIPT_VALUE,
76    PROP_ATTR_WITH_GETTER_EXCEPTION,
77    PROP_ATTR_WITH_SETTER_EXCEPTION,
78    PROP_STRING_ATTR_WITH_GETTER_EXCEPTION,
79    PROP_STRING_ATTR_WITH_SETTER_EXCEPTION,
80};
81
82static void webkit_dom_test_typedefs_finalize(GObject* object)
83{
84    WebKitDOMTestTypedefsPrivate* priv = WEBKIT_DOM_TEST_TYPEDEFS_GET_PRIVATE(object);
85
86    WebKit::DOMObjectCache::forget(priv->coreObject.get());
87
88    priv->~WebKitDOMTestTypedefsPrivate();
89    G_OBJECT_CLASS(webkit_dom_test_typedefs_parent_class)->finalize(object);
90}
91
92static void webkit_dom_test_typedefs_set_property(GObject* object, guint propertyId, const GValue* value, GParamSpec* pspec)
93{
94    WebCore::JSMainThreadNullState state;
95
96    WebKitDOMTestTypedefs* self = WEBKIT_DOM_TEST_TYPEDEFS(object);
97    WebCore::TestTypedefs* coreSelf = WebKit::core(self);
98
99    switch (propertyId) {
100    case PROP_UNSIGNED_LONG_LONG_ATTR: {
101        coreSelf->setUnsignedLongLongAttr((g_value_get_uint64(value)));
102        break;
103    }
104    case PROP_ATTR_WITH_GETTER_EXCEPTION: {
105        coreSelf->setAttrWithGetterException((g_value_get_long(value)));
106        break;
107    }
108    case PROP_ATTR_WITH_SETTER_EXCEPTION: {
109        WebCore::ExceptionCode ec = 0;
110        coreSelf->setAttrWithSetterException((g_value_get_long(value)), ec);
111        break;
112    }
113    case PROP_STRING_ATTR_WITH_GETTER_EXCEPTION: {
114        coreSelf->setStringAttrWithGetterException(WTF::String::fromUTF8(g_value_get_string(value)));
115        break;
116    }
117    case PROP_STRING_ATTR_WITH_SETTER_EXCEPTION: {
118        WebCore::ExceptionCode ec = 0;
119        coreSelf->setStringAttrWithSetterException(WTF::String::fromUTF8(g_value_get_string(value)), ec);
120        break;
121    }
122    default:
123        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
124        break;
125    }
126}
127
128static void webkit_dom_test_typedefs_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* pspec)
129{
130    WebCore::JSMainThreadNullState state;
131
132    WebKitDOMTestTypedefs* self = WEBKIT_DOM_TEST_TYPEDEFS(object);
133    WebCore::TestTypedefs* coreSelf = WebKit::core(self);
134
135    switch (propertyId) {
136    case PROP_UNSIGNED_LONG_LONG_ATTR: {
137        g_value_set_uint64(value, coreSelf->unsignedLongLongAttr());
138        break;
139    }
140    case PROP_IMMUTABLE_SERIALIZED_SCRIPT_VALUE: {
141        RefPtr<WebCore::SerializedScriptValue> ptr = coreSelf->immutableSerializedScriptValue();
142        g_value_set_object(value, WebKit::kit(ptr.get()));
143        break;
144    }
145    case PROP_ATTR_WITH_GETTER_EXCEPTION: {
146        WebCore::ExceptionCode ec = 0;
147        g_value_set_long(value, coreSelf->attrWithGetterException(ec));
148        break;
149    }
150    case PROP_ATTR_WITH_SETTER_EXCEPTION: {
151        g_value_set_long(value, coreSelf->attrWithSetterException());
152        break;
153    }
154    case PROP_STRING_ATTR_WITH_GETTER_EXCEPTION: {
155        WebCore::ExceptionCode ec = 0;
156        g_value_take_string(value, convertToUTF8String(coreSelf->stringAttrWithGetterException(ec)));
157        break;
158    }
159    case PROP_STRING_ATTR_WITH_SETTER_EXCEPTION: {
160        g_value_take_string(value, convertToUTF8String(coreSelf->stringAttrWithSetterException()));
161        break;
162    }
163    default:
164        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
165        break;
166    }
167}
168
169static GObject* webkit_dom_test_typedefs_constructor(GType type, guint constructPropertiesCount, GObjectConstructParam* constructProperties)
170{
171    GObject* object = G_OBJECT_CLASS(webkit_dom_test_typedefs_parent_class)->constructor(type, constructPropertiesCount, constructProperties);
172
173    WebKitDOMTestTypedefsPrivate* priv = WEBKIT_DOM_TEST_TYPEDEFS_GET_PRIVATE(object);
174    priv->coreObject = static_cast<WebCore::TestTypedefs*>(WEBKIT_DOM_OBJECT(object)->coreObject);
175    WebKit::DOMObjectCache::put(priv->coreObject.get(), object);
176
177    return object;
178}
179
180static void webkit_dom_test_typedefs_class_init(WebKitDOMTestTypedefsClass* requestClass)
181{
182    GObjectClass* gobjectClass = G_OBJECT_CLASS(requestClass);
183    g_type_class_add_private(gobjectClass, sizeof(WebKitDOMTestTypedefsPrivate));
184    gobjectClass->constructor = webkit_dom_test_typedefs_constructor;
185    gobjectClass->finalize = webkit_dom_test_typedefs_finalize;
186    gobjectClass->set_property = webkit_dom_test_typedefs_set_property;
187    gobjectClass->get_property = webkit_dom_test_typedefs_get_property;
188
189    g_object_class_install_property(gobjectClass,
190                                    PROP_UNSIGNED_LONG_LONG_ATTR,
191                                    g_param_spec_uint64("unsigned-long-long-attr", /* name */
192                                                           "test_typedefs_unsigned-long-long-attr", /* short description */
193                                                           "read-write  guint64 TestTypedefs.unsigned-long-long-attr", /* longer - could do with some extra doc stuff here */
194                                                           0, /* min */
195G_MAXUINT64, /* min */
1960, /* default */
197                                                           WEBKIT_PARAM_READWRITE));
198    g_object_class_install_property(gobjectClass,
199                                    PROP_IMMUTABLE_SERIALIZED_SCRIPT_VALUE,
200                                    g_param_spec_object("immutable-serialized-script-value", /* name */
201                                                           "test_typedefs_immutable-serialized-script-value", /* short description */
202                                                           "read-write  WebKitDOMSerializedScriptValue* TestTypedefs.immutable-serialized-script-value", /* longer - could do with some extra doc stuff here */
203                                                           WEBKIT_TYPE_DOM_SERIALIZED_SCRIPT_VALUE, /* gobject type */
204                                                           WEBKIT_PARAM_READWRITE));
205    g_object_class_install_property(gobjectClass,
206                                    PROP_ATTR_WITH_GETTER_EXCEPTION,
207                                    g_param_spec_long("attr-with-getter-exception", /* name */
208                                                           "test_typedefs_attr-with-getter-exception", /* short description */
209                                                           "read-write  glong TestTypedefs.attr-with-getter-exception", /* longer - could do with some extra doc stuff here */
210                                                           G_MINLONG, /* min */
211G_MAXLONG, /* max */
2120, /* default */
213                                                           WEBKIT_PARAM_READWRITE));
214    g_object_class_install_property(gobjectClass,
215                                    PROP_ATTR_WITH_SETTER_EXCEPTION,
216                                    g_param_spec_long("attr-with-setter-exception", /* name */
217                                                           "test_typedefs_attr-with-setter-exception", /* short description */
218                                                           "read-write  glong TestTypedefs.attr-with-setter-exception", /* longer - could do with some extra doc stuff here */
219                                                           G_MINLONG, /* min */
220G_MAXLONG, /* max */
2210, /* default */
222                                                           WEBKIT_PARAM_READWRITE));
223    g_object_class_install_property(gobjectClass,
224                                    PROP_STRING_ATTR_WITH_GETTER_EXCEPTION,
225                                    g_param_spec_string("string-attr-with-getter-exception", /* name */
226                                                           "test_typedefs_string-attr-with-getter-exception", /* short description */
227                                                           "read-write  gchar* TestTypedefs.string-attr-with-getter-exception", /* longer - could do with some extra doc stuff here */
228                                                           "", /* default */
229                                                           WEBKIT_PARAM_READWRITE));
230    g_object_class_install_property(gobjectClass,
231                                    PROP_STRING_ATTR_WITH_SETTER_EXCEPTION,
232                                    g_param_spec_string("string-attr-with-setter-exception", /* name */
233                                                           "test_typedefs_string-attr-with-setter-exception", /* short description */
234                                                           "read-write  gchar* TestTypedefs.string-attr-with-setter-exception", /* longer - could do with some extra doc stuff here */
235                                                           "", /* default */
236                                                           WEBKIT_PARAM_READWRITE));
237}
238
239static void webkit_dom_test_typedefs_init(WebKitDOMTestTypedefs* request)
240{
241    WebKitDOMTestTypedefsPrivate* priv = WEBKIT_DOM_TEST_TYPEDEFS_GET_PRIVATE(request);
242    new (priv) WebKitDOMTestTypedefsPrivate();
243}
244
245void
246webkit_dom_test_typedefs_func(WebKitDOMTestTypedefs* self, WebKitDOMlong[]* x)
247{
248    WebCore::JSMainThreadNullState state;
249    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
250    g_return_if_fail(WEBKIT_DOM_IS_LONG[](x));
251    WebCore::TestTypedefs* item = WebKit::core(self);
252    WebCore::long[]* convertedX = WebKit::core(x);
253    item->func(convertedX);
254}
255
256void
257webkit_dom_test_typedefs_set_shadow(WebKitDOMTestTypedefs* self, gfloat width, gfloat height, gfloat blur, const gchar* color, gfloat alpha)
258{
259    WebCore::JSMainThreadNullState state;
260    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
261    g_return_if_fail(color);
262    WebCore::TestTypedefs* item = WebKit::core(self);
263    WTF::String convertedColor = WTF::String::fromUTF8(color);
264    item->setShadow(width, height, blur, convertedColor, alpha);
265}
266
267void
268webkit_dom_test_typedefs_nullable_array_arg(WebKitDOMTestTypedefs* self, WebKitDOMDOMString[]* arrayArg)
269{
270    WebCore::JSMainThreadNullState state;
271    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
272    g_return_if_fail(WEBKIT_DOM_IS_DOM_STRING[](arrayArg));
273    WebCore::TestTypedefs* item = WebKit::core(self);
274    WebCore::DOMString[]* convertedArrayArg = WebKit::core(arrayArg);
275    item->nullableArrayArg(convertedArrayArg);
276}
277
278WebKitDOMSVGPoint*
279webkit_dom_test_typedefs_immutable_point_function(WebKitDOMTestTypedefs* self)
280{
281    WebCore::JSMainThreadNullState state;
282    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
283    WebCore::TestTypedefs* item = WebKit::core(self);
284    RefPtr<WebCore::SVGPoint> gobjectResult = WTF::getPtr(item->immutablePointFunction());
285    return WebKit::kit(gobjectResult.get());
286}
287
288WebKitDOMDOMString[]*
289webkit_dom_test_typedefs_string_array_function(WebKitDOMTestTypedefs* self, WebKitDOMDOMString[]* values, GError** error)
290{
291    WebCore::JSMainThreadNullState state;
292    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
293    g_return_val_if_fail(WEBKIT_DOM_IS_DOM_STRING[](values), 0);
294    g_return_val_if_fail(!error || !*error, 0);
295    WebCore::TestTypedefs* item = WebKit::core(self);
296    WebCore::DOMString[]* convertedValues = WebKit::core(values);
297    WebCore::ExceptionCode ec = 0;
298    RefPtr<WebCore::DOMString[]> gobjectResult = WTF::getPtr(item->stringArrayFunction(convertedValues, ec));
299    if (ec) {
300        WebCore::ExceptionCodeDescription ecdesc(ec);
301        g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name);
302    }
303    return WebKit::kit(gobjectResult.get());
304}
305
306WebKitDOMDOMString[]*
307webkit_dom_test_typedefs_string_array_function2(WebKitDOMTestTypedefs* self, WebKitDOMDOMString[]* values, GError** error)
308{
309    WebCore::JSMainThreadNullState state;
310    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
311    g_return_val_if_fail(WEBKIT_DOM_IS_DOM_STRING[](values), 0);
312    g_return_val_if_fail(!error || !*error, 0);
313    WebCore::TestTypedefs* item = WebKit::core(self);
314    WebCore::DOMString[]* convertedValues = WebKit::core(values);
315    WebCore::ExceptionCode ec = 0;
316    RefPtr<WebCore::DOMString[]> gobjectResult = WTF::getPtr(item->stringArrayFunction2(convertedValues, ec));
317    if (ec) {
318        WebCore::ExceptionCodeDescription ecdesc(ec);
319        g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name);
320    }
321    return WebKit::kit(gobjectResult.get());
322}
323
324void
325webkit_dom_test_typedefs_method_with_exception(WebKitDOMTestTypedefs* self, GError** error)
326{
327    WebCore::JSMainThreadNullState state;
328    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
329    g_return_if_fail(!error || !*error);
330    WebCore::TestTypedefs* item = WebKit::core(self);
331    WebCore::ExceptionCode ec = 0;
332    item->methodWithException(ec);
333    if (ec) {
334        WebCore::ExceptionCodeDescription ecdesc(ec);
335        g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name);
336    }
337}
338
339guint64
340webkit_dom_test_typedefs_get_unsigned_long_long_attr(WebKitDOMTestTypedefs* self)
341{
342    WebCore::JSMainThreadNullState state;
343    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
344    WebCore::TestTypedefs* item = WebKit::core(self);
345    guint64 result = item->unsignedLongLongAttr();
346    return result;
347}
348
349void
350webkit_dom_test_typedefs_set_unsigned_long_long_attr(WebKitDOMTestTypedefs* self, guint64 value)
351{
352    WebCore::JSMainThreadNullState state;
353    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
354    WebCore::TestTypedefs* item = WebKit::core(self);
355    item->setUnsignedLongLongAttr(value);
356}
357
358WebKitDOMSerializedScriptValue*
359webkit_dom_test_typedefs_get_immutable_serialized_script_value(WebKitDOMTestTypedefs* self)
360{
361    WebCore::JSMainThreadNullState state;
362    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
363    WebCore::TestTypedefs* item = WebKit::core(self);
364    RefPtr<WebCore::SerializedScriptValue> gobjectResult = WTF::getPtr(item->immutableSerializedScriptValue());
365    return WebKit::kit(gobjectResult.get());
366}
367
368void
369webkit_dom_test_typedefs_set_immutable_serialized_script_value(WebKitDOMTestTypedefs* self, WebKitDOMSerializedScriptValue* value)
370{
371    WebCore::JSMainThreadNullState state;
372    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
373    g_return_if_fail(WEBKIT_DOM_IS_SERIALIZED_SCRIPT_VALUE(value));
374    WebCore::TestTypedefs* item = WebKit::core(self);
375    WebCore::SerializedScriptValue* convertedValue = WebKit::core(value);
376    item->setImmutableSerializedScriptValue(convertedValue);
377}
378
379glong
380webkit_dom_test_typedefs_get_attr_with_getter_exception(WebKitDOMTestTypedefs* self, GError** error)
381{
382    WebCore::JSMainThreadNullState state;
383    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
384    g_return_val_if_fail(!error || !*error, 0);
385    WebCore::TestTypedefs* item = WebKit::core(self);
386    WebCore::ExceptionCode ec = 0;
387    glong result = item->attrWithGetterException(ec);
388    if (ec) {
389        WebCore::ExceptionCodeDescription ecdesc(ec);
390        g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name);
391    }
392    return result;
393}
394
395void
396webkit_dom_test_typedefs_set_attr_with_getter_exception(WebKitDOMTestTypedefs* self, glong value)
397{
398    WebCore::JSMainThreadNullState state;
399    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
400    WebCore::TestTypedefs* item = WebKit::core(self);
401    item->setAttrWithGetterException(value);
402}
403
404glong
405webkit_dom_test_typedefs_get_attr_with_setter_exception(WebKitDOMTestTypedefs* self)
406{
407    WebCore::JSMainThreadNullState state;
408    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
409    WebCore::TestTypedefs* item = WebKit::core(self);
410    glong result = item->attrWithSetterException();
411    return result;
412}
413
414void
415webkit_dom_test_typedefs_set_attr_with_setter_exception(WebKitDOMTestTypedefs* self, glong value, GError** error)
416{
417    WebCore::JSMainThreadNullState state;
418    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
419    g_return_if_fail(!error || !*error);
420    WebCore::TestTypedefs* item = WebKit::core(self);
421    WebCore::ExceptionCode ec = 0;
422    item->setAttrWithSetterException(value, ec);
423    if (ec) {
424        WebCore::ExceptionCodeDescription ecdesc(ec);
425        g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name);
426    }
427}
428
429gchar*
430webkit_dom_test_typedefs_get_string_attr_with_getter_exception(WebKitDOMTestTypedefs* self, GError** error)
431{
432    WebCore::JSMainThreadNullState state;
433    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
434    g_return_val_if_fail(!error || !*error, 0);
435    WebCore::TestTypedefs* item = WebKit::core(self);
436    WebCore::ExceptionCode ec = 0;
437    gchar* result = convertToUTF8String(item->stringAttrWithGetterException(ec));
438    return result;
439}
440
441void
442webkit_dom_test_typedefs_set_string_attr_with_getter_exception(WebKitDOMTestTypedefs* self, const gchar* value)
443{
444    WebCore::JSMainThreadNullState state;
445    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
446    g_return_if_fail(value);
447    WebCore::TestTypedefs* item = WebKit::core(self);
448    WTF::String convertedValue = WTF::String::fromUTF8(value);
449    item->setStringAttrWithGetterException(convertedValue);
450}
451
452gchar*
453webkit_dom_test_typedefs_get_string_attr_with_setter_exception(WebKitDOMTestTypedefs* self)
454{
455    WebCore::JSMainThreadNullState state;
456    g_return_val_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self), 0);
457    WebCore::TestTypedefs* item = WebKit::core(self);
458    gchar* result = convertToUTF8String(item->stringAttrWithSetterException());
459    return result;
460}
461
462void
463webkit_dom_test_typedefs_set_string_attr_with_setter_exception(WebKitDOMTestTypedefs* self, const gchar* value, GError** error)
464{
465    WebCore::JSMainThreadNullState state;
466    g_return_if_fail(WEBKIT_DOM_IS_TEST_TYPEDEFS(self));
467    g_return_if_fail(value);
468    g_return_if_fail(!error || !*error);
469    WebCore::TestTypedefs* item = WebKit::core(self);
470    WTF::String convertedValue = WTF::String::fromUTF8(value);
471    WebCore::ExceptionCode ec = 0;
472    item->setStringAttrWithSetterException(convertedValue, ec);
473    if (ec) {
474        WebCore::ExceptionCodeDescription ecdesc(ec);
475        g_set_error_literal(error, g_quark_from_string("WEBKIT_DOM"), ecdesc.code, ecdesc.name);
476    }
477}
478
479