1545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch/* 2545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * This file is part of the WebKit open source project. 3545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * This file has been generated by generate-bindings.pl. DO NOT MODIFY! 4545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 5545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * This library is free software; you can redistribute it and/or 6545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * modify it under the terms of the GNU Library General Public 7545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * License as published by the Free Software Foundation; either 8545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * version 2 of the License, or (at your option) any later version. 9545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 10545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * This library is distributed in the hope that it will be useful, 11545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * but WITHOUT ANY WARRANTY; without even the implied warranty of 12545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Library General Public License for more details. 14545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 15545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * You should have received a copy of the GNU Library General Public License 16545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * along with this library; see the file COPYING.LIB. If not, write to 17545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Boston, MA 02110-1301, USA. 19545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch */ 20545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 21545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "config.h" 22545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 23545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#if ENABLE(DATABASE) 24545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 25545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "WebDOMTestCallback.h" 26545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 27545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "Class1.h" 28545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "Class2.h" 29545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "Class3.h" 302bde8e466a4451c7319e3a072d118917957d6554Steve Block#include "DOMStringList.h" 31545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "KURL.h" 32545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "TestCallback.h" 33545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "WebDOMClass1.h" 34545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "WebDOMClass2.h" 35545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "WebDOMClass3.h" 362bde8e466a4451c7319e3a072d118917957d6554Steve Block#include "WebDOMDOMStringList.h" 37545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "WebDOMString.h" 38545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "WebExceptionHandler.h" 39f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick#include "wtf/text/AtomicString.h" 40545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <wtf/GetPtr.h> 41545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include <wtf/RefPtr.h> 42545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 43545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochstruct WebDOMTestCallback::WebDOMTestCallbackPrivate { 44545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch WebDOMTestCallbackPrivate(WebCore::TestCallback* object = 0) 45545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch : impl(object) 46545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch { 47545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch } 48545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 49545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch RefPtr<WebCore::TestCallback> impl; 50545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch}; 51545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 52545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebDOMTestCallback::WebDOMTestCallback() 53545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch : WebDOMObject() 54545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch , m_impl(0) 55545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 56545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 57545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 58545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebDOMTestCallback::WebDOMTestCallback(WebCore::TestCallback* impl) 59545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch : WebDOMObject() 60545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch , m_impl(new WebDOMTestCallbackPrivate(impl)) 61545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 62545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 63545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 64545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebDOMTestCallback::WebDOMTestCallback(const WebDOMTestCallback& copy) 65545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch : WebDOMObject() 66545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 67545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch m_impl = copy.impl() ? new WebDOMTestCallbackPrivate(copy.impl()) : 0; 68545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 69545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 70f486d19d62f1bc33246748b14b14a9dfa617b57fIain MerrickWebDOMTestCallback& WebDOMTestCallback::operator=(const WebDOMTestCallback& copy) 71f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick{ 72f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick delete m_impl; 73f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick m_impl = copy.impl() ? new WebDOMTestCallbackPrivate(copy.impl()) : 0; 74f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick return *this; 75f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick} 76f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick 77545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebCore::TestCallback* WebDOMTestCallback::impl() const 78545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 79545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return m_impl ? m_impl->impl.get() : 0; 80545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 81545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 82545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebDOMTestCallback::~WebDOMTestCallback() 83545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 84545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch delete m_impl; 85545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch m_impl = 0; 86545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 87545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 88ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdochbool WebDOMTestCallback::callbackWithNoParam() 89ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch{ 90ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch if (!impl()) 91ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch return false; 92ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch 93ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch return impl()->callbackWithNoParam(); 94ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch} 95ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch 96545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochbool WebDOMTestCallback::callbackWithClass1Param(const WebDOMClass1& class1Param) 97545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 98545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch if (!impl()) 99545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return false; 100545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 101f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick return impl()->callbackWithClass1Param(toWebCore(class1Param)); 102545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 103545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 104545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochbool WebDOMTestCallback::callbackWithClass2Param(const WebDOMClass2& class2Param, const WebDOMString& strArg) 105545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 106545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch if (!impl()) 107545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return false; 108545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 109f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick return impl()->callbackWithClass2Param(toWebCore(class2Param), strArg); 110545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 111545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 112545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochint WebDOMTestCallback::callbackWithNonBoolReturnType(const WebDOMClass3& class3Param) 113545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 114545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch if (!impl()) 115545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return 0; 116545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 117f486d19d62f1bc33246748b14b14a9dfa617b57fIain Merrick return impl()->callbackWithNonBoolReturnType(toWebCore(class3Param)); 118545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 119545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 1202bde8e466a4451c7319e3a072d118917957d6554Steve Blockbool WebDOMTestCallback::callbackWithStringList(const WebDOMDOMStringList& listParam) 1212bde8e466a4451c7319e3a072d118917957d6554Steve Block{ 1222bde8e466a4451c7319e3a072d118917957d6554Steve Block if (!impl()) 1232bde8e466a4451c7319e3a072d118917957d6554Steve Block return false; 1242bde8e466a4451c7319e3a072d118917957d6554Steve Block 1252bde8e466a4451c7319e3a072d118917957d6554Steve Block return impl()->callbackWithStringList(toWebCore(listParam)); 1262bde8e466a4451c7319e3a072d118917957d6554Steve Block} 1272bde8e466a4451c7319e3a072d118917957d6554Steve Block 128545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebCore::TestCallback* toWebCore(const WebDOMTestCallback& wrapper) 129545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 130545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return wrapper.impl(); 131545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 132545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 133545e470e52f0ac6a3a072bf559c796b42c6066b6Ben MurdochWebDOMTestCallback toWebKit(WebCore::TestCallback* value) 134545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{ 135545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch return WebDOMTestCallback(value); 136545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch} 137545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 138545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#endif // ENABLE(DATABASE) 139