Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/ipc/ipdl/PWebSocket.cpp
Line
Count
Source (jump to first uncovered line)
1
//
2
// Automatically generated by ipdlc.
3
// Edit at your own risk
4
//
5
6
7
#include "mozilla/net/PNeckoParent.h"
8
#include "mozilla/net/PNeckoChild.h"
9
#include "mozilla/dom/PBrowserParent.h"
10
#include "mozilla/dom/PBrowserChild.h"
11
#include "mozilla/net/PTransportProviderParent.h"
12
#include "mozilla/net/PTransportProviderChild.h"
13
#include "mozilla/ipc/PFileDescriptorSetParent.h"
14
#include "mozilla/ipc/PFileDescriptorSetChild.h"
15
#include "mozilla/ipc/PChildToParentStreamParent.h"
16
#include "mozilla/ipc/PChildToParentStreamChild.h"
17
#include "mozilla/ipc/PParentToChildStreamParent.h"
18
#include "mozilla/ipc/PParentToChildStreamChild.h"
19
#include "mozilla/net/PWebSocket.h"
20
21
namespace mozilla {
22
namespace net {
23
namespace PWebSocket {
24
25
nsresult
26
CreateEndpoints(
27
        base::ProcessId aParentDestPid,
28
        base::ProcessId aChildDestPid,
29
        mozilla::ipc::Endpoint<mozilla::net::PWebSocketParent>* aParent,
30
        mozilla::ipc::Endpoint<mozilla::net::PWebSocketChild>* aChild)
31
0
{
32
0
    return mozilla::ipc::CreateEndpoints(mozilla::ipc::PrivateIPDLInterface(), aParentDestPid, aChildDestPid, aParent, aChild);
33
0
}
34
IPC::Message*
35
Msg_AsyncOpen(int32_t routingId)
36
0
{
37
0
    return IPC::Message::IPDLMessage(routingId, Msg_AsyncOpen__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
38
0
}
39
IPC::Message*
40
Msg_Close(int32_t routingId)
41
0
{
42
0
    return IPC::Message::IPDLMessage(routingId, Msg_Close__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
43
0
}
44
IPC::Message*
45
Msg_SendMsg(int32_t routingId)
46
0
{
47
0
    return IPC::Message::IPDLMessage(routingId, Msg_SendMsg__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
48
0
}
49
IPC::Message*
50
Msg_SendBinaryMsg(int32_t routingId)
51
0
{
52
0
    return IPC::Message::IPDLMessage(routingId, Msg_SendBinaryMsg__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
53
0
}
54
IPC::Message*
55
Msg_SendBinaryStream(int32_t routingId)
56
0
{
57
0
    return IPC::Message::IPDLMessage(routingId, Msg_SendBinaryStream__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
58
0
}
59
IPC::Message*
60
Msg_DeleteSelf(int32_t routingId)
61
0
{
62
0
    return IPC::Message::IPDLMessage(routingId, Msg_DeleteSelf__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
63
0
}
64
IPC::Message*
65
Msg_OnStart(int32_t routingId)
66
0
{
67
0
    return IPC::Message::IPDLMessage(routingId, Msg_OnStart__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
68
0
}
69
IPC::Message*
70
Msg_OnStop(int32_t routingId)
71
0
{
72
0
    return IPC::Message::IPDLMessage(routingId, Msg_OnStop__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
73
0
}
74
IPC::Message*
75
Msg_OnMessageAvailable(int32_t routingId)
76
0
{
77
0
    return IPC::Message::IPDLMessage(routingId, Msg_OnMessageAvailable__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
78
0
}
79
IPC::Message*
80
Msg_OnBinaryMessageAvailable(int32_t routingId)
81
0
{
82
0
    return IPC::Message::IPDLMessage(routingId, Msg_OnBinaryMessageAvailable__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
83
0
}
84
IPC::Message*
85
Msg_OnAcknowledge(int32_t routingId)
86
0
{
87
0
    return IPC::Message::IPDLMessage(routingId, Msg_OnAcknowledge__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
88
0
}
89
IPC::Message*
90
Msg_OnServerClose(int32_t routingId)
91
0
{
92
0
    return IPC::Message::IPDLMessage(routingId, Msg_OnServerClose__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
93
0
}
94
IPC::Message*
95
Msg___delete__(int32_t routingId)
96
0
{
97
0
    return IPC::Message::IPDLMessage(routingId, Msg___delete____ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
98
0
}
99
IPC::Message*
100
Reply___delete__(int32_t routingId)
101
0
{
102
0
    return IPC::Message::IPDLMessage(routingId, Reply___delete____ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::REPLY));
103
0
}
104
105
} // namespace PWebSocket
106
} // namespace net
107
} // namespace mozilla
108
109
//-----------------------------------------------------------------------------
110
// Method definitions for the IPDL type |union OptionalTransportProvider|
111
//
112
namespace mozilla {
113
namespace net {
114
auto OptionalTransportProvider::MaybeDestroy(Type aNewType) -> bool
115
0
{
116
0
    if ((mType) == (T__None)) {
117
0
        return true;
118
0
    }
119
0
    if ((mType) == (aNewType)) {
120
0
        return false;
121
0
    }
122
0
    switch (mType) {
123
0
    case TPTransportProviderParent:
124
0
        {
125
0
            (ptr_PTransportProviderParent())->~PTransportProviderParent__tdef();
126
0
            break;
127
0
        }
128
0
    case TPTransportProviderChild:
129
0
        {
130
0
            (ptr_PTransportProviderChild())->~PTransportProviderChild__tdef();
131
0
            break;
132
0
        }
133
0
    case Tvoid_t:
134
0
        {
135
0
            (ptr_void_t())->~void_t__tdef();
136
0
            break;
137
0
        }
138
0
    default:
139
0
        {
140
0
            mozilla::ipc::LogicError("not reached");
141
0
            break;
142
0
        }
143
0
    }
144
0
    return true;
145
0
}
146
147
MOZ_IMPLICIT OptionalTransportProvider::OptionalTransportProvider(PTransportProviderParent* aOther)
148
0
{
149
0
    new (mozilla::KnownNotNull, ptr_PTransportProviderParent()) PTransportProviderParent*(const_cast<PTransportProviderParent*>(aOther));
150
0
    mType = TPTransportProviderParent;
151
0
}
152
153
MOZ_IMPLICIT OptionalTransportProvider::OptionalTransportProvider(PTransportProviderChild* aOther)
154
0
{
155
0
    new (mozilla::KnownNotNull, ptr_PTransportProviderChild()) PTransportProviderChild*(const_cast<PTransportProviderChild*>(aOther));
156
0
    mType = TPTransportProviderChild;
157
0
}
158
159
MOZ_IMPLICIT OptionalTransportProvider::OptionalTransportProvider(const void_t& aOther)
160
0
{
161
0
    new (mozilla::KnownNotNull, ptr_void_t()) void_t(aOther);
162
0
    mType = Tvoid_t;
163
0
}
164
165
MOZ_IMPLICIT OptionalTransportProvider::OptionalTransportProvider(void_t&& aOther)
166
0
{
167
0
    new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move(aOther));
168
0
    mType = Tvoid_t;
169
0
}
170
171
MOZ_IMPLICIT OptionalTransportProvider::OptionalTransportProvider(const OptionalTransportProvider& aOther)
172
0
{
173
0
    (aOther).AssertSanity();
174
0
    switch ((aOther).type()) {
175
0
    case TPTransportProviderParent:
176
0
        {
177
0
            new (mozilla::KnownNotNull, ptr_PTransportProviderParent()) PTransportProviderParent*(const_cast<PTransportProviderParent*>((aOther).get_PTransportProviderParent()));
178
0
            break;
179
0
        }
180
0
    case TPTransportProviderChild:
181
0
        {
182
0
            new (mozilla::KnownNotNull, ptr_PTransportProviderChild()) PTransportProviderChild*(const_cast<PTransportProviderChild*>((aOther).get_PTransportProviderChild()));
183
0
            break;
184
0
        }
185
0
    case Tvoid_t:
186
0
        {
187
0
            new (mozilla::KnownNotNull, ptr_void_t()) void_t((aOther).get_void_t());
188
0
            break;
189
0
        }
190
0
    case T__None:
191
0
        {
192
0
            break;
193
0
        }
194
0
    default:
195
0
        {
196
0
            mozilla::ipc::LogicError("unreached");
197
0
            return;
198
0
        }
199
0
    }
200
0
    mType = (aOther).type();
201
0
}
202
203
MOZ_IMPLICIT OptionalTransportProvider::OptionalTransportProvider(OptionalTransportProvider&& aOther)
204
0
{
205
0
    (aOther).AssertSanity();
206
0
    Type t = (aOther).type();
207
0
    switch (t) {
208
0
    case TPTransportProviderParent:
209
0
        {
210
0
            new (mozilla::KnownNotNull, ptr_PTransportProviderParent()) PTransportProviderParent*(const_cast<PTransportProviderParent*>(std::move((aOther).get_PTransportProviderParent())));
211
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
212
0
            break;
213
0
        }
214
0
    case TPTransportProviderChild:
215
0
        {
216
0
            new (mozilla::KnownNotNull, ptr_PTransportProviderChild()) PTransportProviderChild*(const_cast<PTransportProviderChild*>(std::move((aOther).get_PTransportProviderChild())));
217
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
218
0
            break;
219
0
        }
220
0
    case Tvoid_t:
221
0
        {
222
0
            new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move((aOther).get_void_t()));
223
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
224
0
            break;
225
0
        }
226
0
    case T__None:
227
0
        {
228
0
            break;
229
0
        }
230
0
    default:
231
0
        {
232
0
            mozilla::ipc::LogicError("unreached");
233
0
            return;
234
0
        }
235
0
    }
236
0
    (aOther).mType = T__None;
237
0
    mType = t;
238
0
}
239
240
OptionalTransportProvider::~OptionalTransportProvider()
241
0
{
242
0
    static_cast<void>(MaybeDestroy(T__None));
243
0
}
244
245
auto OptionalTransportProvider::operator=(PTransportProviderParent* aRhs) -> OptionalTransportProvider&
246
0
{
247
0
    if (MaybeDestroy(TPTransportProviderParent)) {
248
0
        new (mozilla::KnownNotNull, ptr_PTransportProviderParent()) PTransportProviderParent*;
249
0
    }
250
0
    (*(ptr_PTransportProviderParent())) = const_cast<PTransportProviderParent*>(aRhs);
251
0
    mType = TPTransportProviderParent;
252
0
    return (*(this));
253
0
}
254
255
auto OptionalTransportProvider::operator=(PTransportProviderChild* aRhs) -> OptionalTransportProvider&
256
0
{
257
0
    if (MaybeDestroy(TPTransportProviderChild)) {
258
0
        new (mozilla::KnownNotNull, ptr_PTransportProviderChild()) PTransportProviderChild*;
259
0
    }
260
0
    (*(ptr_PTransportProviderChild())) = const_cast<PTransportProviderChild*>(aRhs);
261
0
    mType = TPTransportProviderChild;
262
0
    return (*(this));
263
0
}
264
265
auto OptionalTransportProvider::operator=(const void_t& aRhs) -> OptionalTransportProvider&
266
0
{
267
0
    if (MaybeDestroy(Tvoid_t)) {
268
0
        new (mozilla::KnownNotNull, ptr_void_t()) void_t;
269
0
    }
270
0
    (*(ptr_void_t())) = aRhs;
271
0
    mType = Tvoid_t;
272
0
    return (*(this));
273
0
}
274
275
auto OptionalTransportProvider::operator=(void_t&& aRhs) -> OptionalTransportProvider&
276
0
{
277
0
    if (MaybeDestroy(Tvoid_t)) {
278
0
        new (mozilla::KnownNotNull, ptr_void_t()) void_t;
279
0
    }
280
0
    (*(ptr_void_t())) = std::move(aRhs);
281
0
    mType = Tvoid_t;
282
0
    return (*(this));
283
0
}
284
285
auto OptionalTransportProvider::operator=(const OptionalTransportProvider& aRhs) -> OptionalTransportProvider&
286
0
{
287
0
    (aRhs).AssertSanity();
288
0
    Type t = (aRhs).type();
289
0
    switch (t) {
290
0
    case TPTransportProviderParent:
291
0
        {
292
0
            if (MaybeDestroy(t)) {
293
0
                new (mozilla::KnownNotNull, ptr_PTransportProviderParent()) PTransportProviderParent*;
294
0
            }
295
0
            (*(ptr_PTransportProviderParent())) = const_cast<PTransportProviderParent*>((aRhs).get_PTransportProviderParent());
296
0
            break;
297
0
        }
298
0
    case TPTransportProviderChild:
299
0
        {
300
0
            if (MaybeDestroy(t)) {
301
0
                new (mozilla::KnownNotNull, ptr_PTransportProviderChild()) PTransportProviderChild*;
302
0
            }
303
0
            (*(ptr_PTransportProviderChild())) = const_cast<PTransportProviderChild*>((aRhs).get_PTransportProviderChild());
304
0
            break;
305
0
        }
306
0
    case Tvoid_t:
307
0
        {
308
0
            if (MaybeDestroy(t)) {
309
0
                new (mozilla::KnownNotNull, ptr_void_t()) void_t;
310
0
            }
311
0
            (*(ptr_void_t())) = (aRhs).get_void_t();
312
0
            break;
313
0
        }
314
0
    case T__None:
315
0
        {
316
0
            static_cast<void>(MaybeDestroy(t));
317
0
            break;
318
0
        }
319
0
    default:
320
0
        {
321
0
            mozilla::ipc::LogicError("unreached");
322
0
            break;
323
0
        }
324
0
    }
325
0
    mType = t;
326
0
    return (*(this));
327
0
}
328
329
auto OptionalTransportProvider::operator=(OptionalTransportProvider&& aRhs) -> OptionalTransportProvider&
330
0
{
331
0
    (aRhs).AssertSanity();
332
0
    Type t = (aRhs).type();
333
0
    switch (t) {
334
0
    case TPTransportProviderParent:
335
0
        {
336
0
            if (MaybeDestroy(t)) {
337
0
                new (mozilla::KnownNotNull, ptr_PTransportProviderParent()) PTransportProviderParent*;
338
0
            }
339
0
            (*(ptr_PTransportProviderParent())) = const_cast<PTransportProviderParent*>(std::move((aRhs).get_PTransportProviderParent()));
340
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
341
0
            break;
342
0
        }
343
0
    case TPTransportProviderChild:
344
0
        {
345
0
            if (MaybeDestroy(t)) {
346
0
                new (mozilla::KnownNotNull, ptr_PTransportProviderChild()) PTransportProviderChild*;
347
0
            }
348
0
            (*(ptr_PTransportProviderChild())) = const_cast<PTransportProviderChild*>(std::move((aRhs).get_PTransportProviderChild()));
349
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
350
0
            break;
351
0
        }
352
0
    case Tvoid_t:
353
0
        {
354
0
            if (MaybeDestroy(t)) {
355
0
                new (mozilla::KnownNotNull, ptr_void_t()) void_t;
356
0
            }
357
0
            (*(ptr_void_t())) = std::move((aRhs).get_void_t());
358
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
359
0
            break;
360
0
        }
361
0
    case T__None:
362
0
        {
363
0
            static_cast<void>(MaybeDestroy(t));
364
0
            break;
365
0
        }
366
0
    default:
367
0
        {
368
0
            mozilla::ipc::LogicError("unreached");
369
0
            break;
370
0
        }
371
0
    }
372
0
    (aRhs).mType = T__None;
373
0
    mType = t;
374
0
    return (*(this));
375
0
}
376
377
auto OptionalTransportProvider::operator==(PTransportProviderParent* aRhs) const -> bool
378
0
{
379
0
    return (get_PTransportProviderParent()) == (aRhs);
380
0
}
381
382
auto OptionalTransportProvider::operator==(PTransportProviderChild* aRhs) const -> bool
383
0
{
384
0
    return (get_PTransportProviderChild()) == (aRhs);
385
0
}
386
387
auto OptionalTransportProvider::operator==(const void_t& aRhs) const -> bool
388
0
{
389
0
    return (get_void_t()) == (aRhs);
390
0
}
391
392
auto OptionalTransportProvider::operator==(const OptionalTransportProvider& aRhs) const -> bool
393
0
{
394
0
    if ((type()) != ((aRhs).type())) {
395
0
        return false;
396
0
    }
397
0
398
0
    switch (type()) {
399
0
    case TPTransportProviderParent:
400
0
        {
401
0
            return (get_PTransportProviderParent()) == ((aRhs).get_PTransportProviderParent());
402
0
        }
403
0
    case TPTransportProviderChild:
404
0
        {
405
0
            return (get_PTransportProviderChild()) == ((aRhs).get_PTransportProviderChild());
406
0
        }
407
0
    case Tvoid_t:
408
0
        {
409
0
            return (get_void_t()) == ((aRhs).get_void_t());
410
0
        }
411
0
    default:
412
0
        {
413
0
            mozilla::ipc::LogicError("unreached");
414
0
            return false;
415
0
        }
416
0
    }
417
0
}
418
419
auto OptionalTransportProvider::get(PTransportProviderParent** aOutValue) const -> void
420
0
{
421
0
    (*(aOutValue)) = get_PTransportProviderParent();
422
0
}
423
424
auto OptionalTransportProvider::get(PTransportProviderChild** aOutValue) const -> void
425
0
{
426
0
    (*(aOutValue)) = get_PTransportProviderChild();
427
0
}
428
429
auto OptionalTransportProvider::get(void_t* aOutValue) const -> void
430
0
{
431
0
    (*(aOutValue)) = get_void_t();
432
0
}
433
434
} // namespace net
435
} // namespace mozilla
436
437
namespace mozilla {
438
namespace ipc {
439
auto IPDLParamTraits<mozilla::net::OptionalTransportProvider>::Write(
440
        IPC::Message* aMsg,
441
        mozilla::ipc::IProtocol* aActor,
442
        const paramType& aVar) -> void
443
0
{
444
0
    typedef mozilla::net::OptionalTransportProvider union__;
445
0
    int type;
446
0
    type = (aVar).type();
447
0
    WriteIPDLParam(aMsg, aActor, type);
448
0
    // Sentinel = 'OptionalTransportProvider'
449
0
    (aMsg)->WriteSentinel(1388363017);
450
0
451
0
    switch (type) {
452
0
    case union__::TPTransportProviderParent:
453
0
        {
454
0
            if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
455
0
                MOZ_RELEASE_ASSERT((aVar).get_PTransportProviderParent(), "NULL actor value passed to non-nullable param");
456
0
                WriteIPDLParam(aMsg, aActor, (aVar).get_PTransportProviderParent());
457
0
                // Sentinel = 'TPTransportProviderParent'
458
0
                (aMsg)->WriteSentinel(3404110961);
459
0
            }
460
0
            else {
461
0
                (aActor)->FatalError("wrong side!");
462
0
            }
463
0
            return;
464
0
        }
465
0
    case union__::TPTransportProviderChild:
466
0
        {
467
0
            if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
468
0
                MOZ_RELEASE_ASSERT((aVar).get_PTransportProviderChild(), "NULL actor value passed to non-nullable param");
469
0
                WriteIPDLParam(aMsg, aActor, (aVar).get_PTransportProviderChild());
470
0
                // Sentinel = 'TPTransportProviderChild'
471
0
                (aMsg)->WriteSentinel(827320754);
472
0
            }
473
0
            else {
474
0
                (aActor)->FatalError("wrong side!");
475
0
            }
476
0
            return;
477
0
        }
478
0
    case union__::Tvoid_t:
479
0
        {
480
0
            WriteIPDLParam(aMsg, aActor, (aVar).get_void_t());
481
0
            // Sentinel = 'Tvoid_t'
482
0
            (aMsg)->WriteSentinel(3041273328);
483
0
            return;
484
0
        }
485
0
    default:
486
0
        {
487
0
            (aActor)->FatalError("unknown union type");
488
0
            return;
489
0
        }
490
0
    }
491
0
}
492
493
auto IPDLParamTraits<mozilla::net::OptionalTransportProvider>::Read(
494
        const IPC::Message* aMsg,
495
        PickleIterator* aIter,
496
        mozilla::ipc::IProtocol* aActor,
497
        paramType* aVar) -> bool
498
0
{
499
0
    typedef mozilla::net::OptionalTransportProvider union__;
500
0
    int type;
501
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
502
0
        (aActor)->FatalError("Error deserializing type of union OptionalTransportProvider");
503
0
        return false;
504
0
    }
505
0
    // Sentinel = 'OptionalTransportProvider'
506
0
    if ((!((aMsg)->ReadSentinel(aIter, 1388363017)))) {
507
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union OptionalTransportProvider");
508
0
        return false;
509
0
    }
510
0
511
0
    switch (type) {
512
0
    case union__::TPTransportProviderParent:
513
0
        {
514
0
            if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
515
0
                {
516
0
                    (aActor)->FatalError("wrong side!");
517
0
                    return false;
518
0
                }
519
0
            }
520
0
            mozilla::net::PTransportProviderChild* tmp = nullptr;
521
0
            (*(aVar)) = tmp;
522
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PTransportProviderChild())))))) {
523
0
                (aActor)->FatalError("Error deserializing variant TPTransportProviderParent of union OptionalTransportProvider");
524
0
                return false;
525
0
            }
526
0
            if ((!((*((&((aVar)->get_PTransportProviderChild()))))))) {
527
0
                (aActor)->FatalError("Error deserializing variant TPTransportProviderParent of union OptionalTransportProvider");
528
0
                return false;
529
0
            }
530
0
            // Sentinel = 'TPTransportProviderParent'
531
0
            if ((!((aMsg)->ReadSentinel(aIter, 3404110961)))) {
532
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPTransportProviderParent of union OptionalTransportProvider");
533
0
                return false;
534
0
            }
535
0
            return true;
536
0
        }
537
0
    case union__::TPTransportProviderChild:
538
0
        {
539
0
            if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
540
0
                {
541
0
                    (aActor)->FatalError("wrong side!");
542
0
                    return false;
543
0
                }
544
0
            }
545
0
            mozilla::net::PTransportProviderParent* tmp = nullptr;
546
0
            (*(aVar)) = tmp;
547
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PTransportProviderParent())))))) {
548
0
                (aActor)->FatalError("Error deserializing variant TPTransportProviderChild of union OptionalTransportProvider");
549
0
                return false;
550
0
            }
