[WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWi...
[WebKit-https.git] / Source / JavaScriptCore / inspector / scripts / tests / all / expected / definitions-with-mac-platform.json-result
1 ### Begin File: InspectorBackendCommands.js
2 /*
3  * Copyright (C) 2013 Google Inc. All rights reserved.
4  * Copyright (C) 2013-2016 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 definitions-with-mac-platform.json
30 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
31
32 // Network.
33 InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "Network");
34 InspectorBackend.registerEvent("Network.resourceLoaded", []);
35 InspectorBackend.registerCommand("Network.loadResource", [], []);
36 InspectorBackend.activateDomain("Network");
37 ### End File: InspectorBackendCommands.js
38
39 ### Begin File: TestAlternateBackendDispatchers.h
40 /*
41  * Copyright (C) 2013 Google Inc. All rights reserved.
42  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
43  * Copyright (C) 2014 University of Washington. All rights reserved.
44  *
45  * Redistribution and use in source and binary forms, with or without
46  * modification, are permitted provided that the following conditions
47  * are met:
48  * 1. Redistributions of source code must retain the above copyright
49  *    notice, this list of conditions and the following disclaimer.
50  * 2. Redistributions in binary form must reproduce the above copyright
51  *    notice, this list of conditions and the following disclaimer in the
52  *    documentation and/or other materials provided with the distribution.
53  *
54  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
55  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
56  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
57  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
58  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
59  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
60  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
61  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
62  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
63  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
64  * THE POSSIBILITY OF SUCH DAMAGE.
65  */
66
67 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
68 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
69
70 #pragma once
71
72 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
73
74 #include "TestProtocolTypes.h"
75 #include <JavaScriptCore/InspectorBackendDispatcher.h>
76 #include <JavaScriptCore/InspectorFrontendRouter.h>
77
78 namespace Inspector {
79
80 class AlternateBackendDispatcher {
81 public:
82     void setBackendDispatcher(RefPtr<BackendDispatcher>&& dispatcher) { m_backendDispatcher = WTFMove(dispatcher); }
83     BackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
84 private:
85     RefPtr<BackendDispatcher> m_backendDispatcher;
86 };
87
88
89 class AlternateNetworkBackendDispatcher : public AlternateBackendDispatcher {
90 public:
91     virtual ~AlternateNetworkBackendDispatcher() { }
92     virtual void loadResource(long callId) = 0;
93 };
94
95 } // namespace Inspector
96
97 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
98 ### End File: TestAlternateBackendDispatchers.h
99
100 ### Begin File: TestBackendDispatchers.h
101 /*
102  * Copyright (C) 2013 Google Inc. All rights reserved.
103  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
104  * Copyright (C) 2014 University of Washington. All rights reserved.
105  *
106  * Redistribution and use in source and binary forms, with or without
107  * modification, are permitted provided that the following conditions
108  * are met:
109  * 1. Redistributions of source code must retain the above copyright
110  *    notice, this list of conditions and the following disclaimer.
111  * 2. Redistributions in binary form must reproduce the above copyright
112  *    notice, this list of conditions and the following disclaimer in the
113  *    documentation and/or other materials provided with the distribution.
114  *
115  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
116  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
117  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
118  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
119  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
120  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
121  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
122  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
123  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
124  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
125  * THE POSSIBILITY OF SUCH DAMAGE.
126  */
127
128 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
129 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
130
131 #pragma once
132
133 #include "TestProtocolObjects.h"
134 #include <JavaScriptCore/InspectorBackendDispatcher.h>
135 #include <wtf/text/WTFString.h>
136
137 namespace Inspector {
138
139 typedef String ErrorString;
140
141 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
142 class AlternateNetworkBackendDispatcher;
143 #endif // ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
144
145 class NetworkBackendDispatcherHandler {
146 public:
147     virtual void loadResource(ErrorString&) = 0;
148 protected:
149     virtual ~NetworkBackendDispatcherHandler();
150 };
151
152 class NetworkBackendDispatcher final : public SupplementalBackendDispatcher {
153 public:
154     static Ref<NetworkBackendDispatcher> create(BackendDispatcher&, NetworkBackendDispatcherHandler*);
155     void dispatch(long requestId, const String& method, Ref<JSON::Object>&& message) override;
156 private:
157     void loadResource(long requestId, RefPtr<JSON::Object>&& parameters);
158 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
159 public:
160     void setAlternateDispatcher(AlternateNetworkBackendDispatcher* alternateDispatcher) { m_alternateDispatcher = alternateDispatcher; }
161 private:
162     AlternateNetworkBackendDispatcher* m_alternateDispatcher { nullptr };
163 #endif
164 private:
165     NetworkBackendDispatcher(BackendDispatcher&, NetworkBackendDispatcherHandler*);
166     NetworkBackendDispatcherHandler* m_agent { nullptr };
167 };
168
169 } // namespace Inspector
170 ### End File: TestBackendDispatchers.h
171
172 ### Begin File: TestBackendDispatchers.cpp
173 /*
174  * Copyright (C) 2013 Google Inc. All rights reserved.
175  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
176  * Copyright (C) 2014 University of Washington. All rights reserved.
177  *
178  * Redistribution and use in source and binary forms, with or without
179  * modification, are permitted provided that the following conditions
180  * are met:
181  * 1. Redistributions of source code must retain the above copyright
182  *    notice, this list of conditions and the following disclaimer.
183  * 2. Redistributions in binary form must reproduce the above copyright
184  *    notice, this list of conditions and the following disclaimer in the
185  *    documentation and/or other materials provided with the distribution.
186  *
187  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
188  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
189  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
190  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
191  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
192  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
193  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
194  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
195  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
196  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
197  * THE POSSIBILITY OF SUCH DAMAGE.
198  */
199
200 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
201 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
202
203 #include "config.h"
204 #include "TestBackendDispatchers.h"
205
206 #include <JavaScriptCore/InspectorFrontendRouter.h>
207 #include <wtf/JSONValues.h>
208 #include <wtf/NeverDestroyed.h>
209 #include <wtf/text/CString.h>
210
211 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
212 #include "TestAlternateBackendDispatchers.h"
213 #endif
214
215 namespace Inspector {
216
217 NetworkBackendDispatcherHandler::~NetworkBackendDispatcherHandler() { }
218
219 Ref<NetworkBackendDispatcher> NetworkBackendDispatcher::create(BackendDispatcher& backendDispatcher, NetworkBackendDispatcherHandler* agent)
220 {
221     return adoptRef(*new NetworkBackendDispatcher(backendDispatcher, agent));
222 }
223
224 NetworkBackendDispatcher::NetworkBackendDispatcher(BackendDispatcher& backendDispatcher, NetworkBackendDispatcherHandler* agent)
225     : SupplementalBackendDispatcher(backendDispatcher)
226     , m_agent(agent)
227 {
228     m_backendDispatcher->registerDispatcherForDomain("Network"_s, this);
229 }
230
231 void NetworkBackendDispatcher::dispatch(long requestId, const String& method, Ref<JSON::Object>&& message)
232 {
233     Ref<NetworkBackendDispatcher> protect(*this);
234
235     RefPtr<JSON::Object> parameters;
236     message->getObject("params"_s, parameters);
237
238     if (method == "loadResource")
239         loadResource(requestId, WTFMove(parameters));
240     else
241         m_backendDispatcher->reportProtocolError(BackendDispatcher::MethodNotFound, "'Network." + method + "' was not found");
242 }
243
244 void NetworkBackendDispatcher::loadResource(long requestId, RefPtr<JSON::Object>&&)
245 {
246 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
247     if (m_alternateDispatcher) {
248         m_alternateDispatcher->loadResource(requestId);
249         return;
250     }
251 #endif
252
253     ErrorString error;
254     Ref<JSON::Object> result = JSON::Object::create();
255     m_agent->loadResource(error);
256
257     if (!error.length())
258         m_backendDispatcher->sendResponse(requestId, WTFMove(result), false);
259     else
260         m_backendDispatcher->reportProtocolError(BackendDispatcher::ServerError, WTFMove(error));
261 }
262
263 } // namespace Inspector
264
265 ### End File: TestBackendDispatchers.cpp
266
267 ### Begin File: TestFrontendDispatchers.h
268 /*
269  * Copyright (C) 2013 Google Inc. All rights reserved.
270  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
271  * Copyright (C) 2014 University of Washington. All rights reserved.
272  *
273  * Redistribution and use in source and binary forms, with or without
274  * modification, are permitted provided that the following conditions
275  * are met:
276  * 1. Redistributions of source code must retain the above copyright
277  *    notice, this list of conditions and the following disclaimer.
278  * 2. Redistributions in binary form must reproduce the above copyright
279  *    notice, this list of conditions and the following disclaimer in the
280  *    documentation and/or other materials provided with the distribution.
281  *
282  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
283  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
284  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
285  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
286  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
287  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
288  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
289  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
290  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
291  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
292  * THE POSSIBILITY OF SUCH DAMAGE.
293  */
294
295 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
296 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
297
298 #pragma once
299
300 #include "TestProtocolObjects.h"
301 #include <wtf/JSONValues.h>
302 #include <wtf/text/WTFString.h>
303
304 namespace Inspector {
305
306 class FrontendRouter;
307
308 class NetworkFrontendDispatcher {
309     WTF_MAKE_FAST_ALLOCATED;
310 public:
311     NetworkFrontendDispatcher(FrontendRouter& frontendRouter) : m_frontendRouter(frontendRouter) { }
312     void resourceLoaded();
313 private:
314     FrontendRouter& m_frontendRouter;
315 };
316
317 } // namespace Inspector
318 ### End File: TestFrontendDispatchers.h
319
320 ### Begin File: TestFrontendDispatchers.cpp
321 /*
322  * Copyright (C) 2013 Google Inc. All rights reserved.
323  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
324  * Copyright (C) 2014 University of Washington. All rights reserved.
325  *
326  * Redistribution and use in source and binary forms, with or without
327  * modification, are permitted provided that the following conditions
328  * are met:
329  * 1. Redistributions of source code must retain the above copyright
330  *    notice, this list of conditions and the following disclaimer.
331  * 2. Redistributions in binary form must reproduce the above copyright
332  *    notice, this list of conditions and the following disclaimer in the
333  *    documentation and/or other materials provided with the distribution.
334  *
335  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
336  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
337  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
338  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
339  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
340  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
341  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
342  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
343  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
344  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
345  * THE POSSIBILITY OF SUCH DAMAGE.
346  */
347
348 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
349 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
350
351 #include "config.h"
352 #include "TestFrontendDispatchers.h"
353
354 #include <JavaScriptCore/InspectorFrontendRouter.h>
355 #include <wtf/text/CString.h>
356
357 namespace Inspector {
358
359 void NetworkFrontendDispatcher::resourceLoaded()
360 {
361     Ref<JSON::Object> jsonMessage = JSON::Object::create();
362     jsonMessage->setString("method"_s, "Network.resourceLoaded"_s);
363
364     m_frontendRouter.sendEvent(jsonMessage->toJSONString());
365 }
366
367 } // namespace Inspector
368
369 ### End File: TestFrontendDispatchers.cpp
370
371 ### Begin File: TestProtocolObjects.h
372 /*
373  * Copyright (C) 2013 Google Inc. All rights reserved.
374  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
375  * Copyright (C) 2014 University of Washington. All rights reserved.
376  *
377  * Redistribution and use in source and binary forms, with or without
378  * modification, are permitted provided that the following conditions
379  * are met:
380  * 1. Redistributions of source code must retain the above copyright
381  *    notice, this list of conditions and the following disclaimer.
382  * 2. Redistributions in binary form must reproduce the above copyright
383  *    notice, this list of conditions and the following disclaimer in the
384  *    documentation and/or other materials provided with the distribution.
385  *
386  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
387  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
388  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
389  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
390  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
391  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
392  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
393  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
394  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
395  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
396  * THE POSSIBILITY OF SUCH DAMAGE.
397  */
398
399 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
400 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
401
402 #pragma once
403
404 #include <JavaScriptCore/InspectorProtocolTypes.h>
405 #include <wtf/Assertions.h>
406
407 namespace Inspector {
408
409
410
411 namespace Protocol {
412
413
414
415 // Forward declarations.
416 namespace Network {
417 class NetworkError;
418 } // Network
419 // End of forward declarations.
420
421
422
423
424 namespace Network {
425 class NetworkError : public JSON::ObjectBase {
426 public:
427     enum {
428         NoFieldsSet = 0,
429         MessageSet = 1 << 0,
430         CodeSet = 1 << 1,
431         AllFieldsSet = (MessageSet | CodeSet)
432     };
433
434     template<int STATE>
435     class Builder {
436     private:
437         RefPtr<JSON::Object> m_result;
438
439         template<int STEP> Builder<STATE | STEP>& castState()
440         {
441             return *reinterpret_cast<Builder<STATE | STEP>*>(this);
442         }
443
444         Builder(Ref</*NetworkError*/JSON::Object>&& object)
445             : m_result(WTFMove(object))
446         {
447             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
448         }
449         friend class NetworkError;
450     public:
451
452         Builder<STATE | MessageSet>& setMessage(const String& value)
453         {
454             COMPILE_ASSERT(!(STATE & MessageSet), property_message_already_set);
455             m_result->setString("message"_s, value);
456             return castState<MessageSet>();
457         }
458
459         Builder<STATE | CodeSet>& setCode(int value)
460         {
461             COMPILE_ASSERT(!(STATE & CodeSet), property_code_already_set);
462             m_result->setInteger("code"_s, value);
463             return castState<CodeSet>();
464         }
465
466         Ref<NetworkError> release()
467         {
468             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
469             COMPILE_ASSERT(sizeof(NetworkError) == sizeof(JSON::Object), cannot_cast);
470
471             Ref<JSON::Object> jsonResult = m_result.releaseNonNull();
472             auto result = WTFMove(*reinterpret_cast<Ref<NetworkError>*>(&jsonResult));
473             return result;
474         }
475     };
476
477     /*
478      * Synthetic constructor:
479      * Ref<NetworkError> result = NetworkError::create()
480      *     .setMessage(...)
481      *     .setCode(...)
482      *     .release();
483      */
484     static Builder<NoFieldsSet> create()
485     {
486         return Builder<NoFieldsSet>(JSON::Object::create());
487     }
488 };
489
490 } // Network
491
492
493
494 } // namespace Protocol
495
496 } // namespace Inspector
497 ### End File: TestProtocolObjects.h
498
499 ### Begin File: TestProtocolObjects.cpp
500 /*
501  * Copyright (C) 2013 Google Inc. All rights reserved.
502  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
503  * Copyright (C) 2014 University of Washington. All rights reserved.
504  *
505  * Redistribution and use in source and binary forms, with or without
506  * modification, are permitted provided that the following conditions
507  * are met:
508  * 1. Redistributions of source code must retain the above copyright
509  *    notice, this list of conditions and the following disclaimer.
510  * 2. Redistributions in binary form must reproduce the above copyright
511  *    notice, this list of conditions and the following disclaimer in the
512  *    documentation and/or other materials provided with the distribution.
513  *
514  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
515  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
516  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
517  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
518  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
519  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
520  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
521  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
522  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
523  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
524  * THE POSSIBILITY OF SUCH DAMAGE.
525  */
526
527 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
528 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
529
530 #include "config.h"
531 #include "TestProtocolObjects.h"
532
533 #include <wtf/Optional.h>
534 #include <wtf/text/CString.h>
535
536 namespace Inspector {
537
538 namespace Protocol {
539
540
541
542 } // namespace Protocol
543
544 } // namespace Inspector
545
546 ### End File: TestProtocolObjects.cpp
547
548 ### Begin File: TestProtocolBackendDispatchers.h
549 /*
550  * Copyright (C) 2013 Google Inc. All rights reserved.
551  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
552  * Copyright (C) 2014 University of Washington. All rights reserved.
553  *
554  * Redistribution and use in source and binary forms, with or without
555  * modification, are permitted provided that the following conditions
556  * are met:
557  * 1. Redistributions of source code must retain the above copyright
558  *    notice, this list of conditions and the following disclaimer.
559  * 2. Redistributions in binary form must reproduce the above copyright
560  *    notice, this list of conditions and the following disclaimer in the
561  *    documentation and/or other materials provided with the distribution.
562  *
563  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
564  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
565  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
566  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
567  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
568  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
569  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
570  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
571  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
572  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
573  * THE POSSIBILITY OF SUCH DAMAGE.
574  */
575
576 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
577 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
578
579 #include <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
580 #include <wtf/RetainPtr.h>
581
582 @protocol TestProtocolNetworkDomainHandler;
583
584 namespace Inspector {
585
586
587 class ObjCInspectorNetworkBackendDispatcher final : public AlternateNetworkBackendDispatcher {
588     WTF_MAKE_FAST_ALLOCATED;
589 public:
590     ObjCInspectorNetworkBackendDispatcher(id<TestProtocolNetworkDomainHandler> handler) { m_delegate = handler; }
591     virtual void loadResource(long requestId) override;
592 private:
593     RetainPtr<id<TestProtocolNetworkDomainHandler>> m_delegate;
594 };
595
596 } // namespace Inspector
597
598 ### End File: TestProtocolBackendDispatchers.h
599
600 ### Begin File: TestProtocolBackendDispatchers.mm
601 /*
602  * Copyright (C) 2013 Google Inc. All rights reserved.
603  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
604  * Copyright (C) 2014 University of Washington. All rights reserved.
605  *
606  * Redistribution and use in source and binary forms, with or without
607  * modification, are permitted provided that the following conditions
608  * are met:
609  * 1. Redistributions of source code must retain the above copyright
610  *    notice, this list of conditions and the following disclaimer.
611  * 2. Redistributions in binary form must reproduce the above copyright
612  *    notice, this list of conditions and the following disclaimer in the
613  *    documentation and/or other materials provided with the distribution.
614  *
615  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
616  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
617  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
618  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
619  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
620  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
621  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
622  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
623  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
624  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
625  * THE POSSIBILITY OF SUCH DAMAGE.
626  */
627
628 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
629 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
630
631 #import "config.h"
632 #import "TestProtocolBackendDispatchers.h"
633
634 #include "TestProtocolInternal.h"
635 #include "TestProtocolTypeConversions.h"
636 #include <wtf/JSONValues.h>
637
638 namespace Inspector {
639
640 void ObjCInspectorNetworkBackendDispatcher::loadResource(long requestId)
641 {
642     id errorCallback = ^(NSString *error) {
643         backendDispatcher()->reportProtocolError(requestId, BackendDispatcher::ServerError, error);
644         backendDispatcher()->sendPendingErrors();
645     };
646
647     id successCallback = ^{
648         backendDispatcher()->sendResponse(requestId, JSON::Object::create(), false);
649     };
650
651     [m_delegate loadResourceWithErrorCallback:errorCallback successCallback:successCallback];
652 }
653
654
655 } // namespace Inspector
656
657 ### End File: TestProtocolBackendDispatchers.mm
658
659 ### Begin File: TestProtocolConfiguration.h
660 /*
661  * Copyright (C) 2013 Google Inc. All rights reserved.
662  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
663  * Copyright (C) 2014 University of Washington. All rights reserved.
664  *
665  * Redistribution and use in source and binary forms, with or without
666  * modification, are permitted provided that the following conditions
667  * are met:
668  * 1. Redistributions of source code must retain the above copyright
669  *    notice, this list of conditions and the following disclaimer.
670  * 2. Redistributions in binary form must reproduce the above copyright
671  *    notice, this list of conditions and the following disclaimer in the
672  *    documentation and/or other materials provided with the distribution.
673  *
674  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
675  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
676  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
677  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
678  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
679  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
680  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
681  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
682  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
683  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
684  * THE POSSIBILITY OF SUCH DAMAGE.
685  */
686
687 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
688 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
689
690 #import <WebInspector/TestProtocol.h>
691
692 __attribute__((visibility ("default")))
693 @interface TestProtocolConfiguration : NSObject
694 @property (nonatomic, retain, setter=setNetworkHandler:) id<TestProtocolNetworkDomainHandler> networkHandler;
695 @property (nonatomic, readonly) TestProtocolNetworkDomainEventDispatcher *networkEventDispatcher;
696 @end
697
698
699 ### End File: TestProtocolConfiguration.h
700
701 ### Begin File: TestProtocolConfiguration.mm
702 /*
703  * Copyright (C) 2013 Google Inc. All rights reserved.
704  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
705  * Copyright (C) 2014 University of Washington. All rights reserved.
706  *
707  * Redistribution and use in source and binary forms, with or without
708  * modification, are permitted provided that the following conditions
709  * are met:
710  * 1. Redistributions of source code must retain the above copyright
711  *    notice, this list of conditions and the following disclaimer.
712  * 2. Redistributions in binary form must reproduce the above copyright
713  *    notice, this list of conditions and the following disclaimer in the
714  *    documentation and/or other materials provided with the distribution.
715  *
716  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
717  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
718  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
719  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
720  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
721  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
722  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
723  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
724  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
725  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
726  * THE POSSIBILITY OF SUCH DAMAGE.
727  */
728
729 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
730 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
731
732 #import "TestProtocolConfiguration.h"
733
734 #import "TestProtocolInternal.h"
735 #import "TestProtocolBackendDispatchers.h"
736 #import <JavaScriptCore/AlternateDispatchableAgent.h>
737 #import <JavaScriptCore/AugmentableInspectorController.h>
738 #import <JavaScriptCore/InspectorAlternateBackendDispatchers.h>
739 #import <JavaScriptCore/InspectorBackendDispatchers.h>
740
741 using namespace Inspector;
742
743 @implementation TestProtocolConfiguration
744 {
745     AugmentableInspectorController* _controller;
746     id<TestProtocolNetworkDomainHandler> _networkHandler;
747     TestProtocolNetworkDomainEventDispatcher *_networkEventDispatcher;
748 }
749
750 - (instancetype)initWithController:(AugmentableInspectorController*)controller
751 {
752     self = [super init];
753     if (!self)
754         return nil;
755     ASSERT(controller);
756     _controller = controller;
757     return self;
758 }
759
760 - (void)dealloc
761 {
762     [_networkHandler release];
763     [_networkEventDispatcher release];
764     [super dealloc];
765 }
766
767 - (void)setNetworkHandler:(id<TestProtocolNetworkDomainHandler>)handler
768 {
769     if (handler == _networkHandler)
770         return;
771
772     [_networkHandler release];
773     _networkHandler = [handler retain];
774
775     auto alternateDispatcher = makeUnique<ObjCInspectorNetworkBackendDispatcher>(handler);
776     auto alternateAgent = makeUnique<AlternateDispatchableAgent<NetworkBackendDispatcher, AlternateNetworkBackendDispatcher>>("Network"_s, *_controller, WTFMove(alternateDispatcher));
777     _controller->appendExtraAgent(WTFMove(alternateAgent));
778 }
779
780 - (id<TestProtocolNetworkDomainHandler>)networkHandler
781 {
782     return _networkHandler;
783 }
784
785 - (TestProtocolNetworkDomainEventDispatcher *)networkEventDispatcher
786 {
787     if (!_networkEventDispatcher)
788         _networkEventDispatcher = [[TestProtocolNetworkDomainEventDispatcher alloc] initWithController:_controller];
789     return _networkEventDispatcher;
790 }
791
792 @end
793
794
795 ### End File: TestProtocolConfiguration.mm
796
797 ### Begin File: TestProtocolEventDispatchers.mm
798 /*
799  * Copyright (C) 2013 Google Inc. All rights reserved.
800  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
801  * Copyright (C) 2014 University of Washington. All rights reserved.
802  *
803  * Redistribution and use in source and binary forms, with or without
804  * modification, are permitted provided that the following conditions
805  * are met:
806  * 1. Redistributions of source code must retain the above copyright
807  *    notice, this list of conditions and the following disclaimer.
808  * 2. Redistributions in binary form must reproduce the above copyright
809  *    notice, this list of conditions and the following disclaimer in the
810  *    documentation and/or other materials provided with the distribution.
811  *
812  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
813  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
814  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
815  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
816  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
817  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
818  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
819  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
820  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
821  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
822  * THE POSSIBILITY OF SUCH DAMAGE.
823  */
824
825 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
826 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
827
828 #import "TestProtocolInternal.h"
829
830 #import "TestProtocolTypeConversions.h"
831 #import <wtf/JSONValues.h>
832
833 using namespace Inspector;
834
835 @implementation TestProtocolNetworkDomainEventDispatcher
836 {
837     AugmentableInspectorController* _controller;
838 }
839
840 - (instancetype)initWithController:(AugmentableInspectorController*)controller
841 {
842     self = [super init];
843     if (!self)
844         return nil;
845     ASSERT(controller);
846     _controller = controller;
847     return self;
848 }
849
850 - (void)resourceLoaded
851 {
852     const FrontendRouter& router = _controller->frontendRouter();
853
854     Ref<JSON::Object> jsonMessage = JSON::Object::create();
855     jsonMessage->setString("method"_s, "Network.resourceLoaded"_s);
856     router.sendEvent(jsonMessage->toJSONString());
857 }
858
859 @end
860
861
862 ### End File: TestProtocolEventDispatchers.mm
863
864 ### Begin File: TestProtocol.h
865 /*
866  * Copyright (C) 2013 Google Inc. All rights reserved.
867  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
868  * Copyright (C) 2014 University of Washington. All rights reserved.
869  *
870  * Redistribution and use in source and binary forms, with or without
871  * modification, are permitted provided that the following conditions
872  * are met:
873  * 1. Redistributions of source code must retain the above copyright
874  *    notice, this list of conditions and the following disclaimer.
875  * 2. Redistributions in binary form must reproduce the above copyright
876  *    notice, this list of conditions and the following disclaimer in the
877  *    documentation and/or other materials provided with the distribution.
878  *
879  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
880  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
881  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
882  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
883  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
884  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
885  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
886  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
887  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
888  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
889  * THE POSSIBILITY OF SUCH DAMAGE.
890  */
891
892 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
893 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
894
895 #import <Foundation/Foundation.h>
896
897 #import <WebInspector/RWIProtocolJSONObject.h>
898
899
900 @class TestProtocolNetworkError;
901
902 typedef NS_ENUM(NSInteger, TestProtocolPlatform) {
903     TestProtocolPlatformAll,
904     TestProtocolPlatformGeneric,
905     TestProtocolPlatformIOS,
906     TestProtocolPlatformMacOS,
907 };
908
909
910
911
912 __attribute__((visibility ("default")))
913 @interface TestProtocolNetworkError : RWIProtocolJSONObject
914 - (instancetype)initWithPayload:(NSDictionary<NSString *, id> *)payload;
915 - (instancetype)initWithProtocolObject:(RWIProtocolJSONObject *)jsonObject;
916 - (instancetype)initWithMessage:(NSString *)message code:(int)code;
917 /* required */ @property (nonatomic, copy) NSString *message;
918 /* required */ @property (nonatomic, assign) int code;
919 @end
920
921 @protocol TestProtocolNetworkDomainHandler <NSObject>
922 @required
923 - (void)loadResourceWithErrorCallback:(void(^)(NSString *error))errorCallback successCallback:(void(^)(void))successCallback;
924 @end
925
926 __attribute__((visibility ("default")))
927 @interface TestProtocolNetworkDomainEventDispatcher : NSObject
928 - (void)resourceLoaded;
929 @end
930
931
932 #import <WebInspector/RWIProtocolBuildCompatibilityObjects.h>
933
934 ### End File: TestProtocol.h
935
936 ### Begin File: TestProtocolInternal.h
937 /*
938  * Copyright (C) 2013 Google Inc. All rights reserved.
939  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
940  * Copyright (C) 2014 University of Washington. All rights reserved.
941  *
942  * Redistribution and use in source and binary forms, with or without
943  * modification, are permitted provided that the following conditions
944  * are met:
945  * 1. Redistributions of source code must retain the above copyright
946  *    notice, this list of conditions and the following disclaimer.
947  * 2. Redistributions in binary form must reproduce the above copyright
948  *    notice, this list of conditions and the following disclaimer in the
949  *    documentation and/or other materials provided with the distribution.
950  *
951  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
952  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
953  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
954  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
955  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
956  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
957  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
958  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
959  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
960  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
961  * THE POSSIBILITY OF SUCH DAMAGE.
962  */
963
964 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
965 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
966
967 #import "TestProtocol.h"
968 #import "TestProtocolJSONObjectPrivate.h"
969 #import <JavaScriptCore/AugmentableInspectorController.h>
970 #import <wtf/JSONValues.h>
971
972 @interface TestProtocolNetworkDomainEventDispatcher (Private)
973 - (instancetype)initWithController:(Inspector::AugmentableInspectorController*)controller;
974 @end
975
976
977 ### End File: TestProtocolInternal.h
978
979 ### Begin File: TestProtocolTypeConversions.h
980 /*
981  * Copyright (C) 2013 Google Inc. All rights reserved.
982  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
983  * Copyright (C) 2014 University of Washington. All rights reserved.
984  *
985  * Redistribution and use in source and binary forms, with or without
986  * modification, are permitted provided that the following conditions
987  * are met:
988  * 1. Redistributions of source code must retain the above copyright
989  *    notice, this list of conditions and the following disclaimer.
990  * 2. Redistributions in binary form must reproduce the above copyright
991  *    notice, this list of conditions and the following disclaimer in the
992  *    documentation and/or other materials provided with the distribution.
993  *
994  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
995  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
996  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
997  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
998  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
999  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1000  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1001  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1002  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1003  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1004  * THE POSSIBILITY OF SUCH DAMAGE.
1005  */
1006
1007 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
1008 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1009
1010 #import "TestProtocol.h"
1011 #import <WebInspector/RWIProtocolArrayConversions.h>
1012
1013 namespace Inspector {
1014
1015 template<typename ObjCEnumType>
1016 Optional<ObjCEnumType> fromProtocolString(const String& value);
1017
1018 inline String toProtocolString(TestProtocolPlatform value)
1019 {
1020     switch(value) {
1021     case TestProtocolPlatformAll:
1022         return "all"_s;
1023     case TestProtocolPlatformGeneric:
1024         return "generic"_s;
1025     case TestProtocolPlatformIOS:
1026         return "ios"_s;
1027     case TestProtocolPlatformMacOS:
1028         return "macos"_s;
1029     }
1030 }
1031
1032 template<>
1033 inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
1034 {
1035     if (value == "all")
1036         return TestProtocolPlatformAll;
1037     if (value == "generic")
1038         return TestProtocolPlatformGeneric;
1039     if (value == "ios")
1040         return TestProtocolPlatformIOS;
1041     if (value == "macos")
1042         return TestProtocolPlatformMacOS;
1043     return WTF::nullopt;
1044 }
1045
1046
1047
1048 } // namespace Inspector
1049
1050 ### End File: TestProtocolTypeConversions.h
1051
1052 ### Begin File: TestProtocolTypeConversions.mm
1053 /*
1054  * Copyright (C) 2013 Google Inc. All rights reserved.
1055  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1056  * Copyright (C) 2014 University of Washington. All rights reserved.
1057  *
1058  * Redistribution and use in source and binary forms, with or without
1059  * modification, are permitted provided that the following conditions
1060  * are met:
1061  * 1. Redistributions of source code must retain the above copyright
1062  *    notice, this list of conditions and the following disclaimer.
1063  * 2. Redistributions in binary form must reproduce the above copyright
1064  *    notice, this list of conditions and the following disclaimer in the
1065  *    documentation and/or other materials provided with the distribution.
1066  *
1067  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1068  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1069  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1070  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1071  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1072  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1073  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1074  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1075  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1076  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1077  * THE POSSIBILITY OF SUCH DAMAGE.
1078  */
1079
1080 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
1081 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1082
1083 #import "TestProtocolTypeConversions.h"
1084
1085 #import "TestProtocol.h"
1086 #import "TestProtocolTypeParser.h"
1087 #import <WebInspector/RWIProtocolJSONObjectPrivate.h>
1088
1089 using namespace Inspector;
1090
1091 @interface TestProtocolTypeConversions (NetworkDomain)
1092
1093 + (void)_parseNetworkError:(TestProtocolNetworkError **)outValue fromPayload:(id)payload;
1094
1095 @end
1096
1097 @implementation TestProtocolTypeConversions (NetworkDomain)
1098
1099 + (void)_parseNetworkError:(TestProtocolNetworkError **)outValue fromPayload:(id)payload
1100 {
1101     THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSDictionary class]);
1102     *outValue = [[TestProtocolNetworkError alloc] initWithPayload:payload];
1103 }
1104
1105 @end
1106
1107
1108 ### End File: TestProtocolTypeConversions.mm
1109
1110 ### Begin File: TestProtocolTypes.mm
1111 /*
1112  * Copyright (C) 2013 Google Inc. All rights reserved.
1113  * Copyright (C) 2013-2016 Apple Inc. All rights reserved.
1114  * Copyright (C) 2014 University of Washington. All rights reserved.
1115  *
1116  * Redistribution and use in source and binary forms, with or without
1117  * modification, are permitted provided that the following conditions
1118  * are met:
1119  * 1. Redistributions of source code must retain the above copyright
1120  *    notice, this list of conditions and the following disclaimer.
1121  * 2. Redistributions in binary form must reproduce the above copyright
1122  *    notice, this list of conditions and the following disclaimer in the
1123  *    documentation and/or other materials provided with the distribution.
1124  *
1125  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
1126  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
1127  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1128  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
1129  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1130  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1131  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1132  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1133  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1134  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1135  * THE POSSIBILITY OF SUCH DAMAGE.
1136  */
1137
1138 // DO NOT EDIT THIS FILE. It is automatically generated from definitions-with-mac-platform.json
1139 // by the script: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py
1140
1141 #import "TestProtocolInternal.h"
1142
1143 #import "TestProtocolTypeConversions.h"
1144 #import <WebInspector/RWIProtocolJSONObjectPrivate.h>
1145 #import <wtf/Assertions.h>
1146 #import <wtf/JSONValues.h>
1147
1148 using namespace Inspector;
1149
1150
1151 @implementation TestProtocolNetworkError
1152
1153 - (instancetype)initWithPayload:(nonnull NSDictionary<NSString *, id> *)payload
1154 {
1155     if (!(self = [super init]))
1156         return nil;
1157
1158     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"message"], @"message");
1159     self.message = payload[@"message"];
1160
1161     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"code"], @"code");
1162     self.code = [payload[@"code"] integerValue];
1163
1164     return self;
1165 }
1166 - (instancetype)initWithProtocolObject:(RWIProtocolJSONObject *)object
1167 {
1168     if (!(self = [super initWithJSONObject:[object toJSONObject].get()]))
1169         return nil;
1170
1171     return self;
1172 }
1173
1174 - (instancetype)initWithMessage:(NSString *)message code:(int)code
1175 {
1176     if (!(self = [super init]))
1177         return nil;
1178
1179     THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(message, @"message");
1180
1181     self.message = message;
1182     self.code = code;
1183
1184     return self;
1185 }
1186
1187 - (void)setMessage:(NSString *)message
1188 {
1189     [super setString:message forKey:@"message"];
1190 }
1191
1192 - (NSString *)message
1193 {
1194     return [super stringForKey:@"message"];
1195 }
1196
1197 - (void)setCode:(int)code
1198 {
1199     [super setInteger:code forKey:@"code"];
1200 }
1201
1202 - (int)code
1203 {
1204     return [super integerForKey:@"code"];
1205 }
1206
1207 @end
1208
1209
1210 ### End File: TestProtocolTypes.mm