2011-01-07 Adam Barth <abarth@webkit.org>
[WebKit-https.git] / WebCore / bindings / scripts / test / V8 / V8TestCallback.h
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., 59 Temple Place - Suite 330,
18     Boston, MA 02111-1307, USA.
19 */
20
21 #if ENABLE(DATABASE)
22
23 #ifndef V8TestCallback_h
24 #define V8TestCallback_h
25
26 #include "ActiveDOMCallback.h"
27 #include "TestCallback.h"
28 #include "WorldContextHandle.h"
29 #include <v8.h>
30 #include <wtf/Forward.h>
31
32 namespace WebCore {
33
34 class ScriptExecutionContext;
35
36 class V8TestCallback : public TestCallback, public ActiveDOMCallback {
37 public:
38     static PassRefPtr<V8TestCallback> create(v8::Local<v8::Value> value, ScriptExecutionContext* context)
39     {
40         ASSERT(value->IsObject());
41         ASSERT(context);
42         return adoptRef(new V8TestCallback(value->ToObject(), context));
43     }
44
45     virtual ~V8TestCallback();
46
47     // Functions
48     virtual bool callbackWithClass1Param(Class1* class1Param);
49     virtual bool callbackWithClass2Param(Class2* class2Param, const String& strArg);
50     COMPILE_ASSERT(false)    virtual int callbackWithNonBoolReturnType(Class3* class3Param);
51     virtual int customCallback(Class5* class5Param, Class6* class6Param);
52
53 private:
54     V8TestCallback(v8::Local<v8::Object>, ScriptExecutionContext*);
55
56     v8::Persistent<v8::Object> m_callback;
57     WorldContextHandle m_worldContext;
58 };
59
60 }
61
62 #endif // V8TestCallback_h
63
64 #endif // ENABLE(DATABASE)