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