Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped...
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / expected / commands-with-optional-call-return-parameters.json-result
1 ### Begin File: InspectorAlternateBackendDispatchers.h
2 /*
3  * Copyright (C) 2013 Google Inc. All rights reserved.
4  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
5  * Copyright (C) 2014 University of Washington. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26  * THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
30 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
31
32 #ifndef InspectorAlternateBackendDispatchers_h
33 #define InspectorAlternateBackendDispatchers_h
34
35 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
36
37 #include "InspectorProtocolTypes.h"
38 #include <JavaScriptCore/InspectorBackendDispatcher.h>
39
40 namespace Inspector {
41
42 class AlternateInspectorBackendDispatcher {
43 public:
44     void setBackendDispatcher(Ref<InspectorBackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
45     const InspectorBackendDispatcher& backendDispatcher() const { return m_backendDispatcher.get(); }
46 private:
47     Ref<InspectorBackendDispatcher> m_backendDispatcher;
48 };
49
50
51 class AlternateInspectorDatabaseBackendDispatcher : public AlternateInspectorBackendDispatcher {
52 public:
53     virtual ~AlternateInspectorDatabaseBackendDispatcher() { }
54     virtual void executeAllOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const String* in_printColor) = 0;
55     virtual void executeNoOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const String& in_printColor) = 0;
56 };
57
58 } // namespace Inspector
59
60 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
61
62 #endif // !defined(InspectorAlternateBackendDispatchers_h)
63 ### End File: InspectorAlternateBackendDispatchers.h
64
65 ### Begin File: InspectorBackendCommands.js
66 /*
67  * Copyright (C) 2013 Google Inc. All rights reserved.
68  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
69  * Copyright (C) 2014 University of Washington. All rights reserved.
70  *
71  * Redistribution and use in source and binary forms, with or without
72  * modification, are permitted provided that the following conditions
73  * are met:
74  * 1. Redistributions of source code must retain the above copyright
75  *    notice, this list of conditions and the following disclaimer.
76  * 2. Redistributions in binary form must reproduce the above copyright
77  *    notice, this list of conditions and the following disclaimer in the
78  *    documentation and/or other materials provided with the distribution.
79  *
80  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
81  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
82  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
83  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
84  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
85  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
86  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
87  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
88  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
89  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
90  * THE POSSIBILITY OF SUCH DAMAGE.
91  */
92
93 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
94 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
95
96 // Database.
97 InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"});
98 InspectorBackend.registerCommand("Database.executeAllOptionalParameters", [{"name": "columnNames", "type": "object", "optional": true}, {"name": "notes", "type": "string", "optional": true}, {"name": "timestamp", "type": "number", "optional": true}, {"name": "values", "type": "object", "optional": true}, {"name": "payload", "type": "object", "optional": true}, {"name": "databaseId", "type": "number", "optional": true}, {"name": "sqlError", "type": "object", "optional": true}, {"name": "screenColor", "type": "string", "optional": true}, {"name": "printColor", "type": "string", "optional": true}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "printColor"]);
99 InspectorBackend.registerCommand("Database.executeNoOptionalParameters", [{"name": "columnNames", "type": "object", "optional": false}, {"name": "notes", "type": "string", "optional": false}, {"name": "timestamp", "type": "number", "optional": false}, {"name": "values", "type": "object", "optional": false}, {"name": "payload", "type": "object", "optional": false}, {"name": "databaseId", "type": "number", "optional": false}, {"name": "sqlError", "type": "object", "optional": false}, {"name": "screenColor", "type": "string", "optional": false}, {"name": "printColor", "type": "string", "optional": false}], ["columnNames", "notes", "timestamp", "values", "payload", "databaseId", "sqlError", "screenColor", "printColor"]);
100 InspectorBackend.activateDomain("Database");
101 ### End File: InspectorBackendCommands.js
102
103 ### Begin File: InspectorBackendDispatchers.h
104 /*
105  * Copyright (C) 2013 Google Inc. All rights reserved.
106  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
107  * Copyright (C) 2014 University of Washington. All rights reserved.
108  *
109  * Redistribution and use in source and binary forms, with or without
110  * modification, are permitted provided that the following conditions
111  * are met:
112  * 1. Redistributions of source code must retain the above copyright
113  *    notice, this list of conditions and the following disclaimer.
114  * 2. Redistributions in binary form must reproduce the above copyright
115  *    notice, this list of conditions and the following disclaimer in the
116  *    documentation and/or other materials provided with the distribution.
117  *
118  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
119  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
120  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
121  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
122  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
123  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
124  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
125  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
126  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
127  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
128  * THE POSSIBILITY OF SUCH DAMAGE.
129  */
130
131 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
132 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
133
134 #ifndef InspectorBackendDispatchers_h
135 #define InspectorBackendDispatchers_h
136
137 #if ENABLE(INSPECTOR)
138
139 #include "InspectorProtocolObjects.h"
140 #include <inspector/InspectorBackendDispatcher.h>
141 #include <wtf/text/WTFString.h>
142
143 namespace Inspector {
144
145 typedef String ErrorString;
146
147 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
148 class AlternateInspectorDatabaseBackendDispatcher;
149 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
150
151 class InspectorDatabaseBackendDispatcherHandler {
152 public:
153     // Named after parameter 'screenColor' while generating command/event executeAllOptionalParameters.
154     enum class ScreenColor {
155         Red = 0,
156         Green = 1,
157         Blue = 2,
158     }; // enum class ScreenColor
159     // Named after parameter 'printColor' while generating command/event executeAllOptionalParameters.
160     enum class PrintColor {
161         Cyan = 3,
162         Magenta = 4,
163         Yellow = 5,
164         Black = 6,
165     }; // enum class PrintColor
166     virtual void executeAllOptionalParameters(ErrorString&, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const String* in_printColor, RefPtr<Inspector::Protocol::Array<String>>& opt_out_columnNames, Inspector::Protocol::OptOutput<String>* opt_out_notes, Inspector::Protocol::OptOutput<double>* opt_out_timestamp, Inspector::Protocol::OptOutput<Inspector::InspectorObject>* opt_out_values, Inspector::Protocol::OptOutput<Inspector::InspectorValue>* opt_out_payload, Inspector::Protocol::OptOutput<int>* opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
167     virtual void executeNoOptionalParameters(ErrorString&, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const String& in_printColor, RefPtr<Inspector::Protocol::Array<String>>& out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
168 protected:
169     virtual ~InspectorDatabaseBackendDispatcherHandler();
170 };
171
172 class InspectorDatabaseBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
173 public:
174     static Ref<InspectorDatabaseBackendDispatcher> create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
175     virtual void dispatch(long callId, const String& method, Ref<Inspector::InspectorObject>&& message) override;
176 private:
177     void executeAllOptionalParameters(long callId, const Inspector::InspectorObject& message);
178     void executeNoOptionalParameters(long callId, const Inspector::InspectorObject& message);
179 private:
180     InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher&, InspectorDatabaseBackendDispatcherHandler*);
181     InspectorDatabaseBackendDispatcherHandler* m_agent;
182 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
183 public:
184     void setAlternateDispatcher(AlternateInspectorDatabaseBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
185 private:
186     AlternateInspectorDatabaseBackendDispatcher* m_alternateDispatcher;
187 #endif
188 };
189
190 } // namespace Inspector
191
192 #endif // ENABLE(INSPECTOR)
193
194 #endif // !defined(InspectorBackendDispatchers_h)
195 ### End File: InspectorBackendDispatchers.h
196
197 ### Begin File: InspectorBackendDispatchers.cpp
198 /*
199  * Copyright (C) 2013 Google Inc. All rights reserved.
200  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
201  * Copyright (C) 2014 University of Washington. All rights reserved.
202  *
203  * Redistribution and use in source and binary forms, with or without
204  * modification, are permitted provided that the following conditions
205  * are met:
206  * 1. Redistributions of source code must retain the above copyright
207  *    notice, this list of conditions and the following disclaimer.
208  * 2. Redistributions in binary form must reproduce the above copyright
209  *    notice, this list of conditions and the following disclaimer in the
210  *    documentation and/or other materials provided with the distribution.
211  *
212  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
213  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
214  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
215  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
216  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
217  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
218  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
219  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
220  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
221  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
222  * THE POSSIBILITY OF SUCH DAMAGE.
223  */
224
225 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
226 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
227
228 #include "config.h"
229 #include "InspectorBackendDispatchers.h"
230
231 #if ENABLE(INSPECTOR)
232
233 #include <inspector/InspectorFrontendChannel.h>
234 #include <inspector/InspectorValues.h>
235 #include <wtf/text/CString.h>
236
237 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
238 #include "InspectorAlternateBackendDispatchers.h"
239 #endif
240
241 namespace Inspector {
242
243 InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
244
245 Ref<InspectorDatabaseBackendDispatcher> InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
246 {
247     return adoptRef(*new InspectorDatabaseBackendDispatcher(*backendDispatcher, agent));
248 }
249
250 InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher& backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
251     : InspectorSupplementalBackendDispatcher(backendDispatcher)
252     , m_agent(agent)
253 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
254     , m_alternateDispatcher(nullptr)
255 #endif
256 {
257     m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this);
258 }
259
260 void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String& method, Ref<InspectorObject>&& message)
261 {
262     Ref<InspectorDatabaseBackendDispatcher> protect(*this);
263
264     if (method == "executeAllOptionalParameters")
265         executeAllOptionalParameters(callId, message);
266     else if (method == "executeNoOptionalParameters")
267         executeNoOptionalParameters(callId, message);
268     else
269         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', "Database", '.', method, "' was not found"));
270 }
271
272 void InspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const InspectorObject& message)
273 {
274     auto protocolErrors = Inspector::Protocol::Array<String>::create();
275     RefPtr<InspectorObject> paramsContainer;
276     message.getObject(ASCIILiteral("params"), paramsContainer);
277     bool columnNames_valueFound = false;
278     RefPtr<Inspector::InspectorArray> in_columnNames = InspectorBackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("columnNames"), &columnNames_valueFound, protocolErrors.get());
279     bool notes_valueFound = false;
280     String in_notes = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("notes"), &notes_valueFound, protocolErrors.get());
281     bool timestamp_valueFound = false;
282     Inspector::Protocol::OptOutput<double> in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral("timestamp"), &timestamp_valueFound, protocolErrors.get());
283     bool values_valueFound = false;
284     RefPtr<Inspector::InspectorObject> in_values = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("values"), &values_valueFound, protocolErrors.get());
285     bool payload_valueFound = false;
286     RefPtr<Inspector::InspectorValue> in_payload = InspectorBackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral("payload"), &payload_valueFound, protocolErrors.get());
287     bool databaseId_valueFound = false;
288     int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), &databaseId_valueFound, protocolErrors.get());
289     bool sqlError_valueFound = false;
290     RefPtr<Inspector::InspectorObject> in_sqlError = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("sqlError"), &sqlError_valueFound, protocolErrors.get());
291     bool screenColor_valueFound = false;
292     String in_screenColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("screenColor"), &screenColor_valueFound, protocolErrors.get());
293     bool printColor_valueFound = false;
294     String in_printColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("printColor"), &printColor_valueFound, protocolErrors.get());
295     if (protocolErrors->length()) {
296         String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeAllOptionalParameters");
297         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
298         return;
299     }
300
301 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
302     if (m_alternateDispatcher) {
303         m_alternateDispatcher->executeAllOptionalParameters(callId, columnNames_valueFound ? in_columnNames.copyRef() : nullptr, notes_valueFound ? &in_notes : nullptr, timestamp_valueFound ? &in_timestamp : nullptr, values_valueFound ? in_values.copyRef() : nullptr, payload_valueFound ? in_payload.copyRef() : nullptr, databaseId_valueFound ? &in_databaseId : nullptr, sqlError_valueFound ? in_sqlError.copyRef() : nullptr, screenColor_valueFound ? &in_screenColor : nullptr, printColor_valueFound ? &in_printColor : nullptr);
304         return;
305     }
306 #endif
307
308     ErrorString error;
309     Ref<InspectorObject> result = InspectorObject::create();
310     RefPtr<Inspector::Protocol::Array<String>> out_columnNames;
311     Inspector::Protocol::OptOutput<String> out_notes;
312     Inspector::Protocol::OptOutput<double> out_timestamp;
313     Inspector::Protocol::OptOutput<Inspector::InspectorObject> out_values;
314     Inspector::Protocol::OptOutput<Inspector::InspectorValue> out_payload;
315     Inspector::Protocol::OptOutput<Inspector::Protocol::Database::DatabaseId> out_databaseId;
316     RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
317     Inspector::Protocol::Database::PrimaryColors out_screenColor;
318     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
319     m_agent->executeAllOptionalParameters(error, columnNames_valueFound ? in_columnNames.copyRef() : nullptr, notes_valueFound ? &in_notes : nullptr, timestamp_valueFound ? &in_timestamp : nullptr, values_valueFound ? in_values.copyRef() : nullptr, payload_valueFound ? in_payload.copyRef() : nullptr, databaseId_valueFound ? &in_databaseId : nullptr, sqlError_valueFound ? in_sqlError.copyRef() : nullptr, screenColor_valueFound ? &in_screenColor : nullptr, printColor_valueFound ? &in_printColor : nullptr, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, &out_printColor);
320
321     if (!error.length()) {
322         if (out_columnNames)
323             result->setArray(ASCIILiteral("columnNames"), out_columnNames);
324         if (out_notes.isAssigned())
325             result->setString(ASCIILiteral("notes"), out_notes.getValue());
326         if (out_timestamp.isAssigned())
327             result->setDouble(ASCIILiteral("timestamp"), out_timestamp.getValue());
328         if (out_values.isAssigned())
329             result->setObject(ASCIILiteral("values"), out_values.getValue());
330         if (out_payload.isAssigned())
331             result->setValue(ASCIILiteral("payload"), out_payload.getValue());
332         if (out_databaseId.isAssigned())
333             result->setInteger(ASCIILiteral("databaseId"), out_databaseId.getValue());
334         if (out_sqlError)
335             result->setObject(ASCIILiteral("sqlError"), out_sqlError);
336         if (out_screenColor.isAssigned())
337             result->setString(ASCIILiteral("screenColor"), out_screenColor.getValue());
338         if (out_printColor.isAssigned())
339             result->setString(ASCIILiteral("printColor"), out_printColor.getValue());
340     }
341     m_backendDispatcher->sendResponse(callId, WTF::move(result), error);
342 }
343
344 void InspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const InspectorObject& message)
345 {
346     auto protocolErrors = Inspector::Protocol::Array<String>::create();
347     RefPtr<InspectorObject> paramsContainer;
348     message.getObject(ASCIILiteral("params"), paramsContainer);
349     RefPtr<Inspector::InspectorArray> in_columnNames = InspectorBackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral("columnNames"), nullptr, protocolErrors.get());
350     String in_notes = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("notes"), nullptr, protocolErrors.get());
351     double in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral("timestamp"), nullptr, protocolErrors.get());
352     RefPtr<Inspector::InspectorObject> in_values = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("values"), nullptr, protocolErrors.get());
353     RefPtr<Inspector::InspectorValue> in_payload = InspectorBackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral("payload"), nullptr, protocolErrors.get());
354     int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral("databaseId"), nullptr, protocolErrors.get());
355     RefPtr<Inspector::InspectorObject> in_sqlError = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral("sqlError"), nullptr, protocolErrors.get());
356     String in_screenColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("screenColor"), nullptr, protocolErrors.get());
357     String in_printColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral("printColor"), nullptr, protocolErrors.get());
358     if (protocolErrors->length()) {
359         String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeNoOptionalParameters");
360         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
361         return;
362     }
363
364 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
365     if (m_alternateDispatcher) {
366         m_alternateDispatcher->executeNoOptionalParameters(callId, in_columnNames.copyRef(), in_notes, in_timestamp, in_values.copyRef(), in_payload.copyRef(), in_databaseId, in_sqlError.copyRef(), in_screenColor, in_printColor);
367         return;
368     }
369 #endif
370
371     ErrorString error;
372     Ref<InspectorObject> result = InspectorObject::create();
373     RefPtr<Inspector::Protocol::Array<String>> out_columnNames;
374     String out_notes;
375     double out_timestamp;
376     Inspector::InspectorObject out_values;
377     Inspector::InspectorValue out_payload;
378     Inspector::Protocol::Database::DatabaseId out_databaseId;
379     RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
380     Inspector::Protocol::Database::PrimaryColors out_screenColor;
381     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
382     m_agent->executeNoOptionalParameters(error, in_columnNames.copyRef(), in_notes, in_timestamp, in_values.copyRef(), in_payload.copyRef(), in_databaseId, in_sqlError.copyRef(), in_screenColor, in_printColor, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, &out_printColor);
383
384     if (!error.length()) {
385         result->setArray(ASCIILiteral("columnNames"), out_columnNames);
386         result->setString(ASCIILiteral("notes"), out_notes);
387         result->setDouble(ASCIILiteral("timestamp"), out_timestamp);
388         result->setObject(ASCIILiteral("values"), out_values);
389         result->setValue(ASCIILiteral("payload"), out_payload);
390         result->setInteger(ASCIILiteral("databaseId"), out_databaseId);
391         result->setObject(ASCIILiteral("sqlError"), out_sqlError);
392         result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getEnumConstantValue(out_screenColor));
393         result->setString(ASCIILiteral("printColor"), Inspector::Protocol::getEnumConstantValue(out_printColor));
394     }
395     m_backendDispatcher->sendResponse(callId, WTF::move(result), error);
396 }
397
398 } // namespace Inspector
399
400 #endif // ENABLE(INSPECTOR)
401
402 ### End File: InspectorBackendDispatchers.cpp
403
404 ### Begin File: InspectorFrontendDispatchers.h
405 /*
406  * Copyright (C) 2013 Google Inc. All rights reserved.
407  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
408  * Copyright (C) 2014 University of Washington. All rights reserved.
409  *
410  * Redistribution and use in source and binary forms, with or without
411  * modification, are permitted provided that the following conditions
412  * are met:
413  * 1. Redistributions of source code must retain the above copyright
414  *    notice, this list of conditions and the following disclaimer.
415  * 2. Redistributions in binary form must reproduce the above copyright
416  *    notice, this list of conditions and the following disclaimer in the
417  *    documentation and/or other materials provided with the distribution.
418  *
419  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
420  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
421  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
422  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
423  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
424  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
425  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
426  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
427  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
428  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
429  * THE POSSIBILITY OF SUCH DAMAGE.
430  */
431
432 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
433 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
434
435 #ifndef InspectorFrontendDispatchers_h
436 #define InspectorFrontendDispatchers_h
437
438 #if ENABLE(INSPECTOR)
439
440 #include "InspectorProtocolObjects.h"
441 #include <inspector/InspectorFrontendChannel.h>
442 #include <inspector/InspectorValues.h>
443 #include <wtf/text/WTFString.h>
444
445 namespace Inspector {
446
447
448
449 } // namespace Inspector
450
451 #endif // ENABLE(INSPECTOR)
452
453 #endif // !defined(InspectorFrontendDispatchers_h)
454 ### End File: InspectorFrontendDispatchers.h
455
456 ### Begin File: InspectorFrontendDispatchers.cpp
457 /*
458  * Copyright (C) 2013 Google Inc. All rights reserved.
459  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
460  * Copyright (C) 2014 University of Washington. All rights reserved.
461  *
462  * Redistribution and use in source and binary forms, with or without
463  * modification, are permitted provided that the following conditions
464  * are met:
465  * 1. Redistributions of source code must retain the above copyright
466  *    notice, this list of conditions and the following disclaimer.
467  * 2. Redistributions in binary form must reproduce the above copyright
468  *    notice, this list of conditions and the following disclaimer in the
469  *    documentation and/or other materials provided with the distribution.
470  *
471  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
472  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
473  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
474  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
475  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
476  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
477  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
478  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
479  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
480  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
481  * THE POSSIBILITY OF SUCH DAMAGE.
482  */
483
484 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
485 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
486
487 #include "config.h"
488 #include "InspectorFrontendDispatchers.h"
489
490 #if ENABLE(INSPECTOR)
491
492 #include <wtf/text/CString.h>
493
494 namespace Inspector {
495
496 } // namespace Inspector
497
498 #endif // ENABLE(INSPECTOR)
499
500 ### End File: InspectorFrontendDispatchers.cpp
501
502 ### Begin File: InspectorProtocolObjects.h
503 /*
504  * Copyright (C) 2013 Google Inc. All rights reserved.
505  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
506  * Copyright (C) 2014 University of Washington. All rights reserved.
507  *
508  * Redistribution and use in source and binary forms, with or without
509  * modification, are permitted provided that the following conditions
510  * are met:
511  * 1. Redistributions of source code must retain the above copyright
512  *    notice, this list of conditions and the following disclaimer.
513  * 2. Redistributions in binary form must reproduce the above copyright
514  *    notice, this list of conditions and the following disclaimer in the
515  *    documentation and/or other materials provided with the distribution.
516  *
517  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
518  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
519  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
520  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
521  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
522  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
523  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
524  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
525  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
526  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
527  * THE POSSIBILITY OF SUCH DAMAGE.
528  */
529
530 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
531 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
532
533 #ifndef InspectorProtocolObjects_h
534 #define InspectorProtocolObjects_h
535
536 #if ENABLE(INSPECTOR)
537
538 #include <inspector/InspectorProtocolTypes.h>
539 #include <wtf/Assertions.h>
540
541 namespace Inspector {
542
543
544
545 namespace Protocol {
546
547 // Forward declarations.
548 namespace Database {
549 class Error;
550 enum class PrimaryColors;
551 } // Database
552 // End of forward declarations.
553
554
555 // Typedefs.
556 namespace Database {
557 /* Unique identifier of Database object. */
558 typedef int DatabaseId;
559 } // Database
560 // End of typedefs.
561
562 String getEnumConstantValue(int code);
563
564 template<typename T> String getEnumConstantValue(T enumValue)
565 {
566     return getEnumConstantValue(static_cast<int>(enumValue));
567 }
568
569 namespace Database {
570 /*  */
571 enum class PrimaryColors {
572     Red = 0,
573     Green = 1,
574     Blue = 2,
575 }; // enum class PrimaryColors
576 /* Database error. */
577 class Error : public Inspector::InspectorObjectBase {
578 public:
579     enum {
580         NoFieldsSet = 0,
581         MessageSet = 1 << 0,
582         CodeSet = 1 << 1,
583         AllFieldsSet = (MessageSet | CodeSet)
584     };
585
586     template<int STATE>
587     class Builder {
588     private:
589         RefPtr<Inspector::InspectorObject> m_result;
590
591         template<int STEP> Builder<STATE | STEP>& castState()
592         {
593             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
594         }
595
596         Builder(Ref</*Error*/Inspector::InspectorObject>&& object)
597             : m_result(WTF::move(object))
598         {
599             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
600         }
601         friend class Error;
602     public:
603
604         Builder<STATE | MessageSet>& setMessage(const String& value)
605         {
606             COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set);
607             m_result->setString(ASCIILiteral("message"), value);
608             return castState<MessageSet>();
609         }
610
611         Builder<STATE | CodeSet>& setCode(int value)
612         {
613             COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set);
614             m_result->setInteger(ASCIILiteral("code"), value);
615             return castState<CodeSet>();
616         }
617
618         Ref<Error> release()
619         {
620             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
621             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
622
623             Ref<Inspector::InspectorObject> result = m_result.releaseNonNull();
624             return WTF::move(*reinterpret_cast<Ref<Error>*>(&result));
625         }
626     };
627
628     /*
629      * Synthetic constructor:
630      * Ref<Error> result = Error::create()
631      *     .setMessage(...)
632      *     .setCode(...)
633      *     .release();
634      */
635     static Builder<NoFieldsSet> create()
636     {
637         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
638     }
639 };
640
641 } // Database
642
643
644
645 } // namespace Protocol
646
647 } // namespace Inspector
648
649 #endif // ENABLE(INSPECTOR)
650
651 #endif // !defined(InspectorProtocolObjects_h)
652 ### End File: InspectorProtocolObjects.h
653
654 ### Begin File: InspectorProtocolObjects.cpp
655 /*
656  * Copyright (C) 2013 Google Inc. All rights reserved.
657  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
658  * Copyright (C) 2014 University of Washington. All rights reserved.
659  *
660  * Redistribution and use in source and binary forms, with or without
661  * modification, are permitted provided that the following conditions
662  * are met:
663  * 1. Redistributions of source code must retain the above copyright
664  *    notice, this list of conditions and the following disclaimer.
665  * 2. Redistributions in binary form must reproduce the above copyright
666  *    notice, this list of conditions and the following disclaimer in the
667  *    documentation and/or other materials provided with the distribution.
668  *
669  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
670  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
671  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
672  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
673  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
674  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
675  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
676  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
677  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
678  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
679  * THE POSSIBILITY OF SUCH DAMAGE.
680  */
681
682 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
683 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
684
685 #include "config.h"
686 #include "InspectorProtocolObjects.h"
687
688 #if ENABLE(INSPECTOR)
689
690 #include <wtf/text/CString.h>
691
692 namespace Inspector {
693
694 namespace Protocol {
695
696 static const char* const enum_constant_values[] = {
697     "red",
698     "green",
699     "blue",
700     "cyan",
701     "magenta",
702     "yellow",
703     "black",
704 };
705
706 String getEnumConstantValue(int code) {
707     return enum_constant_values[code];
708 }
709
710
711
712 } // namespace Protocol
713
714 } // namespace Inspector
715
716 #endif // ENABLE(INSPECTOR)
717
718 ### End File: InspectorProtocolObjects.cpp
719
720 ### Begin File: RWIProtocolBackendDispatchers.h
721 /*
722  * Copyright (C) 2013 Google Inc. All rights reserved.
723  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
724  * Copyright (C) 2014 University of Washington. All rights reserved.
725  *
726  * Redistribution and use in source and binary forms, with or without
727  * modification, are permitted provided that the following conditions
728  * are met:
729  * 1. Redistributions of source code must retain the above copyright
730  *    notice, this list of conditions and the following disclaimer.
731  * 2. Redistributions in binary form must reproduce the above copyright
732  *    notice, this list of conditions and the following disclaimer in the
733  *    documentation and/or other materials provided with the distribution.
734  *
735  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
736  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
737  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
738  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
739  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
740  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
741  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
742  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
743  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
744  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
745  * THE POSSIBILITY OF SUCH DAMAGE.
746  */
747
748 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
749 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
750
751 #include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
752 #include <wtf/RetainPtr.h>
753
754 @protocol RWIProtocolDatabaseDomainHandler;
755
756 namespace Inspector {
757
758
759 class ObjCInspectorDatabaseBackendDispatcher final : public AlternateInspectorDatabaseBackendDispatcher {
760 public:
761     ObjCInspectorDatabaseBackendDispatcher(id<RWIProtocolDatabaseDomainHandler> handler) { m_delegate = handler; }
762     virtual void executeAllOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const String* in_printColor) override;
763     virtual void executeNoOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const String& in_printColor) override;
764 private:
765     RetainPtr<id<RWIProtocolDatabaseDomainHandler>> m_delegate;
766 };
767
768 } // namespace Inspector
769
770 ### End File: RWIProtocolBackendDispatchers.h
771
772 ### Begin File: RWIProtocolConfiguration.mm
773 /*
774  * Copyright (C) 2013 Google Inc. All rights reserved.
775  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
776  * Copyright (C) 2014 University of Washington. All rights reserved.
777  *
778  * Redistribution and use in source and binary forms, with or without
779  * modification, are permitted provided that the following conditions
780  * are met:
781  * 1. Redistributions of source code must retain the above copyright
782  *    notice, this list of conditions and the following disclaimer.
783  * 2. Redistributions in binary form must reproduce the above copyright
784  *    notice, this list of conditions and the following disclaimer in the
785  *    documentation and/or other materials provided with the distribution.
786  *
787  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
788  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
789  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
790  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
791  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
792  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
793  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
794  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
795  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
796  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
797  * THE POSSIBILITY OF SUCH DAMAGE.
798  */
799
800 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
801 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
802
803 #import "config.h"
804 #import "RWIProtocolConfiguration.h"
805
806 #import "RWIProtocolInternal.h"
807 #import "RWIProtocolBackendDispatchers.h"
808 #import <JavaScriptCore/AlternateDispatchableAgent.h>
809 #import <JavaScriptCore/AugmentableInspectorController.h>
810 #import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
811 #import <JavaScriptCore/InspectorBackendDispatchers.h>
812
813 using namespace Inspector;
814
815 @implementation RWIProtocolConfiguration
816 {
817     AugmentableInspectorController* _controller;
818     id<RWIProtocolDatabaseDomainHandler> _databaseHandler;
819 }
820
821 - (instancetype)initWithController:(AugmentableInspectorController*)controller
822 {
823     self = [super init];
824     if (!self)
825         return nil;
826     ASSERT(controller);
827     _controller = controller;
828     return self;
829 }
830
831 - (void)dealloc
832 {
833     [_databaseHandler release];
834     [super dealloc];
835 }
836
837 - (void)setDatabaseHandler:(id<RWIProtocolDatabaseDomainHandler>)handler
838 {
839     if (handler == _databaseHandler)
840         return;
841
842     [_databaseHandler release];
843     _databaseHandler = [handler retain];
844
845     auto alternateDispatcher = std::make_unique<ObjCInspectorDatabaseBackendDispatcher>(handler);
846     auto alternateAgent = std::make_unique<AlternateDispatchableAgent<InspectorDatabaseBackendDispatcher, AlternateInspectorDatabaseBackendDispatcher>>(ASCIILiteral("Database"), WTF::move(alternateDispatcher));
847     _controller->appendExtraAgent(WTF::move(alternateAgent));
848 }
849
850 - (id<RWIProtocolDatabaseDomainHandler>)databaseHandler
851 {
852     return _databaseHandler;
853 }
854
855 @end
856
857
858 ### End File: RWIProtocolConfiguration.mm
859
860 ### Begin File: RWIProtocolConfiguration.h
861 /*
862  * Copyright (C) 2013 Google Inc. All rights reserved.
863  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
864  * Copyright (C) 2014 University of Washington. All rights reserved.
865  *
866  * Redistribution and use in source and binary forms, with or without
867  * modification, are permitted provided that the following conditions
868  * are met:
869  * 1. Redistributions of source code must retain the above copyright
870  *    notice, this list of conditions and the following disclaimer.
871  * 2. Redistributions in binary form must reproduce the above copyright
872  *    notice, this list of conditions and the following disclaimer in the
873  *    documentation and/or other materials provided with the distribution.
874  *
875  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
876  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
877  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
878  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
879  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
880  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
881  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
882  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
883  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
884  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
885  * THE POSSIBILITY OF SUCH DAMAGE.
886  */
887
888 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
889 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
890
891 #import "RWIProtocol.h"
892
893 __attribute__((visibility ("default")))
894 @interface RWIProtocolConfiguration : NSObject
895 @property (nonatomic, retain, setter=setDatabaseHandler:) id<RWIProtocolDatabaseDomainHandler> databaseHandler;
896 @end
897
898
899 ### End File: RWIProtocolConfiguration.h
900
901 ### Begin File: RWIProtocolBackendDispatchers.mm
902 /*
903  * Copyright (C) 2013 Google Inc. All rights reserved.
904  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
905  * Copyright (C) 2014 University of Washington. All rights reserved.
906  *
907  * Redistribution and use in source and binary forms, with or without
908  * modification, are permitted provided that the following conditions
909  * are met:
910  * 1. Redistributions of source code must retain the above copyright
911  *    notice, this list of conditions and the following disclaimer.
912  * 2. Redistributions in binary form must reproduce the above copyright
913  *    notice, this list of conditions and the following disclaimer in the
914  *    documentation and/or other materials provided with the distribution.
915  *
916  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
917  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
918  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
919  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
920  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
921  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
922  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
923  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
924  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
925  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
926  * THE POSSIBILITY OF SUCH DAMAGE.
927  */
928
929 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
930 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
931
932 #import "config.h"
933 #import "RWIProtocolBackendDispatchers.h"
934
935 #include "RWIProtocolInternal.h"
936 #include "RWIProtocolEnumConversionHelpers.h"
937 #include <JavaScriptCore/InspectorFrontendChannel.h>
938 #include <JavaScriptCore/InspectorValues.h>
939
940 namespace Inspector {
941
942 void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String* in_screenColor, const String* in_printColor)
943 {
944     id errorCallback = ^(NSString *error) {
945         backendDispatcher()->sendResponse(callId, InspectorObject::create(), error);
946     };
947
948     id successCallback = ^(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) {
949         Ref<InspectorObject> resultObject = InspectorObject::create();
950         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @"columnNames");
951         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @"notes");
952         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @"values");
953         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(payload, @"payload");
954         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(sqlError, @"sqlError");
955         if (columnNames)
956             resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(*columnNames));
957         if (notes)
958             resultObject->setString(ASCIILiteral("notes"), *notes);
959         if (timestamp)
960             resultObject->setDouble(ASCIILiteral("timestamp"), *timestamp);
961         if (values)
962             resultObject->setObject(ASCIILiteral("values"), [*values toInspectorObject]);
963         if (payload)
964             resultObject->setValue(ASCIILiteral("payload"), [*payload toInspectorObject]);
965         if (databaseId)
966             resultObject->setInteger(ASCIILiteral("databaseId"), *databaseId);
967         if (sqlError)
968             resultObject->setObject(ASCIILiteral("sqlError"), [*sqlError toInspectorObject]);
969         if (screenColor)
970             resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(*screenColor));
971         if (printColor)
972             resultObject->setString(ASCIILiteral("printColor"), toProtocolString(*printColor));
973         backendDispatcher()->sendResponse(callId, resultObject.release(), String());
974     };
975
976     NSArray/*<NSString>*/ *o_in_columnNames;
977     if (in_columnNames)
978         o_in_columnNames = objcStringArray(*in_columnNames);
979     NSString *o_in_notes;
980     if (in_notes)
981         o_in_notes = *in_notes;
982     double o_in_timestamp;
983     if (in_timestamp)
984         o_in_timestamp = *in_timestamp;
985     RWIProtocolJSONObject *o_in_values;
986     if (in_values)
987         o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:*in_values] autorelease];
988     RWIProtocolJSONObject *o_in_payload;
989     if (in_payload)
990         o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:*in_payload] autorelease];
991     int o_in_databaseId;
992     if (in_databaseId)
993         o_in_databaseId = *in_databaseId;
994     RWIProtocolDatabaseError *o_in_sqlError;
995     if (in_sqlError)
996         o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:*in_sqlError] autorelease];
997     RWIProtocolDatabasePrimaryColors o_in_screenColor;
998     if (in_screenColor)
999         o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(*in_screenColor);
1000     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor o_in_printColor;
1001     if (in_printColor)
1002         o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor>(*in_printColor);
1003
1004     [m_delegate executeAllOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:(in_columnNames ? &o_in_columnNames : nil) notes:(in_notes ? &o_in_notes : nil) timestamp:(in_timestamp ? &o_in_timestamp : nil) values:(in_values ? &o_in_values : nil) payload:(in_payload ? &o_in_payload : nil) databaseId:(in_databaseId ? &o_in_databaseId : nil) sqlError:(in_sqlError ? &o_in_sqlError : nil) screenColor:(in_screenColor ? &o_in_screenColor : nil) printColor:(in_printColor ? &o_in_printColor : nil)];
1005 }
1006
1007 void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const RefPtr<Inspector::InspectorArray>&& in_columnNames, const String& in_notes, double in_timestamp, const RefPtr<Inspector::InspectorObject>&& in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr<Inspector::InspectorObject>&& in_sqlError, const String& in_screenColor, const String& in_printColor)
1008 {
1009     id errorCallback = ^(NSString *error) {
1010         backendDispatcher()->sendResponse(callId, InspectorObject::create(), error);
1011     };
1012
1013     id successCallback = ^(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) {
1014         Ref<InspectorObject> resultObject = InspectorObject::create();
1015         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @"columnNames");
1016         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @"notes");
1017         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @"values");
1018         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(payload, @"payload");
1019         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(sqlError, @"sqlError");
1020         resultObject->setArray(ASCIILiteral("columnNames"), inspectorStringArray(columnNames));
1021         resultObject->setString(ASCIILiteral("notes"), notes);
1022         resultObject->setDouble(ASCIILiteral("timestamp"), timestamp);
1023         resultObject->setObject(ASCIILiteral("values"), [values toInspectorObject]);
1024         resultObject->setValue(ASCIILiteral("payload"), [payload toInspectorObject]);
1025         resultObject->setInteger(ASCIILiteral("databaseId"), databaseId);
1026         resultObject->setObject(ASCIILiteral("sqlError"), [sqlError toInspectorObject]);
1027         resultObject->setString(ASCIILiteral("screenColor"), toProtocolString(screenColor));
1028         resultObject->setString(ASCIILiteral("printColor"), toProtocolString(printColor));
1029         backendDispatcher()->sendResponse(callId, resultObject.release(), String());
1030     };
1031
1032     NSArray/*<NSString>*/ *o_in_columnNames = objcStringArray(in_columnNames);
1033     NSString *o_in_notes = in_notes;
1034     double o_in_timestamp = in_timestamp;
1035     RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_values] autorelease];
1036     RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_payload] autorelease];
1037     int o_in_databaseId = in_databaseId;
1038     RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError] autorelease];
1039     RWIProtocolDatabasePrimaryColors o_in_screenColor = fromProtocolString<RWIProtocolDatabasePrimaryColors>(in_screenColor);
1040     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor o_in_printColor = fromProtocolString<RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor);
1041
1042     [m_delegate executeNoOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:o_in_columnNames notes:o_in_notes timestamp:o_in_timestamp values:o_in_values payload:o_in_payload databaseId:o_in_databaseId sqlError:o_in_sqlError screenColor:o_in_screenColor printColor:o_in_printColor];
1043 }
1044
1045
1046 } // namespace Inspector
1047
1048 ### End File: RWIProtocolBackendDispatchers.mm
1049
1050 ### Begin File: RWIProtocolEnumConversionHelpers.h
1051 /*
1052  * Copyright (C) 2013 Google Inc. All rights reserved.
1053  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1054  * Copyright (C) 2014 University of Washington. All rights reserved.
1055  *
1056  * Redistribution and use in source and binary forms, with or without
1057  * modification, are permitted provided that the following conditions
1058  * are met:
1059  * 1. Redistributions of source code must retain the above copyright
1060  *    notice, this list of conditions and the following disclaimer.
1061  * 2. Redistributions in binary form must reproduce the above copyright
1062  *    notice, this list of conditions and the following disclaimer in the
1063  *    documentation and/or other materials provided with the distribution.
1064  *
1065  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1066  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1067  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1068  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1069  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1070  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1071  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1072  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1073  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1074  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1075  * THE POSSIBILITY OF SUCH DAMAGE.
1076  */
1077
1078 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
1079 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1080
1081 #import "RWIProtocolArrayConversionHelpers.h"
1082
1083 namespace Inspector {
1084
1085 template<typename ObjCEnumType>
1086 ObjCEnumType fromProtocolString(String value);
1087
1088
1089 inline String toProtocolString(RWIProtocolDatabasePrimaryColors value)
1090 {
1091     switch(value) {
1092     case RWIProtocolDatabasePrimaryColorsRed:
1093         return ASCIILiteral("red");
1094     case RWIProtocolDatabasePrimaryColorsGreen:
1095         return ASCIILiteral("green");
1096     case RWIProtocolDatabasePrimaryColorsBlue:
1097         return ASCIILiteral("blue");
1098     }
1099 }
1100
1101 template<>
1102 inline RWIProtocolDatabasePrimaryColors fromProtocolString(String value)
1103 {
1104     if (value == "red")
1105         return RWIProtocolDatabasePrimaryColorsRed;
1106     if (value == "green")
1107         return RWIProtocolDatabasePrimaryColorsGreen;
1108     if (value == "blue")
1109         return RWIProtocolDatabasePrimaryColorsBlue;
1110     ASSERT_NOT_REACHED();
1111     return RWIProtocolDatabasePrimaryColorsRed;
1112 }
1113
1114 inline String toProtocolString(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
1115 {
1116     switch(value) {
1117     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
1118         return ASCIILiteral("cyan");
1119     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
1120         return ASCIILiteral("magenta");
1121     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
1122         return ASCIILiteral("yellow");
1123     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
1124         return ASCIILiteral("black");
1125     }
1126 }
1127
1128 template<>
1129 inline RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(String value)
1130 {
1131     if (value == "cyan")
1132         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
1133     if (value == "magenta")
1134         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
1135     if (value == "yellow")
1136         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
1137     if (value == "black")
1138         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
1139     ASSERT_NOT_REACHED();
1140     return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
1141 }
1142
1143 inline String toProtocolString(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
1144 {
1145     switch(value) {
1146     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan:
1147         return ASCIILiteral("cyan");
1148     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta:
1149         return ASCIILiteral("magenta");
1150     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow:
1151         return ASCIILiteral("yellow");
1152     case RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack:
1153         return ASCIILiteral("black");
1154     }
1155 }
1156
1157 template<>
1158 inline RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor fromProtocolString(String value)
1159 {
1160     if (value == "cyan")
1161         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
1162     if (value == "magenta")
1163         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta;
1164     if (value == "yellow")
1165         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
1166     if (value == "black")
1167         return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
1168     ASSERT_NOT_REACHED();
1169     return RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
1170 }
1171
1172 inline String toProtocolString(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
1173 {
1174     switch(value) {
1175     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
1176         return ASCIILiteral("cyan");
1177     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
1178         return ASCIILiteral("magenta");
1179     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
1180         return ASCIILiteral("yellow");
1181     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
1182         return ASCIILiteral("black");
1183     }
1184 }
1185
1186 template<>
1187 inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(String value)
1188 {
1189     if (value == "cyan")
1190         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
1191     if (value == "magenta")
1192         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
1193     if (value == "yellow")
1194         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
1195     if (value == "black")
1196         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
1197     ASSERT_NOT_REACHED();
1198     return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
1199 }
1200
1201 inline String toProtocolString(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
1202 {
1203     switch(value) {
1204     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan:
1205         return ASCIILiteral("cyan");
1206     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta:
1207         return ASCIILiteral("magenta");
1208     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow:
1209         return ASCIILiteral("yellow");
1210     case RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack:
1211         return ASCIILiteral("black");
1212     }
1213 }
1214
1215 template<>
1216 inline RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor fromProtocolString(String value)
1217 {
1218     if (value == "cyan")
1219         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
1220     if (value == "magenta")
1221         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta;
1222     if (value == "yellow")
1223         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
1224     if (value == "black")
1225         return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
1226     ASSERT_NOT_REACHED();
1227     return RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
1228 }
1229
1230 } // namespace Inspector
1231
1232 ### End File: RWIProtocolEnumConversionHelpers.h
1233
1234 ### Begin File: RWIProtocolEventDispatchers.mm
1235 /*
1236  * Copyright (C) 2013 Google Inc. All rights reserved.
1237  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1238  * Copyright (C) 2014 University of Washington. All rights reserved.
1239  *
1240  * Redistribution and use in source and binary forms, with or without
1241  * modification, are permitted provided that the following conditions
1242  * are met:
1243  * 1. Redistributions of source code must retain the above copyright
1244  *    notice, this list of conditions and the following disclaimer.
1245  * 2. Redistributions in binary form must reproduce the above copyright
1246  *    notice, this list of conditions and the following disclaimer in the
1247  *    documentation and/or other materials provided with the distribution.
1248  *
1249  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1250  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1251  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1252  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1253  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1254  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1255  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1256  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1257  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1258  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1259  * THE POSSIBILITY OF SUCH DAMAGE.
1260  */
1261
1262 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
1263 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1264
1265 #import "config.h"
1266 #import "RWIProtocolInternal.h"
1267
1268 #import "RWIProtocolEnumConversionHelpers.h"
1269 #import <JavaScriptCore/InspectorFrontendChannel.h>
1270 #import <JavaScriptCore/InspectorValues.h>
1271
1272 using namespace Inspector;
1273
1274
1275
1276
1277 ### End File: RWIProtocolEventDispatchers.mm
1278
1279 ### Begin File: RWIProtocol.h
1280 /*
1281  * Copyright (C) 2013 Google Inc. All rights reserved.
1282  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1283  * Copyright (C) 2014 University of Washington. All rights reserved.
1284  *
1285  * Redistribution and use in source and binary forms, with or without
1286  * modification, are permitted provided that the following conditions
1287  * are met:
1288  * 1. Redistributions of source code must retain the above copyright
1289  *    notice, this list of conditions and the following disclaimer.
1290  * 2. Redistributions in binary form must reproduce the above copyright
1291  *    notice, this list of conditions and the following disclaimer in the
1292  *    documentation and/or other materials provided with the distribution.
1293  *
1294  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1295  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1296  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1297  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1298  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1299  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1300  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1301  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1302  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1303  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1304  * THE POSSIBILITY OF SUCH DAMAGE.
1305  */
1306
1307 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
1308 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1309
1310 #import <Foundation/Foundation.h>
1311
1312 #import <WebInspector/RWIProtocolJSONObject.h>
1313
1314
1315 @class RWIProtocolDatabaseError;
1316
1317
1318 typedef NS_ENUM(NSInteger, RWIProtocolDatabasePrimaryColors) {
1319     RWIProtocolDatabasePrimaryColorsRed,
1320     RWIProtocolDatabasePrimaryColorsGreen,
1321     RWIProtocolDatabasePrimaryColorsBlue,
1322 };
1323
1324 typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
1325     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
1326     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
1327     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
1328     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
1329 };
1330
1331 typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor) {
1332     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan,
1333     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorMagenta,
1334     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow,
1335     RWIProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack,
1336 };
1337
1338 typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
1339     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
1340     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
1341     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
1342     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
1343 };
1344
1345 typedef NS_ENUM(NSInteger, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor) {
1346     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan,
1347     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorMagenta,
1348     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow,
1349     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack,
1350 };
1351
1352
1353 __attribute__((visibility ("default")))
1354 @interface RWIProtocolDatabaseError : RWIProtocolJSONObject
1355 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
1356 /* required */ @property (nonatomic, copy) NSString *message;
1357 /* required */ @property (nonatomic, assign) int code;
1358 @end
1359
1360 @protocol RWIProtocolDatabaseDomainHandler <NSObject>
1361 @required
1362 - (void)executeAllOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor))successCallback columnNames:(NSArray/*<NSString>*/ **)columnNames notes:(NSString **)notes timestamp:(double *)timestamp values:(RWIProtocolJSONObject **)values payload:(RWIProtocolJSONObject **)payload databaseId:(int *)databaseId sqlError:(RWIProtocolDatabaseError **)sqlError screenColor:(RWIProtocolDatabasePrimaryColors *)screenColor printColor:(RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *)printColor;
1363 - (void)executeNoOptionalParametersWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(NSArray/*<NSString>*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor))successCallback columnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload databaseId:(int)databaseId sqlError:(RWIProtocolDatabaseError *)sqlError screenColor:(RWIProtocolDatabasePrimaryColors)screenColor printColor:(RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor)printColor;
1364 @end
1365
1366
1367
1368
1369 ### End File: RWIProtocol.h
1370
1371 ### Begin File: RWIProtocolTypes.mm
1372 /*
1373  * Copyright (C) 2013 Google Inc. All rights reserved.
1374  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1375  * Copyright (C) 2014 University of Washington. All rights reserved.
1376  *
1377  * Redistribution and use in source and binary forms, with or without
1378  * modification, are permitted provided that the following conditions
1379  * are met:
1380  * 1. Redistributions of source code must retain the above copyright
1381  *    notice, this list of conditions and the following disclaimer.
1382  * 2. Redistributions in binary form must reproduce the above copyright
1383  *    notice, this list of conditions and the following disclaimer in the
1384  *    documentation and/or other materials provided with the distribution.
1385  *
1386  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1387  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1388  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1389  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1390  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1391  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1392  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1393  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1394  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1395  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1396  * THE POSSIBILITY OF SUCH DAMAGE.
1397  */
1398
1399 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
1400 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1401
1402 #import "config.h"
1403 #import "RWIProtocolInternal.h"
1404
1405 #import "RWIProtocolEnumConversionHelpers.h"
1406 #import <JavaScriptCore/InspectorValues.h>
1407 #import <wtf/Assertions.h>
1408
1409 using namespace Inspector;
1410
1411
1412 @implementation RWIProtocolDatabaseError
1413
1414 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
1415 {
1416     self = [super init];
1417     if (!self)
1418         return nil;
1419
1420     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
1421
1422     self.message = message;
1423     self.code = code;
1424
1425     return self;
1426 }
1427
1428 - (void)setMessage:(NSString *)message
1429 {
1430     [super setString:message forKey:@"message"];
1431 }
1432
1433 - (NSString *)message
1434 {
1435     return [super stringForKey:@"message"];
1436 }
1437
1438 - (void)setCode:(int)code
1439 {
1440     [super setInteger:code forKey:@"code"];
1441 }
1442
1443 - (int)code
1444 {
1445     return [super integerForKey:@"code"];
1446 }
1447
1448 @end
1449
1450
1451 ### End File: RWIProtocolTypes.mm
1452
1453 ### Begin File: RWIProtocolInternal.h
1454 /*
1455  * Copyright (C) 2013 Google Inc. All rights reserved.
1456  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1457  * Copyright (C) 2014 University of Washington. All rights reserved.
1458  *
1459  * Redistribution and use in source and binary forms, with or without
1460  * modification, are permitted provided that the following conditions
1461  * are met:
1462  * 1. Redistributions of source code must retain the above copyright
1463  *    notice, this list of conditions and the following disclaimer.
1464  * 2. Redistributions in binary form must reproduce the above copyright
1465  *    notice, this list of conditions and the following disclaimer in the
1466  *    documentation and/or other materials provided with the distribution.
1467  *
1468  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1469  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1470  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1471  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1472  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1473  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1474  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1475  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1476  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1477  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1478  * THE POSSIBILITY OF SUCH DAMAGE.
1479  */
1480
1481 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
1482 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1483
1484 #import "RWIProtocol.h"
1485 #import "RWIProtocolJSONObjectInternal.h"
1486 #import <JavaScriptCore/AugmentableInspectorController.h>
1487 #import <JavaScriptCore/InspectorValues.h>
1488
1489
1490
1491
1492 ### End File: RWIProtocolInternal.h