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