Web Inspector: code generator should introduce typedefs for protocol types that are...
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / expected / type-declaration-object-type.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 type-declaration-object-type.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(RefPtr<InspectorBackendDispatcher>&& dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
45     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
46 private:
47     RefPtr<InspectorBackendDispatcher> m_backendDispatcher;
48 };
49
50
51
52
53 } // namespace Inspector
54
55 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
56
57 #endif // !defined(InspectorAlternateBackendDispatchers_h)
58 ### End File: InspectorAlternateBackendDispatchers.h
59
60 ### Begin File: InspectorBackendCommands.js
61 /*
62  * Copyright (C) 2013 Google Inc. All rights reserved.
63  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
64  * Copyright (C) 2014 University of Washington. All rights reserved.
65  *
66  * Redistribution and use in source and binary forms, with or without
67  * modification, are permitted provided that the following conditions
68  * are met:
69  * 1. Redistributions of source code must retain the above copyright
70  *    notice, this list of conditions and the following disclaimer.
71  * 2. Redistributions in binary form must reproduce the above copyright
72  *    notice, this list of conditions and the following disclaimer in the
73  *    documentation and/or other materials provided with the distribution.
74  *
75  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
76  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
77  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
78  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
79  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
80  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
81  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
82  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
83  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
84  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
85  * THE POSSIBILITY OF SUCH DAMAGE.
86  */
87
88 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
89 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
90 ### End File: InspectorBackendCommands.js
91
92 ### Begin File: InspectorBackendDispatchers.h
93 /*
94  * Copyright (C) 2013 Google Inc. All rights reserved.
95  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
96  * Copyright (C) 2014 University of Washington. All rights reserved.
97  *
98  * Redistribution and use in source and binary forms, with or without
99  * modification, are permitted provided that the following conditions
100  * are met:
101  * 1. Redistributions of source code must retain the above copyright
102  *    notice, this list of conditions and the following disclaimer.
103  * 2. Redistributions in binary form must reproduce the above copyright
104  *    notice, this list of conditions and the following disclaimer in the
105  *    documentation and/or other materials provided with the distribution.
106  *
107  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
108  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
109  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
110  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
111  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
112  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
113  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
114  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
115  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
116  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
117  * THE POSSIBILITY OF SUCH DAMAGE.
118  */
119
120 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
121 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
122
123 #ifndef InspectorBackendDispatchers_h
124 #define InspectorBackendDispatchers_h
125
126 #if ENABLE(INSPECTOR)
127
128 #include "InspectorProtocolObjects.h"
129 #include <inspector/InspectorBackendDispatcher.h>
130 #include <wtf/text/WTFString.h>
131
132 namespace Inspector {
133
134 typedef String ErrorString;
135
136
137
138 } // namespace Inspector
139
140 #endif // ENABLE(INSPECTOR)
141
142 #endif // !defined(InspectorBackendDispatchers_h)
143 ### End File: InspectorBackendDispatchers.h
144
145 ### Begin File: InspectorBackendDispatchers.cpp
146 /*
147  * Copyright (C) 2013 Google Inc. All rights reserved.
148  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
149  * Copyright (C) 2014 University of Washington. All rights reserved.
150  *
151  * Redistribution and use in source and binary forms, with or without
152  * modification, are permitted provided that the following conditions
153  * are met:
154  * 1. Redistributions of source code must retain the above copyright
155  *    notice, this list of conditions and the following disclaimer.
156  * 2. Redistributions in binary form must reproduce the above copyright
157  *    notice, this list of conditions and the following disclaimer in the
158  *    documentation and/or other materials provided with the distribution.
159  *
160  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
161  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
162  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
163  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
164  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
165  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
166  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
167  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
168  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
169  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
170  * THE POSSIBILITY OF SUCH DAMAGE.
171  */
172
173 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
174 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
175
176 #include "config.h"
177 #include "InspectorBackendDispatchers.h"
178
179 #if ENABLE(INSPECTOR)
180
181 #include <inspector/InspectorFrontendChannel.h>
182 #include <inspector/InspectorValues.h>
183 #include <wtf/text/CString.h>
184
185 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
186 #include "InspectorAlternateBackendDispatchers.h"
187 #endif
188
189 namespace Inspector {
190
191
192
193 } // namespace Inspector
194
195 #endif // ENABLE(INSPECTOR)
196
197 ### End File: InspectorBackendDispatchers.cpp
198
199 ### Begin File: InspectorFrontendDispatchers.h
200 /*
201  * Copyright (C) 2013 Google Inc. All rights reserved.
202  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
203  * Copyright (C) 2014 University of Washington. All rights reserved.
204  *
205  * Redistribution and use in source and binary forms, with or without
206  * modification, are permitted provided that the following conditions
207  * are met:
208  * 1. Redistributions of source code must retain the above copyright
209  *    notice, this list of conditions and the following disclaimer.
210  * 2. Redistributions in binary form must reproduce the above copyright
211  *    notice, this list of conditions and the following disclaimer in the
212  *    documentation and/or other materials provided with the distribution.
213  *
214  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
215  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
216  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
217  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
218  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
219  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
220  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
221  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
222  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
223  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
224  * THE POSSIBILITY OF SUCH DAMAGE.
225  */
226
227 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
228 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
229
230 #ifndef InspectorFrontendDispatchers_h
231 #define InspectorFrontendDispatchers_h
232
233 #if ENABLE(INSPECTOR)
234
235 #include "InspectorProtocolObjects.h"
236 #include <inspector/InspectorFrontendChannel.h>
237 #include <inspector/InspectorValues.h>
238 #include <wtf/text/WTFString.h>
239
240 namespace Inspector {
241
242
243
244 } // namespace Inspector
245
246 #endif // ENABLE(INSPECTOR)
247
248 #endif // !defined(InspectorFrontendDispatchers_h)
249 ### End File: InspectorFrontendDispatchers.h
250
251 ### Begin File: InspectorFrontendDispatchers.cpp
252 /*
253  * Copyright (C) 2013 Google Inc. All rights reserved.
254  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
255  * Copyright (C) 2014 University of Washington. All rights reserved.
256  *
257  * Redistribution and use in source and binary forms, with or without
258  * modification, are permitted provided that the following conditions
259  * are met:
260  * 1. Redistributions of source code must retain the above copyright
261  *    notice, this list of conditions and the following disclaimer.
262  * 2. Redistributions in binary form must reproduce the above copyright
263  *    notice, this list of conditions and the following disclaimer in the
264  *    documentation and/or other materials provided with the distribution.
265  *
266  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
267  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
268  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
269  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
270  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
271  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
272  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
273  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
274  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
275  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
276  * THE POSSIBILITY OF SUCH DAMAGE.
277  */
278
279 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
280 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
281
282 #include "config.h"
283 #include "InspectorFrontendDispatchers.h"
284
285 #if ENABLE(INSPECTOR)
286
287 #include <wtf/text/CString.h>
288
289 namespace Inspector {
290
291 } // namespace Inspector
292
293 #endif // ENABLE(INSPECTOR)
294
295 ### End File: InspectorFrontendDispatchers.cpp
296
297 ### Begin File: InspectorProtocolObjects.h
298 /*
299  * Copyright (C) 2013 Google Inc. All rights reserved.
300  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
301  * Copyright (C) 2014 University of Washington. All rights reserved.
302  *
303  * Redistribution and use in source and binary forms, with or without
304  * modification, are permitted provided that the following conditions
305  * are met:
306  * 1. Redistributions of source code must retain the above copyright
307  *    notice, this list of conditions and the following disclaimer.
308  * 2. Redistributions in binary form must reproduce the above copyright
309  *    notice, this list of conditions and the following disclaimer in the
310  *    documentation and/or other materials provided with the distribution.
311  *
312  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
313  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
314  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
315  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
316  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
317  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
318  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
319  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
320  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
321  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
322  * THE POSSIBILITY OF SUCH DAMAGE.
323  */
324
325 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
326 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
327
328 #ifndef InspectorProtocolObjects_h
329 #define InspectorProtocolObjects_h
330
331 #if ENABLE(INSPECTOR)
332
333 #include <inspector/InspectorProtocolTypes.h>
334 #include <wtf/Assertions.h>
335
336 namespace Inspector {
337
338
339
340 namespace Protocol {
341
342 // Forward declarations.
343 namespace Database {
344 class DummyObject;
345 class Error;
346 class ObjectWithPropertyNameConflicts;
347 class OptionalParameterBundle;
348 class ParameterBundle;
349 } // Database
350
351 namespace Test {
352 class ParameterBundle;
353 } // Test
354 // End of forward declarations.
355
356
357 // Typedefs.
358 namespace Database {
359 typedef Inspector::Protocol::Array<Inspector::Protocol::Database::Error> ErrorList;
360 } // Database
361 // End of typedefs.
362
363 String getEnumConstantValue(int code);
364
365 template<typename T> String getEnumConstantValue(T enumValue)
366 {
367     return getEnumConstantValue(static_cast<int>(enumValue));
368 }
369
370 namespace Database {
371 /* Database error. */
372 class Error : public Inspector::InspectorObjectBase {
373 public:
374     enum {
375         NoFieldsSet = 0,
376         MessageSet = 1 << 0,
377         CodeSet = 1 << 1,
378         AllFieldsSet = (MessageSet | CodeSet)
379     };
380
381     template<int STATE>
382     class Builder {
383     private:
384         RefPtr<Inspector::InspectorObject> m_result;
385
386         template<int STEP> Builder<STATE | STEP>& castState()
387         {
388             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
389         }
390
391         Builder(Ref</*Error*/Inspector::InspectorObject>&& object)
392             : m_result(WTF::move(object))
393         {
394             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
395         }
396         friend class Error;
397     public:
398
399         Builder<STATE | MessageSet>& setMessage(const String& value)
400         {
401             COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set);
402             m_result->setString(ASCIILiteral("message"), value);
403             return castState<MessageSet>();
404         }
405
406         Builder<STATE | CodeSet>& setCode(int value)
407         {
408             COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set);
409             m_result->setInteger(ASCIILiteral("code"), value);
410             return castState<CodeSet>();
411         }
412
413         Ref<Error> release()
414         {
415             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
416             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
417
418             Ref<Inspector::InspectorObject> result = m_result.releaseNonNull();
419             return WTF::move(*reinterpret_cast<Ref<Error>*>(&result));
420         }
421     };
422
423     /*
424      * Synthetic constructor:
425      * Ref<Error> result = Error::create()
426      *     .setMessage(...)
427      *     .setCode(...)
428      *     .release();
429      */
430     static Builder<NoFieldsSet> create()
431     {
432         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
433     }
434 };
435
436 class OptionalParameterBundle : public Inspector::InspectorObjectBase {
437 public:
438     enum {
439         NoFieldsSet = 0,
440         AllFieldsSet = 0
441     };
442
443     template<int STATE>
444     class Builder {
445     private:
446         RefPtr<Inspector::InspectorObject> m_result;
447
448         template<int STEP> Builder<STATE | STEP>& castState()
449         {
450             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
451         }
452
453         Builder(Ref</*OptionalParameterBundle*/Inspector::InspectorObject>&& object)
454             : m_result(WTF::move(object))
455         {
456             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
457         }
458         friend class OptionalParameterBundle;
459     public:
460
461         Ref<OptionalParameterBundle> release()
462         {
463             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
464             COMPILE_ASSERT(sizeof(OptionalParameterBundle) == sizeof(Inspector::InspectorObject), cannot_cast);
465
466             Ref<Inspector::InspectorObject> result = m_result.releaseNonNull();
467             return WTF::move(*reinterpret_cast<Ref<OptionalParameterBundle>*>(&result));
468         }
469     };
470
471     /*
472      * Synthetic constructor:
473      * Ref<OptionalParameterBundle> result = OptionalParameterBundle::create()
474      *     .release();
475      */
476     static Builder<NoFieldsSet> create()
477     {
478         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
479     }
480
481     void setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value)
482     {
483         InspectorObjectBase::setArray(ASCIILiteral("columnNames"), WTF::move(value));
484     }
485
486     void setNotes(const String& value)
487     {
488         InspectorObjectBase::setString(ASCIILiteral("notes"), value);
489     }
490
491     void setTimestamp(double value)
492     {
493         InspectorObjectBase::setDouble(ASCIILiteral("timestamp"), value);
494     }
495
496     void setValues(RefPtr<Inspector::InspectorObject> value)
497     {
498         InspectorObjectBase::setObject(ASCIILiteral("values"), WTF::move(value));
499     }
500
501     void setPayload(RefPtr<Inspector::InspectorValue> value)
502     {
503         InspectorObjectBase::setValue(ASCIILiteral("payload"), WTF::move(value));
504     }
505
506     void setError(RefPtr<Inspector::Protocol::Database::Error> value)
507     {
508         InspectorObjectBase::setObject(ASCIILiteral("error"), WTF::move(value));
509     }
510
511     void setErrorList(RefPtr<Inspector::Protocol::Database::ErrorList> value)
512     {
513         InspectorObjectBase::setArray(ASCIILiteral("errorList"), WTF::move(value));
514     }
515 };
516
517 class ParameterBundle : public Inspector::InspectorObjectBase {
518 public:
519     enum {
520         NoFieldsSet = 0,
521         ColumnNamesSet = 1 << 0,
522         NotesSet = 1 << 1,
523         TimestampSet = 1 << 2,
524         ValuesSet = 1 << 3,
525         PayloadSet = 1 << 4,
526         ErrorSet = 1 << 5,
527         ErrorListSet = 1 << 6,
528         AllFieldsSet = (ColumnNamesSet | NotesSet | TimestampSet | ValuesSet | PayloadSet | ErrorSet | ErrorListSet)
529     };
530
531     template<int STATE>
532     class Builder {
533     private:
534         RefPtr<Inspector::InspectorObject> m_result;
535
536         template<int STEP> Builder<STATE | STEP>& castState()
537         {
538             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
539         }
540
541         Builder(Ref</*ParameterBundle*/Inspector::InspectorObject>&& object)
542             : m_result(WTF::move(object))
543         {
544             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
545         }
546         friend class ParameterBundle;
547     public:
548
549         Builder<STATE | ColumnNamesSet>& setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value)
550         {
551             COMPILE_ASSERT(!(STATE & ColumnNamesSet), property_columnNames_already_set);
552             m_result->setArray(ASCIILiteral("columnNames"), value);
553             return castState<ColumnNamesSet>();
554         }
555
556         Builder<STATE | NotesSet>& setNotes(const String& value)
557         {
558             COMPILE_ASSERT(!(STATE & NotesSet), property_notes_already_set);
559             m_result->setString(ASCIILiteral("notes"), value);
560             return castState<NotesSet>();
561         }
562
563         Builder<STATE | TimestampSet>& setTimestamp(double value)
564         {
565             COMPILE_ASSERT(!(STATE & TimestampSet), property_timestamp_already_set);
566             m_result->setDouble(ASCIILiteral("timestamp"), value);
567             return castState<TimestampSet>();
568         }
569
570         Builder<STATE | ValuesSet>& setValues(RefPtr<Inspector::InspectorObject> value)
571         {
572             COMPILE_ASSERT(!(STATE & ValuesSet), property_values_already_set);
573             m_result->setObject(ASCIILiteral("values"), value);
574             return castState<ValuesSet>();
575         }
576
577         Builder<STATE | PayloadSet>& setPayload(RefPtr<Inspector::InspectorValue> value)
578         {
579             COMPILE_ASSERT(!(STATE & PayloadSet), property_payload_already_set);
580             m_result->setValue(ASCIILiteral("payload"), value);
581             return castState<PayloadSet>();
582         }
583
584         Builder<STATE | ErrorSet>& setError(RefPtr<Inspector::Protocol::Database::Error> value)
585         {
586             COMPILE_ASSERT(!(STATE & ErrorSet), property_error_already_set);
587             m_result->setObject(ASCIILiteral("error"), value);
588             return castState<ErrorSet>();
589         }
590
591         Builder<STATE | ErrorListSet>& setErrorList(RefPtr<Inspector::Protocol::Database::ErrorList> value)
592         {
593             COMPILE_ASSERT(!(STATE & ErrorListSet), property_errorList_already_set);
594             m_result->setArray(ASCIILiteral("errorList"), value);
595             return castState<ErrorListSet>();
596         }
597
598         Ref<ParameterBundle> release()
599         {
600             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
601             COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(Inspector::InspectorObject), cannot_cast);
602
603             Ref<Inspector::InspectorObject> result = m_result.releaseNonNull();
604             return WTF::move(*reinterpret_cast<Ref<ParameterBundle>*>(&result));
605         }
606     };
607
608     /*
609      * Synthetic constructor:
610      * Ref<ParameterBundle> result = ParameterBundle::create()
611      *     .setColumnNames(...)
612      *     .setNotes(...)
613      *     .setTimestamp(...)
614      *     .setValues(...)
615      *     .setPayload(...)
616      *     .setError(...)
617      *     .setErrorList(...)
618      *     .release();
619      */
620     static Builder<NoFieldsSet> create()
621     {
622         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
623     }
624 };
625
626 /* Conflicted names may cause generated getters/setters to clash with built-in InspectorObject methods. */
627 class ObjectWithPropertyNameConflicts : public Inspector::InspectorObjectBase {
628 public:
629     enum {
630         NoFieldsSet = 0,
631         IntegerSet = 1 << 0,
632         ArraySet = 1 << 1,
633         StringSet = 1 << 2,
634         ValueSet = 1 << 3,
635         ObjectSet = 1 << 4,
636         AllFieldsSet = (IntegerSet | ArraySet | StringSet | ValueSet | ObjectSet)
637     };
638
639     template<int STATE>
640     class Builder {
641     private:
642         RefPtr<Inspector::InspectorObject> m_result;
643
644         template<int STEP> Builder<STATE | STEP>& castState()
645         {
646             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
647         }
648
649         Builder(Ref</*ObjectWithPropertyNameConflicts*/Inspector::InspectorObject>&& object)
650             : m_result(WTF::move(object))
651         {
652             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
653         }
654         friend class ObjectWithPropertyNameConflicts;
655     public:
656
657         Builder<STATE | IntegerSet>& setInteger(const String& value)
658         {
659             COMPILE_ASSERT(!(STATE & IntegerSet), property_integer_already_set);
660             m_result->setString(ASCIILiteral("integer"), value);
661             return castState<IntegerSet>();
662         }
663
664         Builder<STATE | ArraySet>& setArray(const String& value)
665         {
666             COMPILE_ASSERT(!(STATE & ArraySet), property_array_already_set);
667             m_result->setString(ASCIILiteral("array"), value);
668             return castState<ArraySet>();
669         }
670
671         Builder<STATE | StringSet>& setString(const String& value)
672         {
673             COMPILE_ASSERT(!(STATE & StringSet), property_string_already_set);
674             m_result->setString(ASCIILiteral("string"), value);
675             return castState<StringSet>();
676         }
677
678         Builder<STATE | ValueSet>& setValue(const String& value)
679         {
680             COMPILE_ASSERT(!(STATE & ValueSet), property_value_already_set);
681             m_result->setString(ASCIILiteral("value"), value);
682             return castState<ValueSet>();
683         }
684
685         Builder<STATE | ObjectSet>& setObject(const String& value)
686         {
687             COMPILE_ASSERT(!(STATE & ObjectSet), property_object_already_set);
688             m_result->setString(ASCIILiteral("object"), value);
689             return castState<ObjectSet>();
690         }
691
692         Ref<ObjectWithPropertyNameConflicts> release()
693         {
694             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
695             COMPILE_ASSERT(sizeof(ObjectWithPropertyNameConflicts) == sizeof(Inspector::InspectorObject), cannot_cast);
696
697             Ref<Inspector::InspectorObject> result = m_result.releaseNonNull();
698             return WTF::move(*reinterpret_cast<Ref<ObjectWithPropertyNameConflicts>*>(&result));
699         }
700     };
701
702     /*
703      * Synthetic constructor:
704      * Ref<ObjectWithPropertyNameConflicts> result = ObjectWithPropertyNameConflicts::create()
705      *     .setInteger(...)
706      *     .setArray(...)
707      *     .setString(...)
708      *     .setValue(...)
709      *     .setObject(...)
710      *     .release();
711      */
712     static Builder<NoFieldsSet> create()
713     {
714         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
715     }
716 };
717
718 } // Database
719
720 namespace Test {
721 class ParameterBundle : public Inspector::InspectorObjectBase {
722 public:
723     enum {
724         NoFieldsSet = 0,
725         ColumnNamesSet = 1 << 0,
726         NotesSet = 1 << 1,
727         TimestampSet = 1 << 2,
728         ValuesSet = 1 << 3,
729         PayloadSet = 1 << 4,
730         ErrorSet = 1 << 5,
731         AllFieldsSet = (ColumnNamesSet | NotesSet | TimestampSet | ValuesSet | PayloadSet | ErrorSet)
732     };
733
734     template<int STATE>
735     class Builder {
736     private:
737         RefPtr<Inspector::InspectorObject> m_result;
738
739         template<int STEP> Builder<STATE | STEP>& castState()
740         {
741             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
742         }
743
744         Builder(Ref</*ParameterBundle*/Inspector::InspectorObject>&& object)
745             : m_result(WTF::move(object))
746         {
747             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
748         }
749         friend class ParameterBundle;
750     public:
751
752         Builder<STATE | ColumnNamesSet>& setColumnNames(RefPtr<Inspector::Protocol::Array<String>> value)
753         {
754             COMPILE_ASSERT(!(STATE & ColumnNamesSet), property_columnNames_already_set);
755             m_result->setArray(ASCIILiteral("columnNames"), value);
756             return castState<ColumnNamesSet>();
757         }
758
759         Builder<STATE | NotesSet>& setNotes(const String& value)
760         {
761             COMPILE_ASSERT(!(STATE & NotesSet), property_notes_already_set);
762             m_result->setString(ASCIILiteral("notes"), value);
763             return castState<NotesSet>();
764         }
765
766         Builder<STATE | TimestampSet>& setTimestamp(double value)
767         {
768             COMPILE_ASSERT(!(STATE & TimestampSet), property_timestamp_already_set);
769             m_result->setDouble(ASCIILiteral("timestamp"), value);
770             return castState<TimestampSet>();
771         }
772
773         Builder<STATE | ValuesSet>& setValues(RefPtr<Inspector::InspectorObject> value)
774         {
775             COMPILE_ASSERT(!(STATE & ValuesSet), property_values_already_set);
776             m_result->setObject(ASCIILiteral("values"), value);
777             return castState<ValuesSet>();
778         }
779
780         Builder<STATE | PayloadSet>& setPayload(RefPtr<Inspector::InspectorValue> value)
781         {
782             COMPILE_ASSERT(!(STATE & PayloadSet), property_payload_already_set);
783             m_result->setValue(ASCIILiteral("payload"), value);
784             return castState<PayloadSet>();
785         }
786
787         Builder<STATE | ErrorSet>& setError(RefPtr<Inspector::Protocol::Database::Error> value)
788         {
789             COMPILE_ASSERT(!(STATE & ErrorSet), property_error_already_set);
790             m_result->setObject(ASCIILiteral("error"), value);
791             return castState<ErrorSet>();
792         }
793
794         Ref<ParameterBundle> release()
795         {
796             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
797             COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(Inspector::InspectorObject), cannot_cast);
798
799             Ref<Inspector::InspectorObject> result = m_result.releaseNonNull();
800             return WTF::move(*reinterpret_cast<Ref<ParameterBundle>*>(&result));
801         }
802     };
803
804     /*
805      * Synthetic constructor:
806      * Ref<ParameterBundle> result = ParameterBundle::create()
807      *     .setColumnNames(...)
808      *     .setNotes(...)
809      *     .setTimestamp(...)
810      *     .setValues(...)
811      *     .setPayload(...)
812      *     .setError(...)
813      *     .release();
814      */
815     static Builder<NoFieldsSet> create()
816     {
817         return Builder<NoFieldsSet>(Inspector::InspectorObject::create());
818     }
819 };
820
821 } // Test
822
823
824
825 } // namespace Protocol
826
827 } // namespace Inspector
828
829 #endif // ENABLE(INSPECTOR)
830
831 #endif // !defined(InspectorProtocolObjects_h)
832 ### End File: InspectorProtocolObjects.h
833
834 ### Begin File: InspectorProtocolObjects.cpp
835 /*
836  * Copyright (C) 2013 Google Inc. All rights reserved.
837  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
838  * Copyright (C) 2014 University of Washington. All rights reserved.
839  *
840  * Redistribution and use in source and binary forms, with or without
841  * modification, are permitted provided that the following conditions
842  * are met:
843  * 1. Redistributions of source code must retain the above copyright
844  *    notice, this list of conditions and the following disclaimer.
845  * 2. Redistributions in binary form must reproduce the above copyright
846  *    notice, this list of conditions and the following disclaimer in the
847  *    documentation and/or other materials provided with the distribution.
848  *
849  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
850  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
851  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
852  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
853  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
854  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
855  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
856  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
857  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
858  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
859  * THE POSSIBILITY OF SUCH DAMAGE.
860  */
861
862 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
863 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
864
865 #include "config.h"
866 #include "InspectorProtocolObjects.h"
867
868 #if ENABLE(INSPECTOR)
869
870 #include <wtf/text/CString.h>
871
872 namespace Inspector {
873
874 namespace Protocol {
875
876 static const char* const enum_constant_values[] = {
877 };
878
879 String getEnumConstantValue(int code) {
880     return enum_constant_values[code];
881 }
882
883
884
885 } // namespace Protocol
886
887 } // namespace Inspector
888
889 #endif // ENABLE(INSPECTOR)
890
891 ### End File: InspectorProtocolObjects.cpp
892
893 ### Begin File: RWIProtocolBackendDispatchers.h
894 /*
895  * Copyright (C) 2013 Google Inc. All rights reserved.
896  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
897  * Copyright (C) 2014 University of Washington. All rights reserved.
898  *
899  * Redistribution and use in source and binary forms, with or without
900  * modification, are permitted provided that the following conditions
901  * are met:
902  * 1. Redistributions of source code must retain the above copyright
903  *    notice, this list of conditions and the following disclaimer.
904  * 2. Redistributions in binary form must reproduce the above copyright
905  *    notice, this list of conditions and the following disclaimer in the
906  *    documentation and/or other materials provided with the distribution.
907  *
908  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
909  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
910  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
911  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
912  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
913  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
914  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
915  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
916  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
917  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
918  * THE POSSIBILITY OF SUCH DAMAGE.
919  */
920
921 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
922 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
923
924 #include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
925 #include <wtf/RetainPtr.h>
926
927
928
929 namespace Inspector {
930
931
932
933
934
935
936 } // namespace Inspector
937
938 ### End File: RWIProtocolBackendDispatchers.h
939
940 ### Begin File: RWIProtocolConfiguration.mm
941 /*
942  * Copyright (C) 2013 Google Inc. All rights reserved.
943  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
944  * Copyright (C) 2014 University of Washington. All rights reserved.
945  *
946  * Redistribution and use in source and binary forms, with or without
947  * modification, are permitted provided that the following conditions
948  * are met:
949  * 1. Redistributions of source code must retain the above copyright
950  *    notice, this list of conditions and the following disclaimer.
951  * 2. Redistributions in binary form must reproduce the above copyright
952  *    notice, this list of conditions and the following disclaimer in the
953  *    documentation and/or other materials provided with the distribution.
954  *
955  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
956  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
957  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
958  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
959  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
960  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
961  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
962  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
963  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
964  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
965  * THE POSSIBILITY OF SUCH DAMAGE.
966  */
967
968 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
969 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
970
971 #import "config.h"
972 #import "RWIProtocolConfiguration.h"
973
974 #import "RWIProtocolInternal.h"
975 #import "RWIProtocolBackendDispatchers.h"
976 #import <JavaScriptCore/AlternateDispatchableAgent.h>
977 #import <JavaScriptCore/AugmentableInspectorController.h>
978 #import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
979 #import <JavaScriptCore/InspectorBackendDispatchers.h>
980
981 using namespace Inspector;
982
983 @implementation RWIProtocolConfiguration
984 {
985     AugmentableInspectorController* _controller;
986 }
987
988 - (instancetype)initWithController:(AugmentableInspectorController*)controller
989 {
990     self = [super init];
991     if (!self)
992         return nil;
993     ASSERT(controller);
994     _controller = controller;
995     return self;
996 }
997
998 - (void)dealloc
999 {
1000     [super dealloc];
1001 }
1002
1003 @end
1004
1005
1006 ### End File: RWIProtocolConfiguration.mm
1007
1008 ### Begin File: RWIProtocolConfiguration.h
1009 /*
1010  * Copyright (C) 2013 Google Inc. All rights reserved.
1011  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1012  * Copyright (C) 2014 University of Washington. All rights reserved.
1013  *
1014  * Redistribution and use in source and binary forms, with or without
1015  * modification, are permitted provided that the following conditions
1016  * are met:
1017  * 1. Redistributions of source code must retain the above copyright
1018  *    notice, this list of conditions and the following disclaimer.
1019  * 2. Redistributions in binary form must reproduce the above copyright
1020  *    notice, this list of conditions and the following disclaimer in the
1021  *    documentation and/or other materials provided with the distribution.
1022  *
1023  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1024  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1025  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1026  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1027  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1028  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1029  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1030  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1031  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1032  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1033  * THE POSSIBILITY OF SUCH DAMAGE.
1034  */
1035
1036 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1037 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1038
1039 #import "RWIProtocol.h"
1040
1041 __attribute__((visibility ("default")))
1042 @interface RWIProtocolConfiguration : NSObject
1043 @end
1044
1045
1046 ### End File: RWIProtocolConfiguration.h
1047
1048 ### Begin File: RWIProtocolBackendDispatchers.mm
1049 /*
1050  * Copyright (C) 2013 Google Inc. All rights reserved.
1051  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1052  * Copyright (C) 2014 University of Washington. All rights reserved.
1053  *
1054  * Redistribution and use in source and binary forms, with or without
1055  * modification, are permitted provided that the following conditions
1056  * are met:
1057  * 1. Redistributions of source code must retain the above copyright
1058  *    notice, this list of conditions and the following disclaimer.
1059  * 2. Redistributions in binary form must reproduce the above copyright
1060  *    notice, this list of conditions and the following disclaimer in the
1061  *    documentation and/or other materials provided with the distribution.
1062  *
1063  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1064  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1065  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1066  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1067  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1068  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1069  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1070  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1071  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1072  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1073  * THE POSSIBILITY OF SUCH DAMAGE.
1074  */
1075
1076 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1077 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1078
1079 #import "config.h"
1080 #import "RWIProtocolBackendDispatchers.h"
1081
1082 #include "RWIProtocolInternal.h"
1083 #include "RWIProtocolEnumConversionHelpers.h"
1084 #include <JavaScriptCore/InspectorFrontendChannel.h>
1085 #include <JavaScriptCore/InspectorValues.h>
1086
1087 namespace Inspector {
1088
1089
1090
1091
1092
1093 } // namespace Inspector
1094
1095 ### End File: RWIProtocolBackendDispatchers.mm
1096
1097 ### Begin File: RWIProtocolEnumConversionHelpers.h
1098 /*
1099  * Copyright (C) 2013 Google Inc. All rights reserved.
1100  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1101  * Copyright (C) 2014 University of Washington. All rights reserved.
1102  *
1103  * Redistribution and use in source and binary forms, with or without
1104  * modification, are permitted provided that the following conditions
1105  * are met:
1106  * 1. Redistributions of source code must retain the above copyright
1107  *    notice, this list of conditions and the following disclaimer.
1108  * 2. Redistributions in binary form must reproduce the above copyright
1109  *    notice, this list of conditions and the following disclaimer in the
1110  *    documentation and/or other materials provided with the distribution.
1111  *
1112  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1113  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1114  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1115  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1116  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1117  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1118  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1119  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1120  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1121  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1122  * THE POSSIBILITY OF SUCH DAMAGE.
1123  */
1124
1125 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1126 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1127
1128 #import "RWIProtocolArrayConversionHelpers.h"
1129
1130 namespace Inspector {
1131
1132 template<typename ObjCEnumType>
1133 ObjCEnumType fromProtocolString(String value);
1134
1135
1136
1137
1138
1139 } // namespace Inspector
1140
1141 ### End File: RWIProtocolEnumConversionHelpers.h
1142
1143 ### Begin File: RWIProtocolEventDispatchers.mm
1144 /*
1145  * Copyright (C) 2013 Google Inc. All rights reserved.
1146  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1147  * Copyright (C) 2014 University of Washington. All rights reserved.
1148  *
1149  * Redistribution and use in source and binary forms, with or without
1150  * modification, are permitted provided that the following conditions
1151  * are met:
1152  * 1. Redistributions of source code must retain the above copyright
1153  *    notice, this list of conditions and the following disclaimer.
1154  * 2. Redistributions in binary form must reproduce the above copyright
1155  *    notice, this list of conditions and the following disclaimer in the
1156  *    documentation and/or other materials provided with the distribution.
1157  *
1158  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1159  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1160  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1161  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1162  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1163  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1164  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1165  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1166  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1167  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1168  * THE POSSIBILITY OF SUCH DAMAGE.
1169  */
1170
1171 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1172 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1173
1174 #import "config.h"
1175 #import "RWIProtocolInternal.h"
1176
1177 #import "RWIProtocolEnumConversionHelpers.h"
1178 #import <JavaScriptCore/InspectorFrontendChannel.h>
1179 #import <JavaScriptCore/InspectorValues.h>
1180
1181 using namespace Inspector;
1182
1183
1184
1185
1186
1187
1188 ### End File: RWIProtocolEventDispatchers.mm
1189
1190 ### Begin File: RWIProtocol.h
1191 /*
1192  * Copyright (C) 2013 Google Inc. All rights reserved.
1193  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1194  * Copyright (C) 2014 University of Washington. All rights reserved.
1195  *
1196  * Redistribution and use in source and binary forms, with or without
1197  * modification, are permitted provided that the following conditions
1198  * are met:
1199  * 1. Redistributions of source code must retain the above copyright
1200  *    notice, this list of conditions and the following disclaimer.
1201  * 2. Redistributions in binary form must reproduce the above copyright
1202  *    notice, this list of conditions and the following disclaimer in the
1203  *    documentation and/or other materials provided with the distribution.
1204  *
1205  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1206  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1207  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1208  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1209  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1210  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1211  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1212  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1213  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1214  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1215  * THE POSSIBILITY OF SUCH DAMAGE.
1216  */
1217
1218 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1219 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1220
1221 #import <Foundation/Foundation.h>
1222
1223 #import <WebInspector/RWIProtocolJSONObject.h>
1224
1225
1226 @class RWIProtocolDatabaseError;
1227 @class RWIProtocolDatabaseOptionalParameterBundle;
1228 @class RWIProtocolDatabaseParameterBundle;
1229 @class RWIProtocolDatabaseObjectWithPropertyNameConflicts;
1230 @class RWIProtocolDatabaseDummyObject;
1231 @class RWIProtocolTestParameterBundle;
1232
1233
1234
1235
1236 __attribute__((visibility ("default")))
1237 @interface RWIProtocolDatabaseError : RWIProtocolJSONObject
1238 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
1239 /* required */ @property (nonatomic, copy) NSString *message;
1240 /* required */ @property (nonatomic, assign) int code;
1241 @end
1242
1243 __attribute__((visibility ("default")))
1244 @interface RWIProtocolDatabaseOptionalParameterBundle : RWIProtocolJSONObject
1245 /* optional */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames;
1246 /* optional */ @property (nonatomic, copy) NSString *notes;
1247 /* optional */ @property (nonatomic, assign) double timestamp;
1248 /* optional */ @property (nonatomic, retain) RWIProtocolJSONObject *values;
1249 /* optional */ @property (nonatomic, retain) RWIProtocolJSONObject *payload;
1250 /* optional */ @property (nonatomic, retain) RWIProtocolDatabaseError *error;
1251 /* optional */ @property (nonatomic, copy) NSArray/*<RWIProtocolDatabaseError>*/ *errorList;
1252 @end
1253
1254 __attribute__((visibility ("default")))
1255 @interface RWIProtocolDatabaseParameterBundle : RWIProtocolJSONObject
1256 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error errorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList;
1257 /* required */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames;
1258 /* required */ @property (nonatomic, copy) NSString *notes;
1259 /* required */ @property (nonatomic, assign) double timestamp;
1260 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *values;
1261 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *payload;
1262 /* required */ @property (nonatomic, retain) RWIProtocolDatabaseError *error;
1263 /* required */ @property (nonatomic, copy) NSArray/*<RWIProtocolDatabaseError>*/ *errorList;
1264 @end
1265
1266 __attribute__((visibility ("default")))
1267 @interface RWIProtocolDatabaseObjectWithPropertyNameConflicts : RWIProtocolJSONObject
1268 - (instancetype)initWithInteger:(NSString *)integer array:(NSString *)array string:(NSString *)string value:(NSString *)value object:(NSString *)object;
1269 /* required */ @property (nonatomic, copy) NSString *integer;
1270 /* required */ @property (nonatomic, copy) NSString *array;
1271 /* required */ @property (nonatomic, copy) NSString *string;
1272 /* required */ @property (nonatomic, copy) NSString *value;
1273 /* required */ @property (nonatomic, copy) NSString *object;
1274 @end
1275
1276 __attribute__((visibility ("default")))
1277 @interface RWIProtocolDatabaseDummyObject : RWIProtocolJSONObject
1278 @end
1279
1280 __attribute__((visibility ("default")))
1281 @interface RWIProtocolTestParameterBundle : RWIProtocolJSONObject
1282 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error;
1283 /* required */ @property (nonatomic, copy) NSArray/*<NSString>*/ *columnNames;
1284 /* required */ @property (nonatomic, copy) NSString *notes;
1285 /* required */ @property (nonatomic, assign) double timestamp;
1286 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *values;
1287 /* required */ @property (nonatomic, retain) RWIProtocolJSONObject *payload;
1288 /* required */ @property (nonatomic, retain) RWIProtocolDatabaseError *error;
1289 @end
1290
1291
1292
1293
1294
1295
1296 ### End File: RWIProtocol.h
1297
1298 ### Begin File: RWIProtocolTypes.mm
1299 /*
1300  * Copyright (C) 2013 Google Inc. All rights reserved.
1301  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1302  * Copyright (C) 2014 University of Washington. All rights reserved.
1303  *
1304  * Redistribution and use in source and binary forms, with or without
1305  * modification, are permitted provided that the following conditions
1306  * are met:
1307  * 1. Redistributions of source code must retain the above copyright
1308  *    notice, this list of conditions and the following disclaimer.
1309  * 2. Redistributions in binary form must reproduce the above copyright
1310  *    notice, this list of conditions and the following disclaimer in the
1311  *    documentation and/or other materials provided with the distribution.
1312  *
1313  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1314  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1315  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1316  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1317  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1318  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1319  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1320  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1321  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1322  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1323  * THE POSSIBILITY OF SUCH DAMAGE.
1324  */
1325
1326 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1327 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1328
1329 #import "config.h"
1330 #import "RWIProtocolInternal.h"
1331
1332 #import "RWIProtocolEnumConversionHelpers.h"
1333 #import <JavaScriptCore/InspectorValues.h>
1334 #import <wtf/Assertions.h>
1335
1336 using namespace Inspector;
1337
1338
1339 @implementation RWIProtocolDatabaseError
1340
1341 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
1342 {
1343     self = [super init];
1344     if (!self)
1345         return nil;
1346
1347     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
1348
1349     self.message = message;
1350     self.code = code;
1351
1352     return self;
1353 }
1354
1355 - (void)setMessage:(NSString *)message
1356 {
1357     [super setString:message forKey:@"message"];
1358 }
1359
1360 - (NSString *)message
1361 {
1362     return [super stringForKey:@"message"];
1363 }
1364
1365 - (void)setCode:(int)code
1366 {
1367     [super setInteger:code forKey:@"code"];
1368 }
1369
1370 - (int)code
1371 {
1372     return [super integerForKey:@"code"];
1373 }
1374
1375 @end
1376
1377 @implementation RWIProtocolDatabaseOptionalParameterBundle
1378
1379 - (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames
1380 {
1381     [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"];
1382 }
1383
1384 - (NSArray/*<NSString>*/ *)columnNames
1385 {
1386     return objcStringArray([super inspectorArrayForKey:@"columnNames"]);
1387 }
1388
1389 - (void)setNotes:(NSString *)notes
1390 {
1391     [super setString:notes forKey:@"notes"];
1392 }
1393
1394 - (NSString *)notes
1395 {
1396     return [super stringForKey:@"notes"];
1397 }
1398
1399 - (void)setTimestamp:(double)timestamp
1400 {
1401     [super setDouble:timestamp forKey:@"timestamp"];
1402 }
1403
1404 - (double)timestamp
1405 {
1406     return [super doubleForKey:@"timestamp"];
1407 }
1408
1409 - (void)setValues:(RWIProtocolJSONObject *)values
1410 {
1411     [super setObject:values forKey:@"values"];
1412 }
1413
1414 - (RWIProtocolJSONObject *)values
1415 {
1416     return (RWIProtocolJSONObject *)[super objectForKey:@"values"];
1417 }
1418
1419 - (void)setPayload:(RWIProtocolJSONObject *)payload
1420 {
1421     [super setObject:payload forKey:@"payload"];
1422 }
1423
1424 - (RWIProtocolJSONObject *)payload
1425 {
1426     return (RWIProtocolJSONObject *)[super objectForKey:@"payload"];
1427 }
1428
1429 - (void)setError:(RWIProtocolDatabaseError *)error
1430 {
1431     [super setObject:error forKey:@"error"];
1432 }
1433
1434 - (RWIProtocolDatabaseError *)error
1435 {
1436     return (RWIProtocolDatabaseError *)[super objectForKey:@"error"];
1437 }
1438
1439 - (void)setErrorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1440 {
1441     THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]);
1442     [super setInspectorArray:inspectorObjectArray(errorList) forKey:@"errorList"];
1443 }
1444
1445 - (NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1446 {
1447     return objcArray<RWIProtocolDatabaseError>([super inspectorArrayForKey:@"errorList"]);
1448 }
1449
1450 @end
1451
1452 @implementation RWIProtocolDatabaseParameterBundle
1453
1454 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error errorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList;
1455 {
1456     self = [super init];
1457     if (!self)
1458         return nil;
1459
1460     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames");
1461     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes");
1462     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values");
1463     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload");
1464     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error");
1465     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(errorList, @"errorList");
1466     THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]);
1467
1468     self.columnNames = columnNames;
1469     self.notes = notes;
1470     self.timestamp = timestamp;
1471     self.values = values;
1472     self.payload = payload;
1473     self.error = error;
1474     self.errorList = errorList;
1475
1476     return self;
1477 }
1478
1479 - (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames
1480 {
1481     [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"];
1482 }
1483
1484 - (NSArray/*<NSString>*/ *)columnNames
1485 {
1486     return objcStringArray([super inspectorArrayForKey:@"columnNames"]);
1487 }
1488
1489 - (void)setNotes:(NSString *)notes
1490 {
1491     [super setString:notes forKey:@"notes"];
1492 }
1493
1494 - (NSString *)notes
1495 {
1496     return [super stringForKey:@"notes"];
1497 }
1498
1499 - (void)setTimestamp:(double)timestamp
1500 {
1501     [super setDouble:timestamp forKey:@"timestamp"];
1502 }
1503
1504 - (double)timestamp
1505 {
1506     return [super doubleForKey:@"timestamp"];
1507 }
1508
1509 - (void)setValues:(RWIProtocolJSONObject *)values
1510 {
1511     [super setObject:values forKey:@"values"];
1512 }
1513
1514 - (RWIProtocolJSONObject *)values
1515 {
1516     return (RWIProtocolJSONObject *)[super objectForKey:@"values"];
1517 }
1518
1519 - (void)setPayload:(RWIProtocolJSONObject *)payload
1520 {
1521     [super setObject:payload forKey:@"payload"];
1522 }
1523
1524 - (RWIProtocolJSONObject *)payload
1525 {
1526     return (RWIProtocolJSONObject *)[super objectForKey:@"payload"];
1527 }
1528
1529 - (void)setError:(RWIProtocolDatabaseError *)error
1530 {
1531     [super setObject:error forKey:@"error"];
1532 }
1533
1534 - (RWIProtocolDatabaseError *)error
1535 {
1536     return (RWIProtocolDatabaseError *)[super objectForKey:@"error"];
1537 }
1538
1539 - (void)setErrorList:(NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1540 {
1541     THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(errorList, [RWIProtocolDatabaseError class]);
1542     [super setInspectorArray:inspectorObjectArray(errorList) forKey:@"errorList"];
1543 }
1544
1545 - (NSArray/*<RWIProtocolDatabaseError>*/ *)errorList
1546 {
1547     return objcArray<RWIProtocolDatabaseError>([super inspectorArrayForKey:@"errorList"]);
1548 }
1549
1550 @end
1551
1552 @implementation RWIProtocolDatabaseObjectWithPropertyNameConflicts
1553
1554 - (instancetype)initWithInteger:(NSString *)integer array:(NSString *)array string:(NSString *)string value:(NSString *)value object:(NSString *)object;
1555 {
1556     self = [super init];
1557     if (!self)
1558         return nil;
1559
1560     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(integer, @"integer");
1561     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(array, @"array");
1562     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(string, @"string");
1563     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(value, @"value");
1564     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(object, @"object");
1565
1566     self.integer = integer;
1567     self.array = array;
1568     self.string = string;
1569     self.value = value;
1570     self.object = object;
1571
1572     return self;
1573 }
1574
1575 - (void)setInteger:(NSString *)integer
1576 {
1577     [super setString:integer forKey:@"integer"];
1578 }
1579
1580 - (NSString *)integer
1581 {
1582     return [super stringForKey:@"integer"];
1583 }
1584
1585 - (void)setArray:(NSString *)array
1586 {
1587     [super setString:array forKey:@"array"];
1588 }
1589
1590 - (NSString *)array
1591 {
1592     return [super stringForKey:@"array"];
1593 }
1594
1595 - (void)setString:(NSString *)string
1596 {
1597     [super setString:string forKey:@"string"];
1598 }
1599
1600 - (NSString *)string
1601 {
1602     return [super stringForKey:@"string"];
1603 }
1604
1605 - (void)setValue:(NSString *)value
1606 {
1607     [super setString:value forKey:@"value"];
1608 }
1609
1610 - (NSString *)value
1611 {
1612     return [super stringForKey:@"value"];
1613 }
1614
1615 - (void)setObject:(NSString *)object
1616 {
1617     [super setString:object forKey:@"object"];
1618 }
1619
1620 - (NSString *)object
1621 {
1622     return [super stringForKey:@"object"];
1623 }
1624
1625 @end
1626
1627 @implementation RWIProtocolDatabaseDummyObject
1628
1629 @end
1630
1631
1632 @implementation RWIProtocolTestParameterBundle
1633
1634 - (instancetype)initWithColumnNames:(NSArray/*<NSString>*/ *)columnNames notes:(NSString *)notes timestamp:(double)timestamp values:(RWIProtocolJSONObject *)values payload:(RWIProtocolJSONObject *)payload error:(RWIProtocolDatabaseError *)error;
1635 {
1636     self = [super init];
1637     if (!self)
1638         return nil;
1639
1640     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(columnNames, @"columnNames");
1641     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(notes, @"notes");
1642     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(values, @"values");
1643     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload, @"payload");
1644     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(error, @"error");
1645
1646     self.columnNames = columnNames;
1647     self.notes = notes;
1648     self.timestamp = timestamp;
1649     self.values = values;
1650     self.payload = payload;
1651     self.error = error;
1652
1653     return self;
1654 }
1655
1656 - (void)setColumnNames:(NSArray/*<NSString>*/ *)columnNames
1657 {
1658     [super setInspectorArray:inspectorStringArray(columnNames) forKey:@"columnNames"];
1659 }
1660
1661 - (NSArray/*<NSString>*/ *)columnNames
1662 {
1663     return objcStringArray([super inspectorArrayForKey:@"columnNames"]);
1664 }
1665
1666 - (void)setNotes:(NSString *)notes
1667 {
1668     [super setString:notes forKey:@"notes"];
1669 }
1670
1671 - (NSString *)notes
1672 {
1673     return [super stringForKey:@"notes"];
1674 }
1675
1676 - (void)setTimestamp:(double)timestamp
1677 {
1678     [super setDouble:timestamp forKey:@"timestamp"];
1679 }
1680
1681 - (double)timestamp
1682 {
1683     return [super doubleForKey:@"timestamp"];
1684 }
1685
1686 - (void)setValues:(RWIProtocolJSONObject *)values
1687 {
1688     [super setObject:values forKey:@"values"];
1689 }
1690
1691 - (RWIProtocolJSONObject *)values
1692 {
1693     return (RWIProtocolJSONObject *)[super objectForKey:@"values"];
1694 }
1695
1696 - (void)setPayload:(RWIProtocolJSONObject *)payload
1697 {
1698     [super setObject:payload forKey:@"payload"];
1699 }
1700
1701 - (RWIProtocolJSONObject *)payload
1702 {
1703     return (RWIProtocolJSONObject *)[super objectForKey:@"payload"];
1704 }
1705
1706 - (void)setError:(RWIProtocolDatabaseError *)error
1707 {
1708     [super setObject:error forKey:@"error"];
1709 }
1710
1711 - (RWIProtocolDatabaseError *)error
1712 {
1713     return (RWIProtocolDatabaseError *)[super objectForKey:@"error"];
1714 }
1715
1716 @end
1717
1718
1719 ### End File: RWIProtocolTypes.mm
1720
1721 ### Begin File: RWIProtocolInternal.h
1722 /*
1723  * Copyright (C) 2013 Google Inc. All rights reserved.
1724  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
1725  * Copyright (C) 2014 University of Washington. All rights reserved.
1726  *
1727  * Redistribution and use in source and binary forms, with or without
1728  * modification, are permitted provided that the following conditions
1729  * are met:
1730  * 1. Redistributions of source code must retain the above copyright
1731  *    notice, this list of conditions and the following disclaimer.
1732  * 2. Redistributions in binary form must reproduce the above copyright
1733  *    notice, this list of conditions and the following disclaimer in the
1734  *    documentation and/or other materials provided with the distribution.
1735  *
1736  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1737  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1738  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1739  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1740  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1741  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1742  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1743  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1744  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1745  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1746  * THE POSSIBILITY OF SUCH DAMAGE.
1747  */
1748
1749 // DO NOT EDIT THIS FILE. It is automatically generated from type-declaration-object-type.json
1750 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1751
1752 #import "RWIProtocol.h"
1753 #import "RWIProtocolJSONObjectInternal.h"
1754 #import <JavaScriptCore/AugmentableInspectorController.h>
1755 #import <JavaScriptCore/InspectorValues.h>
1756
1757
1758
1759
1760 ### End File: RWIProtocolInternal.h