Unreviewed test gardening.
[WebKit-https.git] / Source / WebCore / Modules / indexeddb / legacy / LegacyAny.cpp
1 /*
2  * Copyright (C) 2010 Google Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer.
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
18  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #include "config.h"
27 #include "LegacyAny.h"
28
29 #if ENABLE(INDEXED_DATABASE)
30
31 #include "DOMStringList.h"
32 #include "IDBKeyPath.h"
33 #include "LegacyCursorWithValue.h"
34 #include "LegacyDatabase.h"
35 #include "LegacyFactory.h"
36 #include "LegacyIndex.h"
37 #include "LegacyObjectStore.h"
38
39 namespace WebCore {
40
41 RefPtr<LegacyAny> LegacyAny::createInvalid()
42 {
43     return adoptRef(new LegacyAny(Type::Undefined));
44 }
45
46 RefPtr<LegacyAny> LegacyAny::createNull()
47 {
48     return adoptRef(new LegacyAny(Type::Null));
49 }
50
51 RefPtr<LegacyAny> LegacyAny::createString(const String& value)
52 {
53     return adoptRef(new LegacyAny(value));
54 }
55
56 LegacyAny::LegacyAny(Type type)
57     : m_type(type)
58     , m_integer(0)
59 {
60     ASSERT(type == Type::Undefined || type == Type::Null);
61 }
62
63 LegacyAny::~LegacyAny()
64 {
65 }
66
67 RefPtr<DOMStringList> LegacyAny::domStringList()
68 {
69     ASSERT(m_type == Type::DOMStringList);
70     return m_domStringList;
71 }
72
73 RefPtr<IDBCursor> LegacyAny::idbCursor()
74 {
75     ASSERT(m_type == Type::IDBCursor);
76     return m_idbCursor;
77 }
78
79 RefPtr<IDBCursorWithValue> LegacyAny::idbCursorWithValue()
80 {
81     ASSERT(m_type == Type::IDBCursorWithValue);
82     return m_idbCursorWithValue;
83 }
84
85 RefPtr<IDBDatabase> LegacyAny::idbDatabase()
86 {
87     ASSERT(m_type == Type::IDBDatabase);
88     return m_idbDatabase;
89 }
90
91 RefPtr<IDBFactory> LegacyAny::idbFactory()
92 {
93     ASSERT(m_type == Type::IDBFactory);
94     return m_idbFactory;
95 }
96
97 RefPtr<IDBIndex> LegacyAny::idbIndex()
98 {
99     ASSERT(m_type == Type::IDBIndex);
100     return m_idbIndex;
101 }
102
103 RefPtr<IDBObjectStore> LegacyAny::idbObjectStore()
104 {
105     ASSERT(m_type == Type::IDBObjectStore);
106     return m_idbObjectStore;
107 }
108
109 RefPtr<IDBTransaction> LegacyAny::idbTransaction()
110 {
111     ASSERT(m_type == Type::IDBTransaction);
112     return m_idbTransaction;
113 }
114
115 const Deprecated::ScriptValue& LegacyAny::scriptValue()
116 {
117     ASSERT(m_type == Type::ScriptValue);
118     return m_scriptValue;
119 }
120
121 const String& LegacyAny::string()
122 {
123     ASSERT(m_type == Type::String);
124     return m_string;
125 }
126
127 int64_t LegacyAny::integer()
128 {
129     ASSERT(m_type == Type::Integer);
130     return m_integer;
131 }
132
133 LegacyAny::LegacyAny(RefPtr<DOMStringList> value)
134     : m_type(Type::DOMStringList)
135     , m_domStringList(value)
136     , m_integer(0)
137 {
138 }
139
140 LegacyAny::LegacyAny(RefPtr<LegacyCursorWithValue> value)
141     : m_type(Type::IDBCursorWithValue)
142     , m_idbCursorWithValue(value)
143     , m_integer(0)
144 {
145 }
146
147 LegacyAny::LegacyAny(RefPtr<LegacyCursor> value)
148     : m_type(Type::IDBCursor)
149     , m_idbCursor(value)
150     , m_integer(0)
151 {
152 }
153
154 LegacyAny::LegacyAny(RefPtr<LegacyDatabase> value)
155     : m_type(Type::IDBDatabase)
156     , m_idbDatabase(value)
157     , m_integer(0)
158 {
159 }
160
161 LegacyAny::LegacyAny(RefPtr<LegacyFactory> value)
162     : m_type(Type::IDBFactory)
163     , m_idbFactory(value)
164     , m_integer(0)
165 {
166 }
167
168 LegacyAny::LegacyAny(RefPtr<LegacyIndex> value)
169     : m_type(Type::IDBIndex)
170     , m_idbIndex(value)
171     , m_integer(0)
172 {
173 }
174
175 LegacyAny::LegacyAny(RefPtr<LegacyTransaction> value)
176     : m_type(Type::IDBTransaction)
177     , m_idbTransaction(value)
178     , m_integer(0)
179 {
180 }
181
182 LegacyAny::LegacyAny(RefPtr<LegacyObjectStore> value)
183     : m_type(Type::IDBObjectStore)
184     , m_idbObjectStore(value)
185     , m_integer(0)
186 {
187 }
188
189 LegacyAny::LegacyAny(const Deprecated::ScriptValue& value)
190     : m_type(Type::ScriptValue)
191     , m_scriptValue(value)
192     , m_integer(0)
193 {
194 }
195
196 LegacyAny::LegacyAny(const IDBKeyPath& value)
197     : m_type(Type::KeyPath)
198     , m_idbKeyPath(value)
199     , m_integer(0)
200 {
201 }
202
203 LegacyAny::LegacyAny(const String& value)
204     : m_type(Type::String)
205     , m_string(value)
206     , m_integer(0)
207 {
208 }
209
210 LegacyAny::LegacyAny(int64_t value)
211     : m_type(Type::Integer)
212     , m_integer(value)
213 {
214 }
215
216 LegacyCursor* LegacyAny::legacyCursor()
217 {
218     ASSERT(m_type == Type::IDBCursor);
219     return m_idbCursor.get();
220 }
221
222 LegacyCursorWithValue* LegacyAny::legacyCursorWithValue()
223 {
224     ASSERT(m_type == Type::IDBCursorWithValue);
225     return m_idbCursorWithValue.get();
226 }
227
228 LegacyDatabase* LegacyAny::legacyDatabase()
229 {
230     ASSERT(m_type == Type::IDBDatabase);
231     return m_idbDatabase.get();
232 }
233
234 LegacyFactory* LegacyAny::legacyFactory()
235 {
236     ASSERT(m_type == Type::IDBFactory);
237     return m_idbFactory.get();
238 }
239
240 LegacyIndex* LegacyAny::legacyIndex()
241 {
242     ASSERT(m_type == Type::IDBIndex);
243     return m_idbIndex.get();
244 }
245
246 LegacyObjectStore* LegacyAny::legacyObjectStore()
247 {
248     ASSERT(m_type == Type::IDBObjectStore);
249     return m_idbObjectStore.get();
250 }
251
252 LegacyTransaction* LegacyAny::legacyTransaction()
253 {
254     ASSERT(m_type == Type::IDBTransaction);
255     return m_idbTransaction.get();
256 }
257
258 } // namespace WebCore
259
260 #endif // ENABLE(INDEXED_DATABASE)
261