Web Inspector: InspectorBackendCommands should include when to activate particular...
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / expected / commands-with-optional-call-return-parameters.json-result
1 ### Begin File: InspectorBackendCommands.js
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 // Database.
33 InspectorBackend.registerEnum("Database.PrimaryColors", {Red: "red", Green: "green", Blue: "blue"});
34 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"]);
35 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"]);
36 InspectorBackend.activateDomain("Database");
37 ### End File: InspectorBackendCommands.js
38
39 ### Begin File: InspectorBackendDispatchers.h
40 /*
41  * Copyright (C) 2013 Google Inc. All rights reserved.
42  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
43  * Copyright (C) 2014 University of Washington. All rights reserved.
44  *
45  * Redistribution and use in source and binary forms, with or without
46  * modification, are permitted provided that the following conditions
47  * are met:
48  * 1. Redistributions of source code must retain the above copyright
49  *    notice, this list of conditions and the following disclaimer.
50  * 2. Redistributions in binary form must reproduce the above copyright
51  *    notice, this list of conditions and the following disclaimer in the
52  *    documentation and/or other materials provided with the distribution.
53  *
54  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
55  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
56  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
57  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
58  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
59  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
60  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
61  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
62  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
63  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
64  * THE POSSIBILITY OF SUCH DAMAGE.
65  */
66
67 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
68 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
69
70 #ifndef InspectorBackendDispatchers_h
71 #define InspectorBackendDispatchers_h
72
73 #if ENABLE(INSPECTOR)
74
75 #include "InspectorProtocolObjects.h"
76 #include <inspector/InspectorBackendDispatcher.h>
77 #include <wtf/PassRefPtr.h>
78 #include <wtf/text/WTFString.h>
79
80 namespace Inspector {
81
82 typedef String ErrorString;
83
84 class InspectorDatabaseBackendDispatcherHandler {
85 public:
86     // Named after parameter 'screenColor' while generating command/event executeAllOptionalParameters.
87     enum class ScreenColor {
88         Red = 0,
89         Green = 1,
90         Blue = 2,
91     }; // enum class ScreenColor
92     // Named after parameter 'printColor' while generating command/event executeAllOptionalParameters.
93     enum class PrintColor {
94         Cyan = 3,
95         Magenta = 4,
96         Yellow = 5,
97         Black = 6,
98     }; // enum class PrintColor
99     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;
100     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;
101 protected:
102     virtual ~InspectorDatabaseBackendDispatcherHandler();
103 };
104
105 class InspectorDatabaseBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
106 public:
107     static PassRefPtr<InspectorDatabaseBackendDispatcher> create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
108     virtual void dispatch(long callId, const String& method, PassRefPtr<Inspector::InspectorObject> message) override;
109 private:
110     void executeAllOptionalParameters(long callId, const Inspector::InspectorObject& message);
111     void executeNoOptionalParameters(long callId, const Inspector::InspectorObject& message);
112 private:
113     InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
114     InspectorDatabaseBackendDispatcherHandler* m_agent;
115 };
116
117 } // namespace Inspector
118
119 #endif // ENABLE(INSPECTOR)
120
121 #endif // !defined(InspectorBackendDispatchers_h)
122 ### End File: InspectorBackendDispatchers.h
123
124 ### Begin File: InspectorBackendDispatchers.cpp
125 /*
126  * Copyright (C) 2013 Google Inc. All rights reserved.
127  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
128  * Copyright (C) 2014 University of Washington. All rights reserved.
129  *
130  * Redistribution and use in source and binary forms, with or without
131  * modification, are permitted provided that the following conditions
132  * are met:
133  * 1. Redistributions of source code must retain the above copyright
134  *    notice, this list of conditions and the following disclaimer.
135  * 2. Redistributions in binary form must reproduce the above copyright
136  *    notice, this list of conditions and the following disclaimer in the
137  *    documentation and/or other materials provided with the distribution.
138  *
139  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
140  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
141  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
142  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
143  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
144  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
145  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
146  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
147  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
148  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
149  * THE POSSIBILITY OF SUCH DAMAGE.
150  */
151
152 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
153 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
154
155 #include "config.h"
156 #include "InspectorBackendDispatchers.h"
157
158 #if ENABLE(INSPECTOR)
159
160 #include <inspector/InspectorFrontendChannel.h>
161 #include <inspector/InspectorValues.h>
162 #include <wtf/text/CString.h>
163
164 namespace Inspector {
165
166 InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
167
168 PassRefPtr<InspectorDatabaseBackendDispatcher> InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
169 {
170     return adoptRef(new InspectorDatabaseBackendDispatcher(backendDispatcher, agent));
171 }
172
173 InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
174     : InspectorSupplementalBackendDispatcher(backendDispatcher)
175     , m_agent(agent)
176 {
177     m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this);
178 }
179
180 void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String& method, PassRefPtr<InspectorObject> message)
181 {
182     Ref<InspectorDatabaseBackendDispatcher> protect(*this);
183
184     if (method == "executeAllOptionalParameters")
185         executeAllOptionalParameters(callId, *message.get());
186     else if (method == "executeNoOptionalParameters")
187         executeNoOptionalParameters(callId, *message.get());
188     else
189         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', "Database", '.', method, "' was not found"));
190 }
191
192 void InspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const InspectorObject& message)
193 {
194     RefPtr<InspectorArray> protocolErrors = InspectorArray::create();
195     RefPtr<InspectorObject> paramsContainer = message.getObject(ASCIILiteral("params"));
196     InspectorObject* paramsContainerPtr = paramsContainer.get();
197     InspectorArray* protocolErrorsPtr = protocolErrors.get();
198     bool columnNames_valueFound = false;
199     RefPtr<Inspector::InspectorArray> in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral("columnNames"), &columnNames_valueFound, protocolErrorsPtr);
200     bool notes_valueFound = false;
201     String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("notes"), &notes_valueFound, protocolErrorsPtr);
202     bool timestamp_valueFound = false;
203     Inspector::Protocol::OptOutput<double> in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral("timestamp"), &timestamp_valueFound, protocolErrorsPtr);
204     bool values_valueFound = false;
205     RefPtr<Inspector::InspectorObject> in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("values"), &values_valueFound, protocolErrorsPtr);
206     bool payload_valueFound = false;
207     RefPtr<Inspector::InspectorValue> in_payload = InspectorBackendDispatcher::getAny(paramsContainerPtr, ASCIILiteral("payload"), &payload_valueFound, protocolErrorsPtr);
208     bool databaseId_valueFound = false;
209     int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral("databaseId"), &databaseId_valueFound, protocolErrorsPtr);
210     bool sqlError_valueFound = false;
211     RefPtr<Inspector::InspectorObject> in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("sqlError"), &sqlError_valueFound, protocolErrorsPtr);
212     bool screenColor_valueFound = false;
213     String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("screenColor"), &screenColor_valueFound, protocolErrorsPtr);
214     bool printColor_valueFound = false;
215     String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("printColor"), &printColor_valueFound, protocolErrorsPtr);
216     if (protocolErrors->length()) {
217         String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeAllOptionalParameters");
218         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
219         return;
220     }
221
222     ErrorString error;
223     RefPtr<InspectorObject> result = InspectorObject::create();
224     RefPtr<Inspector::Protocol::Array<String>> out_columnNames;
225     Inspector::Protocol::OptOutput<String> out_notes;
226     Inspector::Protocol::OptOutput<double> out_timestamp;
227     Inspector::Protocol::OptOutput<Inspector::InspectorObject> out_values;
228     Inspector::Protocol::OptOutput<Inspector::InspectorValue> out_payload;
229     Inspector::Protocol::OptOutput<Inspector::Protocol::Database::DatabaseId> out_databaseId;
230     RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
231     Inspector::Protocol::Database::PrimaryColors out_screenColor;
232     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
233     m_agent->executeAllOptionalParameters(error, columnNames_valueFound ? &in_columnNames : nullptr, notes_valueFound ? &in_notes : nullptr, timestamp_valueFound ? &in_timestamp : nullptr, values_valueFound ? &in_values : nullptr, payload_valueFound ? &in_payload : nullptr, databaseId_valueFound ? &in_databaseId : nullptr, sqlError_valueFound ? &in_sqlError : 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);
234
235     if (!error.length()) {
236         if (out_columnNames)
237             result->setArray(ASCIILiteral("columnNames"), out_columnNames);
238         if (out_notes.isAssigned())
239             result->setString(ASCIILiteral("notes"), out_notes.getValue());
240         if (out_timestamp.isAssigned())
241             result->setDouble(ASCIILiteral("timestamp"), out_timestamp.getValue());
242         if (out_values.isAssigned())
243             result->setObject(ASCIILiteral("values"), out_values.getValue());
244         if (out_payload.isAssigned())
245             result->setValue(ASCIILiteral("payload"), out_payload.getValue());
246         if (out_databaseId.isAssigned())
247             result->setInteger(ASCIILiteral("databaseId"), out_databaseId.getValue());
248         if (out_sqlError)
249             result->setObject(ASCIILiteral("sqlError"), out_sqlError);
250         if (out_screenColor.isAssigned())
251             result->setString(ASCIILiteral("screenColor"), out_screenColor.getValue());
252         if (out_printColor.isAssigned())
253             result->setString(ASCIILiteral("printColor"), out_printColor.getValue());
254     }
255     m_backendDispatcher->sendResponse(callId, result.release(), error);
256 }
257
258 void InspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const InspectorObject& message)
259 {
260     RefPtr<InspectorArray> protocolErrors = InspectorArray::create();
261     RefPtr<InspectorObject> paramsContainer = message.getObject(ASCIILiteral("params"));
262     InspectorObject* paramsContainerPtr = paramsContainer.get();
263     InspectorArray* protocolErrorsPtr = protocolErrors.get();
264     RefPtr<Inspector::InspectorArray> in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral("columnNames"), nullptr, protocolErrorsPtr);
265     String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("notes"), nullptr, protocolErrorsPtr);
266     double in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral("timestamp"), nullptr, protocolErrorsPtr);
267     RefPtr<Inspector::InspectorObject> in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("values"), nullptr, protocolErrorsPtr);
268     RefPtr<Inspector::InspectorValue> in_payload = InspectorBackendDispatcher::getAny(paramsContainerPtr, ASCIILiteral("payload"), nullptr, protocolErrorsPtr);
269     int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral("databaseId"), nullptr, protocolErrorsPtr);
270     RefPtr<Inspector::InspectorObject> in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("sqlError"), nullptr, protocolErrorsPtr);
271     String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("screenColor"), nullptr, protocolErrorsPtr);
272     String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("printColor"), nullptr, protocolErrorsPtr);
273     if (protocolErrors->length()) {
274         String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeNoOptionalParameters");
275         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
276         return;
277     }
278
279     ErrorString error;
280     RefPtr<InspectorObject> result = InspectorObject::create();
281     RefPtr<Inspector::Protocol::Array<String>> out_columnNames;
282     String out_notes;
283     double out_timestamp;
284     Inspector::InspectorObject out_values;
285     Inspector::InspectorValue out_payload;
286     Inspector::Protocol::Database::DatabaseId out_databaseId;
287     RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
288     Inspector::Protocol::Database::PrimaryColors out_screenColor;
289     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
290     m_agent->executeNoOptionalParameters(error, in_columnNames, in_notes, in_timestamp, in_values, in_payload, in_databaseId, in_sqlError, in_screenColor, in_printColor, out_columnNames, &out_notes, &out_timestamp, out_values, &out_payload, &out_databaseId, out_sqlError, &out_screenColor, &out_printColor);
291
292     if (!error.length()) {
293         result->setArray(ASCIILiteral("columnNames"), out_columnNames);
294         result->setString(ASCIILiteral("notes"), out_notes);
295         result->setDouble(ASCIILiteral("timestamp"), out_timestamp);
296         result->setObject(ASCIILiteral("values"), out_values);
297         result->setValue(ASCIILiteral("payload"), out_payload);
298         result->setInteger(ASCIILiteral("databaseId"), out_databaseId);
299         result->setObject(ASCIILiteral("sqlError"), out_sqlError);
300         result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getEnumConstantValue(out_screenColor));
301         result->setString(ASCIILiteral("printColor"), Inspector::Protocol::getEnumConstantValue(out_printColor));
302     }
303     m_backendDispatcher->sendResponse(callId, result.release(), error);
304 }
305
306 } // namespace Inspector
307
308 #endif // ENABLE(INSPECTOR)
309
310 ### End File: InspectorBackendDispatchers.cpp
311
312 ### Begin File: InspectorFrontendDispatchers.h
313 /*
314  * Copyright (C) 2013 Google Inc. All rights reserved.
315  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
316  * Copyright (C) 2014 University of Washington. All rights reserved.
317  *
318  * Redistribution and use in source and binary forms, with or without
319  * modification, are permitted provided that the following conditions
320  * are met:
321  * 1. Redistributions of source code must retain the above copyright
322  *    notice, this list of conditions and the following disclaimer.
323  * 2. Redistributions in binary form must reproduce the above copyright
324  *    notice, this list of conditions and the following disclaimer in the
325  *    documentation and/or other materials provided with the distribution.
326  *
327  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
328  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
329  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
330  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
331  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
332  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
333  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
334  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
335  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
336  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
337  * THE POSSIBILITY OF SUCH DAMAGE.
338  */
339
340 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
341 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
342
343 #ifndef InspectorFrontendDispatchers_h
344 #define InspectorFrontendDispatchers_h
345
346 #if ENABLE(INSPECTOR)
347
348 #include "InspectorProtocolObjects.h"
349 #include <inspector/InspectorFrontendChannel.h>
350 #include <inspector/InspectorValues.h>
351 #include <wtf/PassRefPtr.h>
352 #include <wtf/text/WTFString.h>
353
354 namespace Inspector {
355
356
357
358 } // namespace Inspector
359
360 #endif // ENABLE(INSPECTOR)
361
362 #endif // !defined(InspectorFrontendDispatchers_h)
363 ### End File: InspectorFrontendDispatchers.h
364
365 ### Begin File: InspectorFrontendDispatchers.cpp
366 /*
367  * Copyright (C) 2013 Google Inc. All rights reserved.
368  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
369  * Copyright (C) 2014 University of Washington. All rights reserved.
370  *
371  * Redistribution and use in source and binary forms, with or without
372  * modification, are permitted provided that the following conditions
373  * are met:
374  * 1. Redistributions of source code must retain the above copyright
375  *    notice, this list of conditions and the following disclaimer.
376  * 2. Redistributions in binary form must reproduce the above copyright
377  *    notice, this list of conditions and the following disclaimer in the
378  *    documentation and/or other materials provided with the distribution.
379  *
380  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
381  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
382  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
383  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
384  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
385  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
386  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
387  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
388  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
389  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
390  * THE POSSIBILITY OF SUCH DAMAGE.
391  */
392
393 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
394 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
395
396 #include "config.h"
397 #include "InspectorFrontendDispatchers.h"
398
399 #if ENABLE(INSPECTOR)
400
401 #include <wtf/text/CString.h>
402
403 namespace Inspector {
404
405 } // namespace Inspector
406
407 #endif // ENABLE(INSPECTOR)
408
409 ### End File: InspectorFrontendDispatchers.cpp
410
411 ### Begin File: InspectorProtocolObjects.h
412 /*
413  * Copyright (C) 2013 Google Inc. All rights reserved.
414  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
415  * Copyright (C) 2014 University of Washington. All rights reserved.
416  *
417  * Redistribution and use in source and binary forms, with or without
418  * modification, are permitted provided that the following conditions
419  * are met:
420  * 1. Redistributions of source code must retain the above copyright
421  *    notice, this list of conditions and the following disclaimer.
422  * 2. Redistributions in binary form must reproduce the above copyright
423  *    notice, this list of conditions and the following disclaimer in the
424  *    documentation and/or other materials provided with the distribution.
425  *
426  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
427  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
428  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
429  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
430  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
431  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
432  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
433  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
434  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
435  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
436  * THE POSSIBILITY OF SUCH DAMAGE.
437  */
438
439 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
440 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
441
442 #ifndef InspectorProtocolObjects_h
443 #define InspectorProtocolObjects_h
444
445 #if ENABLE(INSPECTOR)
446
447 #include <inspector/InspectorProtocolTypes.h>
448 #include <wtf/Assertions.h>
449 #include <wtf/PassRefPtr.h>
450
451 namespace Inspector {
452
453
454
455 namespace Protocol {
456
457 // Forward declarations.
458 namespace Database {
459 class Error;
460 enum class PrimaryColors;
461 } // Database
462 // End of forward declarations.
463
464
465 // Typedefs.
466 namespace Database {
467 /* Unique identifier of Database object. */
468 typedef int DatabaseId;
469 } // Database
470 // End of typedefs.
471
472 String getEnumConstantValue(int code);
473
474 template<typename T> String getEnumConstantValue(T enumValue)
475 {
476     return getEnumConstantValue(static_cast<int>(enumValue));
477 }
478
479 namespace Database {
480 /*  */
481 enum class PrimaryColors {
482     Red = 0,
483     Green = 1,
484     Blue = 2,
485 }; // enum class PrimaryColors
486 /* Database error. */
487 class Error : public Inspector::InspectorObjectBase {
488 public:
489     enum {
490         NoFieldsSet = 0,
491         MessageSet = 1 << 0,
492         CodeSet = 1 << 1,
493         AllFieldsSet = (MessageSet | CodeSet)
494     };
495
496     template<int STATE>
497     class Builder {
498     private:
499         RefPtr<Inspector::InspectorObject> m_result;
500
501         template<int STEP> Builder<STATE | STEP>& castState()
502         {
503             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
504         }
505
506         Builder(PassRefPtr</*Error*/Inspector::InspectorObject> ptr)
507         {
508             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
509             m_result = ptr;
510         }
511         friend class Error;
512     public:
513
514         Builder<STATE | MessageSet>& setMessage(const String& value)
515         {
516             COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set);
517             m_result->setString(ASCIILiteral("message"), value);
518             return castState<MessageSet>();
519         }
520
521         Builder<STATE | CodeSet>& setCode(int value)
522         {
523             COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set);
524             m_result->setInteger(ASCIILiteral("code"), value);
525             return castState<CodeSet>();
526         }
527
528         operator RefPtr<Error>& ()
529         {
530             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
531             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
532             return *reinterpret_cast<RefPtr<Error>*>(&m_result);
533         }
534
535         PassRefPtr<Error> release()
536         {
537             return RefPtr<Error>(*this).release();
538         }
539     };
540
541     /*
542      * Synthetic constructor:
543      * RefPtr<Error> result = Error::create()
544      *     .setMessage(...)
545      *     .setCode(...);
546      */
547     static Builder<NoFieldsSet> create()
548     {
549         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
550     }
551     typedef Inspector::Protocol::StructItemTraits ItemTraits;
552 };
553
554 } // Database
555
556
557
558 } // namespace Protocol
559
560 } // namespace Inspector
561
562 #endif // ENABLE(INSPECTOR)
563
564 #endif // !defined(InspectorProtocolObjects_h)
565 ### End File: InspectorProtocolObjects.h
566
567 ### Begin File: InspectorProtocolObjects.cpp
568 /*
569  * Copyright (C) 2013 Google Inc. All rights reserved.
570  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
571  * Copyright (C) 2014 University of Washington. All rights reserved.
572  *
573  * Redistribution and use in source and binary forms, with or without
574  * modification, are permitted provided that the following conditions
575  * are met:
576  * 1. Redistributions of source code must retain the above copyright
577  *    notice, this list of conditions and the following disclaimer.
578  * 2. Redistributions in binary form must reproduce the above copyright
579  *    notice, this list of conditions and the following disclaimer in the
580  *    documentation and/or other materials provided with the distribution.
581  *
582  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
583  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
584  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
585  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
586  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
587  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
588  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
589  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
590  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
591  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
592  * THE POSSIBILITY OF SUCH DAMAGE.
593  */
594
595 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
596 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
597
598 #include "config.h"
599 #include "InspectorProtocolObjects.h"
600
601 #if ENABLE(INSPECTOR)
602
603 #include <wtf/text/CString.h>
604
605 namespace Inspector {
606
607 namespace Protocol {
608
609 static const char* const enum_constant_values[] = {
610     "red",
611     "green",
612     "blue",
613     "cyan",
614     "magenta",
615     "yellow",
616     "black",
617 };
618
619 String getEnumConstantValue(int code) {
620     return enum_constant_values[code];
621 }
622
623
624
625 } // namespace Protocol
626
627 } // namespace Inspector
628
629 #endif // ENABLE(INSPECTOR)
630
631 ### End File: InspectorProtocolObjects.cpp