121939df44de1705786c545cd1bf519d47250322dBen Murdoch/* 221939df44de1705786c545cd1bf519d47250322dBen Murdoch This file is part of the WebKit open source project. 321939df44de1705786c545cd1bf519d47250322dBen Murdoch This file has been generated by generate-bindings.pl. DO NOT MODIFY! 421939df44de1705786c545cd1bf519d47250322dBen Murdoch 521939df44de1705786c545cd1bf519d47250322dBen Murdoch This library is free software; you can redistribute it and/or 621939df44de1705786c545cd1bf519d47250322dBen Murdoch modify it under the terms of the GNU Library General Public 721939df44de1705786c545cd1bf519d47250322dBen Murdoch License as published by the Free Software Foundation; either 821939df44de1705786c545cd1bf519d47250322dBen Murdoch version 2 of the License, or (at your option) any later version. 921939df44de1705786c545cd1bf519d47250322dBen Murdoch 1021939df44de1705786c545cd1bf519d47250322dBen Murdoch This library is distributed in the hope that it will be useful, 1121939df44de1705786c545cd1bf519d47250322dBen Murdoch but WITHOUT ANY WARRANTY; without even the implied warranty of 1221939df44de1705786c545cd1bf519d47250322dBen Murdoch MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1321939df44de1705786c545cd1bf519d47250322dBen Murdoch Library General Public License for more details. 1421939df44de1705786c545cd1bf519d47250322dBen Murdoch 1521939df44de1705786c545cd1bf519d47250322dBen Murdoch You should have received a copy of the GNU Library General Public License 1621939df44de1705786c545cd1bf519d47250322dBen Murdoch along with this library; see the file COPYING.LIB. If not, write to 1721939df44de1705786c545cd1bf519d47250322dBen Murdoch the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 1821939df44de1705786c545cd1bf519d47250322dBen Murdoch Boston, MA 02110-1301, USA. 1921939df44de1705786c545cd1bf519d47250322dBen Murdoch*/ 2021939df44de1705786c545cd1bf519d47250322dBen Murdoch 2121939df44de1705786c545cd1bf519d47250322dBen Murdoch#ifndef JSTestInterface_h 2221939df44de1705786c545cd1bf519d47250322dBen Murdoch#define JSTestInterface_h 2321939df44de1705786c545cd1bf519d47250322dBen Murdoch 2406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#if ENABLE(Condition1) || ENABLE(Condition2) 2506ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 2621939df44de1705786c545cd1bf519d47250322dBen Murdoch#include "JSDOMBinding.h" 2721939df44de1705786c545cd1bf519d47250322dBen Murdoch#include <runtime/JSGlobalObject.h> 285af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke#include <runtime/JSObjectWithGlobalObject.h> 2921939df44de1705786c545cd1bf519d47250322dBen Murdoch#include <runtime/ObjectPrototype.h> 3021939df44de1705786c545cd1bf519d47250322dBen Murdoch 3121939df44de1705786c545cd1bf519d47250322dBen Murdochnamespace WebCore { 3221939df44de1705786c545cd1bf519d47250322dBen Murdoch 3321939df44de1705786c545cd1bf519d47250322dBen Murdochclass TestInterface; 3421939df44de1705786c545cd1bf519d47250322dBen Murdoch 3521939df44de1705786c545cd1bf519d47250322dBen Murdochclass JSTestInterface : public DOMObjectWithGlobalPointer { 3621939df44de1705786c545cd1bf519d47250322dBen Murdoch typedef DOMObjectWithGlobalPointer Base; 3721939df44de1705786c545cd1bf519d47250322dBen Murdochpublic: 3821939df44de1705786c545cd1bf519d47250322dBen Murdoch JSTestInterface(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TestInterface>); 3921939df44de1705786c545cd1bf519d47250322dBen Murdoch static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); 4021939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); 4121939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); 4221939df44de1705786c545cd1bf519d47250322dBen Murdoch static const JSC::ClassInfo s_info; 4321939df44de1705786c545cd1bf519d47250322dBen Murdoch 442bde8e466a4451c7319e3a072d118917957d6554Steve Block static PassRefPtr<JSC::Structure> createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 4521939df44de1705786c545cd1bf519d47250322dBen Murdoch { 462bde8e466a4451c7319e3a072d118917957d6554Steve Block return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 4721939df44de1705786c545cd1bf519d47250322dBen Murdoch } 4821939df44de1705786c545cd1bf519d47250322dBen Murdoch 4921939df44de1705786c545cd1bf519d47250322dBen Murdoch static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*); 5021939df44de1705786c545cd1bf519d47250322dBen Murdoch TestInterface* impl() const { return m_impl.get(); } 5121939df44de1705786c545cd1bf519d47250322dBen Murdoch 5221939df44de1705786c545cd1bf519d47250322dBen Murdochprivate: 5321939df44de1705786c545cd1bf519d47250322dBen Murdoch RefPtr<TestInterface> m_impl; 5421939df44de1705786c545cd1bf519d47250322dBen Murdochprotected: 5521939df44de1705786c545cd1bf519d47250322dBen Murdoch static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags; 5621939df44de1705786c545cd1bf519d47250322dBen Murdoch}; 5721939df44de1705786c545cd1bf519d47250322dBen Murdoch 5821939df44de1705786c545cd1bf519d47250322dBen MurdochJSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, TestInterface*); 5921939df44de1705786c545cd1bf519d47250322dBen MurdochTestInterface* toTestInterface(JSC::JSValue); 6021939df44de1705786c545cd1bf519d47250322dBen Murdoch 615af96e2c7b73ebc627c6894727826a7576d31758Leon Clarkeclass JSTestInterfacePrototype : public JSC::JSObjectWithGlobalObject { 625af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke typedef JSC::JSObjectWithGlobalObject Base; 6321939df44de1705786c545cd1bf519d47250322dBen Murdochpublic: 6421939df44de1705786c545cd1bf519d47250322dBen Murdoch static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); 6521939df44de1705786c545cd1bf519d47250322dBen Murdoch static const JSC::ClassInfo s_info; 662bde8e466a4451c7319e3a072d118917957d6554Steve Block static PassRefPtr<JSC::Structure> createStructure(JSC::JSGlobalData& globalData, JSC::JSValue prototype) 6721939df44de1705786c545cd1bf519d47250322dBen Murdoch { 682bde8e466a4451c7319e3a072d118917957d6554Steve Block return JSC::Structure::create(globalData, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), AnonymousSlotCount, &s_info); 6921939df44de1705786c545cd1bf519d47250322dBen Murdoch } 705af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke JSTestInterfacePrototype(JSC::JSGlobalObject* globalObject, NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObjectWithGlobalObject(globalObject, structure) { } 7121939df44de1705786c545cd1bf519d47250322dBen Murdochprotected: 7221939df44de1705786c545cd1bf519d47250322dBen Murdoch static const unsigned StructureFlags = Base::StructureFlags; 7321939df44de1705786c545cd1bf519d47250322dBen Murdoch}; 7421939df44de1705786c545cd1bf519d47250322dBen Murdoch 7521939df44de1705786c545cd1bf519d47250322dBen Murdoch// Attributes 7621939df44de1705786c545cd1bf519d47250322dBen Murdoch 7721939df44de1705786c545cd1bf519d47250322dBen MurdochJSC::JSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::JSValue, const JSC::Identifier&); 7821939df44de1705786c545cd1bf519d47250322dBen Murdoch 7921939df44de1705786c545cd1bf519d47250322dBen Murdoch} // namespace WebCore 8021939df44de1705786c545cd1bf519d47250322dBen Murdoch 8106ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#endif // ENABLE(Condition1) || ENABLE(Condition2) 8206ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 8321939df44de1705786c545cd1bf519d47250322dBen Murdoch#endif 84