1/*
2    This file is part of the WebKit open source project.
3    This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public
7    License as published by the Free Software Foundation; either
8    version 2 of the License, or (at your option) any later version.
9
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public License
16    along with this library; see the file COPYING.LIB.  If not, write to
17    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18    Boston, MA 02110-1301, USA.
19*/
20
21#ifndef JSTestCallback_h
22#define JSTestCallback_h
23
24#if ENABLE(SQL_DATABASE)
25
26#include "ActiveDOMCallback.h"
27#include "JSCallbackData.h"
28#include "TestCallback.h"
29#include <wtf/Forward.h>
30
31namespace WebCore {
32
33class JSTestCallback : public TestCallback, public ActiveDOMCallback {
34public:
35    static PassRefPtr<JSTestCallback> create(JSC::JSObject* callback, JSDOMGlobalObject* globalObject)
36    {
37        return adoptRef(new JSTestCallback(callback, globalObject));
38    }
39
40    virtual ScriptExecutionContext* scriptExecutionContext() const { return ContextDestructionObserver::scriptExecutionContext(); }
41
42    virtual ~JSTestCallback();
43
44    // Functions
45    virtual bool callbackWithNoParam();
46    virtual bool callbackWithArrayParam(RefPtr<Float32Array> arrayParam);
47    virtual bool callbackWithSerializedScriptValueParam(PassRefPtr<SerializedScriptValue> srzParam, const String& strArg);
48    COMPILE_ASSERT(false)    virtual int callbackWithNonBoolReturnType(const String& strArg);
49    virtual int customCallback(Class5* class5Param, Class6* class6Param);
50    virtual bool callbackWithStringList(PassRefPtr<DOMStringList> listParam);
51    virtual bool callbackWithBoolean(bool boolParam);
52    virtual bool callbackRequiresThisToPass(int longParam, TestNode* testNodeParam);
53
54private:
55    JSTestCallback(JSC::JSObject* callback, JSDOMGlobalObject*);
56
57    JSCallbackData* m_data;
58};
59
60} // namespace WebCore
61
62#endif // ENABLE(SQL_DATABASE)
63
64#endif
65