2011-01-07 Adam Barth <abarth@webkit.org>
[WebKit-https.git] / Source / WebCore / bindings / scripts / test / V8 / V8TestInterface.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(Condition1) || ENABLE(Condition2)
22
23 #ifndef V8TestInterface_h
24 #define V8TestInterface_h
25
26 #include "TestInterface.h"
27 #include "V8DOMWrapper.h"
28 #include "WrapperTypeInfo.h"
29 #include "wtf/text/StringHash.h"
30 #include <v8.h>
31 #include <wtf/HashMap.h>
32
33 namespace WebCore {
34
35 class V8TestInterface {
36
37 public:
38     static bool HasInstance(v8::Handle<v8::Value> value);
39     static v8::Persistent<v8::FunctionTemplate> GetRawTemplate();
40     static v8::Persistent<v8::FunctionTemplate> GetTemplate();
41     static TestInterface* toNative(v8::Handle<v8::Object> object)
42     {
43         return reinterpret_cast<TestInterface*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
44     }
45     inline static v8::Handle<v8::Object> wrap(TestInterface*);
46     static void derefObject(void*);
47     static WrapperTypeInfo info;
48     static v8::Handle<v8::Value> constructorCallback(const v8::Arguments& args);
49     static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
50 private:
51     static v8::Handle<v8::Object> wrapSlow(TestInterface*);
52 };
53
54
55 v8::Handle<v8::Object> V8TestInterface::wrap(TestInterface* impl)
56 {
57         v8::Handle<v8::Object> wrapper = getDOMObjectMap().get(impl);
58         if (!wrapper.IsEmpty())
59             return wrapper;
60     return V8TestInterface::wrapSlow(impl);
61 }
62
63 inline v8::Handle<v8::Value> toV8(TestInterface* impl)
64 {
65     if (!impl)
66         return v8::Null();
67     return V8TestInterface::wrap(impl);
68 }
69 inline v8::Handle<v8::Value> toV8(PassRefPtr< TestInterface > impl)
70 {
71     return toV8(impl.get());
72 }
73 }
74
75 #endif // V8TestInterface_h
76 #endif // ENABLE(Condition1) || ENABLE(Condition2)
77