97ad2d956c941bb23a6f29ebc12249d270183e63
[WebKit-https.git] / Source / WebCore / bindings / scripts / test / V8 / V8TestSerializedScriptValueInterface.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 V8TestSerializedScriptValueInterface_h
24 #define V8TestSerializedScriptValueInterface_h
25
26 #include "TestSerializedScriptValueInterface.h"
27 #include "V8Binding.h"
28 #include "V8DOMWrapper.h"
29 #include "WrapperTypeInfo.h"
30 #include <v8.h>
31 #include <wtf/HashMap.h>
32 #include <wtf/text/StringHash.h>
33
34 namespace WebCore {
35
36 class V8TestSerializedScriptValueInterface {
37 public:
38     static const bool hasDependentLifetime = false;
39     static bool HasInstance(v8::Handle<v8::Value>);
40     static v8::Persistent<v8::FunctionTemplate> GetRawTemplate();
41     static v8::Persistent<v8::FunctionTemplate> GetTemplate();
42     static TestSerializedScriptValueInterface* toNative(v8::Handle<v8::Object> object)
43     {
44         return reinterpret_cast<TestSerializedScriptValueInterface*>(object->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex));
45     }
46     static void derefObject(void*);
47     static WrapperTypeInfo info;
48     static v8::Handle<v8::Value> constructorCallback(const v8::Arguments&);
49     static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
50     static void installPerContextProperties(v8::Handle<v8::Object>, TestSerializedScriptValueInterface*) { }
51     static void installPerContextPrototypeProperties(v8::Handle<v8::Object>) { }
52 private:
53     friend v8::Handle<v8::Object> wrap(TestSerializedScriptValueInterface*, v8::Handle<v8::Object> creationContext, v8::Isolate*);
54     static v8::Handle<v8::Object> createWrapper(PassRefPtr<TestSerializedScriptValueInterface>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
55 };
56
57
58 inline v8::Handle<v8::Object> wrap(TestSerializedScriptValueInterface* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
59 {
60     ASSERT(impl);
61     ASSERT(DOMDataStore::getWrapper(impl, isolate).IsEmpty());
62     return V8TestSerializedScriptValueInterface::createWrapper(impl, creationContext, isolate);
63 }
64
65 inline v8::Handle<v8::Value> toV8(TestSerializedScriptValueInterface* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
66 {
67     if (UNLIKELY(!impl))
68         return v8NullWithCheck(isolate);
69     v8::Handle<v8::Value> wrapper = DOMDataStore::getWrapper(impl, isolate);
70     if (!wrapper.IsEmpty())
71         return wrapper;
72     return wrap(impl, creationContext, isolate);
73 }
74
75 template<class HolderContainer, class Wrappable>
76 inline v8::Handle<v8::Value> toV8Fast(TestSerializedScriptValueInterface* impl, const HolderContainer& container, Wrappable* wrappable)
77 {
78     if (UNLIKELY(!impl))
79         return v8Null(container.GetIsolate());
80     v8::Handle<v8::Object> wrapper = DOMDataStore::getWrapperFast(impl, container, wrappable);
81     if (!wrapper.IsEmpty())
82         return wrapper;
83     return wrap(impl, container.Holder(), container.GetIsolate());
84 }
85
86 template<class HolderContainer, class Wrappable>
87 inline v8::Handle<v8::Value> toV8Fast(PassRefPtr< TestSerializedScriptValueInterface > impl, const HolderContainer& container, Wrappable* wrappable)
88 {
89     return toV8Fast(impl.get(), container, wrappable);
90 }
91
92 inline v8::Handle<v8::Value> toV8(PassRefPtr< TestSerializedScriptValueInterface > impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
93 {
94     return toV8(impl.get(), creationContext, isolate);
95 }
96
97 }
98
99 #endif // V8TestSerializedScriptValueInterface_h
100 #endif // ENABLE(Condition1) || ENABLE(Condition2)
101