707b5488270456c7d0233f4790d371f12d845e9d
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / expected / commands-with-optional-call-return-parameters.json-result
1 ### Begin File: InspectorTestBackendCommands.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 ### End File: InspectorTestBackendCommands.js
37
38 ### Begin File: InspectorTestBackendDispatchers.h
39 /*
40  * Copyright (C) 2013 Google Inc. All rights reserved.
41  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
42  * Copyright (C) 2014 University of Washington. All rights reserved.
43  *
44  * Redistribution and use in source and binary forms, with or without
45  * modification, are permitted provided that the following conditions
46  * are met:
47  * 1. Redistributions of source code must retain the above copyright
48  *    notice, this list of conditions and the following disclaimer.
49  * 2. Redistributions in binary form must reproduce the above copyright
50  *    notice, this list of conditions and the following disclaimer in the
51  *    documentation and/or other materials provided with the distribution.
52  *
53  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
54  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
55  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
56  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
57  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
58  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
59  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
60  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
61  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
62  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
63  * THE POSSIBILITY OF SUCH DAMAGE.
64  */
65
66 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
67 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
68
69 #ifndef InspectorTestBackendDispatchers_h
70 #define InspectorTestBackendDispatchers_h
71
72 #if ENABLE(INSPECTOR)
73
74 #include "InspectorTestProtocolTypes.h"
75 #include <inspector/InspectorBackendDispatcher.h>
76 #include <wtf/PassRefPtr.h>
77 #include <wtf/text/WTFString.h>
78
79 namespace Inspector {
80
81 typedef String ErrorString;
82
83 class InspectorDatabaseBackendDispatcherHandler {
84 public:
85     // Named after parameter 'screenColor' while generating command/event executeAllOptionalParameters.
86     enum class ScreenColor {
87         Red = 0,
88         Green = 1,
89         Blue = 2,
90     }; // enum class ScreenColor
91     // Named after parameter 'printColor' while generating command/event executeAllOptionalParameters.
92     enum class PrintColor {
93         Cyan = 3,
94         Magenta = 4,
95         Yellow = 5,
96         Black = 6,
97     }; // enum class PrintColor
98     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;
99     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;
100 protected:
101     virtual ~InspectorDatabaseBackendDispatcherHandler();
102 };
103
104 class InspectorDatabaseBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
105 public:
106     static PassRefPtr<InspectorDatabaseBackendDispatcher> create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
107     virtual void dispatch(long callId, const String& method, PassRefPtr<Inspector::InspectorObject> message) override;
108 private:
109     void executeAllOptionalParameters(long callId, const Inspector::InspectorObject& message);
110     void executeNoOptionalParameters(long callId, const Inspector::InspectorObject& message);
111 private:
112     InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
113     InspectorDatabaseBackendDispatcherHandler* m_agent;
114 };
115
116 } // namespace Inspector
117
118 #endif // ENABLE(INSPECTOR)
119
120 #endif // !defined(InspectorTestBackendDispatchers_h)
121 ### End File: InspectorTestBackendDispatchers.h
122
123 ### Begin File: InspectorTestBackendDispatchers.cpp
124 /*
125  * Copyright (C) 2013 Google Inc. All rights reserved.
126  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
127  * Copyright (C) 2014 University of Washington. All rights reserved.
128  *
129  * Redistribution and use in source and binary forms, with or without
130  * modification, are permitted provided that the following conditions
131  * are met:
132  * 1. Redistributions of source code must retain the above copyright
133  *    notice, this list of conditions and the following disclaimer.
134  * 2. Redistributions in binary form must reproduce the above copyright
135  *    notice, this list of conditions and the following disclaimer in the
136  *    documentation and/or other materials provided with the distribution.
137  *
138  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
139  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
140  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
141  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
142  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
143  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
144  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
145  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
146  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
147  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
148  * THE POSSIBILITY OF SUCH DAMAGE.
149  */
150
151 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
152 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
153
154 #include "config.h"
155 #include "InspectorTestBackendDispatchers.h"
156
157 #if ENABLE(INSPECTOR)
158
159 #include <inspector/InspectorFrontendChannel.h>
160 #include <inspector/InspectorValues.h>
161 #include <wtf/text/CString.h>
162
163 namespace Inspector {
164
165 InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
166
167 PassRefPtr<InspectorDatabaseBackendDispatcher> InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
168 {
169     return adoptRef(new InspectorDatabaseBackendDispatcher(backendDispatcher, agent));
170 }
171
172 InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
173     : InspectorSupplementalBackendDispatcher(backendDispatcher)
174     , m_agent(agent)
175 {
176     m_backendDispatcher->registerDispatcherForDomain(ASCIILiteral("Database"), this);
177 }
178
179 void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String& method, PassRefPtr<InspectorObject> message)
180 {
181     Ref<InspectorDatabaseBackendDispatcher> protect(*this);
182
183     if (method == "executeAllOptionalParameters")
184         executeAllOptionalParameters(callId, *message.get());
185     else if (method == "executeNoOptionalParameters")
186         executeNoOptionalParameters(callId, *message.get());
187     else
188         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', "Database", '.', method, "' was not found"));
189 }
190
191 void InspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const InspectorObject& message)
192 {
193     RefPtr<InspectorArray> protocolErrors = InspectorArray::create();
194     RefPtr<InspectorObject> paramsContainer = message.getObject(ASCIILiteral("params"));
195     InspectorObject* paramsContainerPtr = paramsContainer.get();
196     InspectorArray* protocolErrorsPtr = protocolErrors.get();
197     bool columnNames_valueFound = false;
198     RefPtr<Inspector::InspectorArray> in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral("columnNames"), &columnNames_valueFound, protocolErrorsPtr);
199     bool notes_valueFound = false;
200     String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("notes"), &notes_valueFound, protocolErrorsPtr);
201     bool timestamp_valueFound = false;
202     Inspector::Protocol::OptOutput<double> in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral("timestamp"), &timestamp_valueFound, protocolErrorsPtr);
203     bool values_valueFound = false;
204     RefPtr<Inspector::InspectorObject> in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("values"), &values_valueFound, protocolErrorsPtr);
205     bool payload_valueFound = false;
206     RefPtr<Inspector::InspectorValue> in_payload = InspectorBackendDispatcher::getAny(paramsContainerPtr, ASCIILiteral("payload"), &payload_valueFound, protocolErrorsPtr);
207     bool databaseId_valueFound = false;
208     int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral("databaseId"), &databaseId_valueFound, protocolErrorsPtr);
209     bool sqlError_valueFound = false;
210     RefPtr<Inspector::InspectorObject> in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("sqlError"), &sqlError_valueFound, protocolErrorsPtr);
211     bool screenColor_valueFound = false;
212     String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("screenColor"), &screenColor_valueFound, protocolErrorsPtr);
213     bool printColor_valueFound = false;
214     String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("printColor"), &printColor_valueFound, protocolErrorsPtr);
215     if (protocolErrors->length()) {
216         String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeAllOptionalParameters");
217         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
218         return;
219     }
220
221     ErrorString error;
222     RefPtr<InspectorObject> result = InspectorObject::create();
223     RefPtr<Inspector::Protocol::Array<String>> out_columnNames;
224     Inspector::Protocol::OptOutput<String> out_notes;
225     Inspector::Protocol::OptOutput<double> out_timestamp;
226     Inspector::Protocol::OptOutput<Inspector::InspectorObject> out_values;
227     Inspector::Protocol::OptOutput<Inspector::InspectorValue> out_payload;
228     Inspector::Protocol::OptOutput<Inspector::Protocol::Database::DatabaseId> out_databaseId;
229     RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
230     Inspector::Protocol::Database::PrimaryColors out_screenColor;
231     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
232     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);
233
234     if (!error.length()) {
235         if (out_columnNames)
236             result->setArray(ASCIILiteral("columnNames"), out_columnNames);
237         if (out_notes.isAssigned())
238             result->setString(ASCIILiteral("notes"), out_notes.getValue());
239         if (out_timestamp.isAssigned())
240             result->setDouble(ASCIILiteral("timestamp"), out_timestamp.getValue());
241         if (out_values.isAssigned())
242             result->setObject(ASCIILiteral("values"), out_values.getValue());
243         if (out_payload.isAssigned())
244             result->setValue(ASCIILiteral("payload"), out_payload.getValue());
245         if (out_databaseId.isAssigned())
246             result->setInteger(ASCIILiteral("databaseId"), out_databaseId.getValue());
247         if (out_sqlError)
248             result->setObject(ASCIILiteral("sqlError"), out_sqlError);
249         if (out_screenColor.isAssigned())
250             result->setString(ASCIILiteral("screenColor"), out_screenColor.getValue());
251         if (out_printColor.isAssigned())
252             result->setString(ASCIILiteral("printColor"), out_printColor.getValue());
253     }
254     m_backendDispatcher->sendResponse(callId, result.release(), error);
255 }
256
257 void InspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const InspectorObject& message)
258 {
259     RefPtr<InspectorArray> protocolErrors = InspectorArray::create();
260     RefPtr<InspectorObject> paramsContainer = message.getObject(ASCIILiteral("params"));
261     InspectorObject* paramsContainerPtr = paramsContainer.get();
262     InspectorArray* protocolErrorsPtr = protocolErrors.get();
263     RefPtr<Inspector::InspectorArray> in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral("columnNames"), nullptr, protocolErrorsPtr);
264     String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("notes"), nullptr, protocolErrorsPtr);
265     double in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral("timestamp"), nullptr, protocolErrorsPtr);
266     RefPtr<Inspector::InspectorObject> in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("values"), nullptr, protocolErrorsPtr);
267     RefPtr<Inspector::InspectorValue> in_payload = InspectorBackendDispatcher::getAny(paramsContainerPtr, ASCIILiteral("payload"), nullptr, protocolErrorsPtr);
268     int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral("databaseId"), nullptr, protocolErrorsPtr);
269     RefPtr<Inspector::InspectorObject> in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral("sqlError"), nullptr, protocolErrorsPtr);
270     String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("screenColor"), nullptr, protocolErrorsPtr);
271     String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral("printColor"), nullptr, protocolErrorsPtr);
272     if (protocolErrors->length()) {
273         String errorMessage = String::format("Some arguments of method '%s' can't be processed", "Database.executeNoOptionalParameters");
274         m_backendDispatcher->reportProtocolError(&callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
275         return;
276     }
277
278     ErrorString error;
279     RefPtr<InspectorObject> result = InspectorObject::create();
280     RefPtr<Inspector::Protocol::Array<String>> out_columnNames;
281     String out_notes;
282     double out_timestamp;
283     Inspector::InspectorObject out_values;
284     Inspector::InspectorValue out_payload;
285     Inspector::Protocol::Database::DatabaseId out_databaseId;
286     RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
287     Inspector::Protocol::Database::PrimaryColors out_screenColor;
288     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
289     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);
290
291     if (!error.length()) {
292         result->setArray(ASCIILiteral("columnNames"), out_columnNames);
293         result->setString(ASCIILiteral("notes"), out_notes);
294         result->setDouble(ASCIILiteral("timestamp"), out_timestamp);
295         result->setObject(ASCIILiteral("values"), out_values);
296         result->setValue(ASCIILiteral("payload"), out_payload);
297         result->setInteger(ASCIILiteral("databaseId"), out_databaseId);
298         result->setObject(ASCIILiteral("sqlError"), out_sqlError);
299         result->setString(ASCIILiteral("screenColor"), Inspector::Protocol::getTestEnumConstantValue(out_screenColor));
300         result->setString(ASCIILiteral("printColor"), Inspector::Protocol::getTestEnumConstantValue(out_printColor));
301     }
302     m_backendDispatcher->sendResponse(callId, result.release(), error);
303 }
304
305 } // namespace Inspector
306
307 #endif // ENABLE(INSPECTOR)
308
309 ### End File: InspectorTestBackendDispatchers.cpp
310
311 ### Begin File: InspectorTestFrontendDispatchers.h
312 /*
313  * Copyright (C) 2013 Google Inc. All rights reserved.
314  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
315  * Copyright (C) 2014 University of Washington. All rights reserved.
316  *
317  * Redistribution and use in source and binary forms, with or without
318  * modification, are permitted provided that the following conditions
319  * are met:
320  * 1. Redistributions of source code must retain the above copyright
321  *    notice, this list of conditions and the following disclaimer.
322  * 2. Redistributions in binary form must reproduce the above copyright
323  *    notice, this list of conditions and the following disclaimer in the
324  *    documentation and/or other materials provided with the distribution.
325  *
326  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
327  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
328  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
329  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
330  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
331  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
332  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
333  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
334  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
335  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
336  * THE POSSIBILITY OF SUCH DAMAGE.
337  */
338
339 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
340 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
341
342 #ifndef InspectorTestFrontendDispatchers_h
343 #define InspectorTestFrontendDispatchers_h
344
345 #if ENABLE(INSPECTOR)
346
347 #include "InspectorTestProtocolTypes.h"
348 #include <inspector/InspectorFrontendChannel.h>
349 #include <inspector/InspectorValues.h>
350 #include <wtf/PassRefPtr.h>
351 #include <wtf/text/WTFString.h>
352
353 namespace Inspector {
354
355
356
357 } // namespace Inspector
358
359 #endif // ENABLE(INSPECTOR)
360
361 #endif // !defined(InspectorTestFrontendDispatchers_h)
362 ### End File: InspectorTestFrontendDispatchers.h
363
364 ### Begin File: InspectorTestFrontendDispatchers.cpp
365 /*
366  * Copyright (C) 2013 Google Inc. All rights reserved.
367  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
368  * Copyright (C) 2014 University of Washington. All rights reserved.
369  *
370  * Redistribution and use in source and binary forms, with or without
371  * modification, are permitted provided that the following conditions
372  * are met:
373  * 1. Redistributions of source code must retain the above copyright
374  *    notice, this list of conditions and the following disclaimer.
375  * 2. Redistributions in binary form must reproduce the above copyright
376  *    notice, this list of conditions and the following disclaimer in the
377  *    documentation and/or other materials provided with the distribution.
378  *
379  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
380  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
381  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
382  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
383  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
384  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
385  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
386  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
387  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
388  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
389  * THE POSSIBILITY OF SUCH DAMAGE.
390  */
391
392 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
393 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
394
395 #include "config.h"
396 #include "InspectorTestFrontendDispatchers.h"
397
398 #if ENABLE(INSPECTOR)
399
400 #include <wtf/text/CString.h>
401
402 namespace Inspector {
403
404 } // namespace Inspector
405
406 #endif // ENABLE(INSPECTOR)
407
408 ### End File: InspectorTestFrontendDispatchers.cpp
409
410 ### Begin File: InspectorTestProtocolTypes.h
411 /*
412  * Copyright (C) 2013 Google Inc. All rights reserved.
413  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
414  * Copyright (C) 2014 University of Washington. All rights reserved.
415  *
416  * Redistribution and use in source and binary forms, with or without
417  * modification, are permitted provided that the following conditions
418  * are met:
419  * 1. Redistributions of source code must retain the above copyright
420  *    notice, this list of conditions and the following disclaimer.
421  * 2. Redistributions in binary form must reproduce the above copyright
422  *    notice, this list of conditions and the following disclaimer in the
423  *    documentation and/or other materials provided with the distribution.
424  *
425  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
426  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
427  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
428  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
429  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
430  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
431  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
432  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
433  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
434  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
435  * THE POSSIBILITY OF SUCH DAMAGE.
436  */
437
438 // DO NOT EDIT THIS FILE. It is automatically generated from commands-with-optional-call-return-parameters.json
439 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
440
441 #ifndef InspectorTestProtocolTypes_h
442 #define InspectorTestProtocolTypes_h
443
444 #if ENABLE(INSPECTOR)
445
446 #include <inspector/InspectorJSProtocolTypes.h>
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 getTestEnumConstantValue(int code);
473
474 template<typename T> String getTestEnumConstantValue(T enumValue)
475 {
476     return getTestEnumConstantValue(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(InspectorTestProtocolTypes_h)
565 ### End File: InspectorTestProtocolTypes.h
566
567 ### Begin File: InspectorTestProtocolTypes.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 "InspectorTestProtocolTypes.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 getTestEnumConstantValue(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: InspectorTestProtocolTypes.cpp