551
0
            if ((!((*((&((aVar)->get_PTransportProviderParent()))))))) {
552
0
                (aActor)->FatalError("Error deserializing variant TPTransportProviderChild of union OptionalTransportProvider");
553
0
                return false;
554
0
            }
555
0
            // Sentinel = 'TPTransportProviderChild'
556
0
            if ((!((aMsg)->ReadSentinel(aIter, 827320754)))) {
557
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPTransportProviderChild of union OptionalTransportProvider");
558
0
                return false;
559
0
            }
560
0
            return true;
561
0
        }
562
0
    case union__::Tvoid_t:
563
0
        {
564
0
            mozilla::void_t tmp = mozilla::void_t();
565
0
            (*(aVar)) = tmp;
566
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_void_t())))))) {
567
0
                (aActor)->FatalError("Error deserializing variant Tvoid_t of union OptionalTransportProvider");
568
0
                return false;
569
0
            }
570
0
            // Sentinel = 'Tvoid_t'
571
0
            if ((!((aMsg)->ReadSentinel(aIter, 3041273328)))) {
572
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tvoid_t of union OptionalTransportProvider");
573
0
                return false;
574
0
            }
575
0
            return true;
576
0
        }
577
0
    default:
578
0
        {
579
0
            (aActor)->FatalError("unknown union type");
580
0
            return false;
581
0
        }
582
0
    }
583
0
}
584
585
} // namespace ipc
586
} // namespace mozilla