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