181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch/*
281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    This file is part of the WebKit open source project.
381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    This file has been generated by generate-bindings.pl. DO NOT MODIFY!
481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    This library is free software; you can redistribute it and/or
681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    modify it under the terms of the GNU Library General Public
781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    License as published by the Free Software Foundation; either
881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    version 2 of the License, or (at your option) any later version.
981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
1081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    This library is distributed in the hope that it will be useful,
1181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    but WITHOUT ANY WARRANTY; without even the implied warranty of
1281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    Library General Public License for more details.
1481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
1581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    You should have received a copy of the GNU Library General Public License
1681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    along with this library; see the file COPYING.LIB.  If not, write to
1781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
1881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    Boston, MA 02110-1301, USA.
1981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch*/
2081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
2181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include <glib-object.h>
2281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "config.h"
2381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
2481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#if ENABLE(Condition1) || ENABLE(Condition2)
2581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
2681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include <wtf/GetPtr.h>
2781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include <wtf/RefPtr.h>
2881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "DOMObjectCache.h"
2981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "ExceptionCode.h"
3081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "JSMainThreadExecState.h"
3181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "SerializedScriptValue.h"
3281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "TestSerializedScriptValueInterface.h"
3381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "WebKitDOMBinding.h"
3481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "gobject/ConvertToUTF8String.h"
3581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkit/WebKitDOMSerializedScriptValue.h"
3681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkit/WebKitDOMSerializedScriptValuePrivate.h"
3781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkit/WebKitDOMTestSerializedScriptValueInterface.h"
3881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkit/WebKitDOMTestSerializedScriptValueInterfacePrivate.h"
3981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkitdefines.h"
4081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkitglobalsprivate.h"
4181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "webkitmarshal.h"
4281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
4381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochnamespace WebKit {
4481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
4581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochWebKitDOMTestSerializedScriptValueInterface* kit(WebCore::TestSerializedScriptValueInterface* obj)
4681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
4781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    g_return_val_if_fail(obj, 0);
4881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
4981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    if (gpointer ret = DOMObjectCache::get(obj))
5081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        return static_cast<WebKitDOMTestSerializedScriptValueInterface*>(ret);
5181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
5281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return static_cast<WebKitDOMTestSerializedScriptValueInterface*>(DOMObjectCache::put(obj, WebKit::wrapTestSerializedScriptValueInterface(obj)));
5381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
5481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
5581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch} // namespace WebKit //
5681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
5781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochWebKitDOMSerializedScriptValue*
5881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochwebkit_dom_test_serialized_script_value_interface_get_value(WebKitDOMTestSerializedScriptValueInterface* self)
5981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
6081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    g_return_val_if_fail(self, 0);
6181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebCore::JSMainThreadNullState state;
6281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebCore::TestSerializedScriptValueInterface * item = WebKit::core(self);
6381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    PassRefPtr<WebCore::SerializedScriptValue> g_res = WTF::getPtr(item->value());
6481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebKitDOMSerializedScriptValue* res = WebKit::kit(g_res.get());
6581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return res;
6681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
6781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
6881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
6981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochG_DEFINE_TYPE(WebKitDOMTestSerializedScriptValueInterface, webkit_dom_test_serialized_script_value_interface, WEBKIT_TYPE_DOM_OBJECT)
7081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
7181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochnamespace WebKit {
7281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
7381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochWebCore::TestSerializedScriptValueInterface* core(WebKitDOMTestSerializedScriptValueInterface* request)
7481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
7581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    g_return_val_if_fail(request, 0);
7681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
7781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebCore::TestSerializedScriptValueInterface* coreObject = static_cast<WebCore::TestSerializedScriptValueInterface*>(WEBKIT_DOM_OBJECT(request)->coreObject);
7881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    g_return_val_if_fail(coreObject, 0);
7981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
8081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return coreObject;
8181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
8281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
8381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch} // namespace WebKit
8481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochenum {
8581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    PROP_0,
8681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    PROP_VALUE,
8781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch};
8881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
8981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
9081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic void webkit_dom_test_serialized_script_value_interface_finalize(GObject* object)
9181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
9281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebKitDOMObject* dom_object = WEBKIT_DOM_OBJECT(object);
9381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
9481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    if (dom_object->coreObject) {
9581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        WebCore::TestSerializedScriptValueInterface* coreObject = static_cast<WebCore::TestSerializedScriptValueInterface *>(dom_object->coreObject);
9681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
9781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        WebKit::DOMObjectCache::forget(coreObject);
9881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        coreObject->deref();
9981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
10081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        dom_object->coreObject = NULL;
10181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    }
10281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
10381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    G_OBJECT_CLASS(webkit_dom_test_serialized_script_value_interface_parent_class)->finalize(object);
10481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
10581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
10681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic void webkit_dom_test_serialized_script_value_interface_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
10781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
10881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebCore::JSMainThreadNullState state;
10981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    switch (prop_id) {
11081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    default:
11181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
11281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        break;
11381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    }
11481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
11581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
11681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
11781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic void webkit_dom_test_serialized_script_value_interface_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
11881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
11981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebCore::JSMainThreadNullState state;
12081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebKitDOMTestSerializedScriptValueInterface* self = WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(object);
12181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    WebCore::TestSerializedScriptValueInterface* coreSelf = WebKit::core(self);
12281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    switch (prop_id) {
12381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    case PROP_VALUE:
12481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    {
12581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        RefPtr<WebCore::SerializedScriptValue> ptr = coreSelf->value();
12681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        g_value_set_object(value, WebKit::kit(ptr.get()));
12781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        break;
12881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    }
12981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    default:
13081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
13181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        break;
13281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    }
13381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
13481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
13581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
13681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic void webkit_dom_test_serialized_script_value_interface_constructed(GObject* object)
13781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
13881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
13981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    if (G_OBJECT_CLASS(webkit_dom_test_serialized_script_value_interface_parent_class)->constructed)
14081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        G_OBJECT_CLASS(webkit_dom_test_serialized_script_value_interface_parent_class)->constructed(object);
14181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
14281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
14381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic void webkit_dom_test_serialized_script_value_interface_class_init(WebKitDOMTestSerializedScriptValueInterfaceClass* requestClass)
14481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
14581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    GObjectClass *gobjectClass = G_OBJECT_CLASS(requestClass);
14681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    gobjectClass->finalize = webkit_dom_test_serialized_script_value_interface_finalize;
14781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    gobjectClass->set_property = webkit_dom_test_serialized_script_value_interface_set_property;
14881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    gobjectClass->get_property = webkit_dom_test_serialized_script_value_interface_get_property;
14981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    gobjectClass->constructed = webkit_dom_test_serialized_script_value_interface_constructed;
15081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
15181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    g_object_class_install_property(gobjectClass,
15281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                    PROP_VALUE,
15381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                    g_param_spec_object("value", /* name */
15481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                                           "test_serialized_script_value_interface_value", /* short description */
15581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                                           "read-only  WebKitDOMSerializedScriptValue* TestSerializedScriptValueInterface.value", /* longer - could do with some extra doc stuff here */
15681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                                           WEBKIT_TYPE_DOM_SERIALIZED_SCRIPT_VALUE, /* gobject type */
15781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                                           WEBKIT_PARAM_READABLE));
15881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
15981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
16081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
16181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
16281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochstatic void webkit_dom_test_serialized_script_value_interface_init(WebKitDOMTestSerializedScriptValueInterface* request)
16381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
16481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
16581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
16681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochnamespace WebKit {
16781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochWebKitDOMTestSerializedScriptValueInterface* wrapTestSerializedScriptValueInterface(WebCore::TestSerializedScriptValueInterface* coreObject)
16881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
16981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    g_return_val_if_fail(coreObject, 0);
17081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
17181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    /* We call ref() rather than using a C++ smart pointer because we can't store a C++ object
17281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch     * in a C-allocated GObject structure.  See the finalize() code for the
17381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch     * matching deref().
17481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch     */
17581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    coreObject->ref();
17681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
17781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return  WEBKIT_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE(g_object_new(WEBKIT_TYPE_DOM_TEST_SERIALIZED_SCRIPT_VALUE_INTERFACE,
17881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch                                               "core-object", coreObject, NULL));
17981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
18081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch} // namespace WebKit
18181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#endif /* ENABLE(Condition1) || ENABLE(Condition2) */
182