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