Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/ipc/ipdl/PVRManagerChild.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/gfx/PVRManagerChild.h"
8
#include "gfxVR.h"
9
10
#include "mozilla/gfx/PVRLayerChild.h"
11
12
#include "nsIFile.h"
13
#include "GeckoProfiler.h"
14
15
namespace mozilla {
16
namespace gfx {
17
18
19
auto PVRManagerChild::Recv__delete__() -> mozilla::ipc::IPCResult
20
0
{
21
0
    return IPC_OK();
22
0
}
23
24
auto PVRManagerChild::ActorDestroy(ActorDestroyReason aWhy) -> void
25
0
{
26
0
}
27
28
auto PVRManagerChild::ProcessingError(
29
        Result aCode,
30
        const char* aReason) -> void
31
0
{
32
0
}
33
34
auto PVRManagerChild::ShouldContinueFromReplyTimeout() -> bool
35
0
{
36
0
    return true;
37
0
}
38
39
auto PVRManagerChild::EnteredCxxStack() -> void
40
0
{
41
0
}
42
43
auto PVRManagerChild::ExitedCxxStack() -> void
44
0
{
45
0
}
46
47
auto PVRManagerChild::EnteredCall() -> void
48
0
{
49
0
}
50
51
auto PVRManagerChild::ExitedCall() -> void
52
0
{
53
0
}
54
55
MOZ_IMPLICIT PVRManagerChild::PVRManagerChild() :
56
    mozilla::ipc::IToplevelProtocol("PVRManagerChild", PVRManagerMsgStart, mozilla::ipc::ChildSide),
57
    mLivenessState(mozilla::ipc::LivenessState::Start)
58
0
{
59
0
    MOZ_COUNT_CTOR(PVRManagerChild);
60
0
}
61
62
PVRManagerChild::~PVRManagerChild()
63
0
{
64
0
    MOZ_COUNT_DTOR(PVRManagerChild);
65
0
}
66
67
auto PVRManagerChild::ManagedPVRLayerChild(nsTArray<PVRLayerChild*>& aArr) const -> void
68
0
{
69
0
    (mManagedPVRLayerChild).ToArray(aArr);
70
0
}
71
72
auto PVRManagerChild::ManagedPVRLayerChild() const -> const ManagedContainer<PVRLayerChild>&
73
0
{
74
0
    return mManagedPVRLayerChild;
75
0
}
76
77
auto PVRManagerChild::SendPVRLayerConstructor(
78
        const uint32_t& aDisplayID,
79
        const uint32_t& aGroup) -> PVRLayerChild*
80
0
{
81
0
    return SendPVRLayerConstructor(AllocPVRLayerChild(aDisplayID, aGroup), aDisplayID, aGroup);
82
0
}
83
84
auto PVRManagerChild::SendPVRLayerConstructor(
85
        PVRLayerChild* actor,
86
        const uint32_t& aDisplayID,
87
        const uint32_t& aGroup) -> PVRLayerChild*
88
0
{
89
0
    if ((!(actor))) {
90
0
        NS_WARNING("Error constructing actor PVRLayerChild");
91
0
        return nullptr;
92
0
    }
93
0
    (actor)->SetManagerAndRegister(this);
94
0
    (mManagedPVRLayerChild).PutEntry(actor);
95
0
    (actor)->mLivenessState = mozilla::ipc::LivenessState::Start;
96
0
97
0
    IPC::Message* msg__ = PVRManager::Msg_PVRLayerConstructor(MSG_ROUTING_CONTROL);
98
0
99
0
    MOZ_RELEASE_ASSERT(actor, "NULL actor value passed to non-nullable param");
100
0
    WriteIPDLParam(msg__, this, actor);
101
0
    // Sentinel = 'actor'
102
0
    (msg__)->WriteSentinel(875202478);
103
0
    WriteIPDLParam(msg__, this, aDisplayID);
104
0
    // Sentinel = 'aDisplayID'
105
0
    (msg__)->WriteSentinel(2139184880);
106
0
    WriteIPDLParam(msg__, this, aGroup);
107
0
    // Sentinel = 'aGroup'
108
0
    (msg__)->WriteSentinel(1323513608);
109
0
110
0
111
0
112
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
113
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
114
0
    }
115
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_PVRLayerConstructor", OTHER);
116
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
117
0
        mozilla::ipc::LogicError("Transition error");
118
0
    }
119
0
120
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
121
0
    if ((!(sendok__))) {
122
0
        FatalError("constructor for actor failed");
123
0
        return nullptr;
124
0
    }
125
0
    return actor;
126
0
}
127
128
auto PVRManagerChild::SendRefreshDisplays() -> bool
129
0
{
130
0
    IPC::Message* msg__ = PVRManager::Msg_RefreshDisplays(MSG_ROUTING_CONTROL);
131
0
132
0
133
0
134
0
135
0
136
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
137
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
138
0
    }
139
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_RefreshDisplays", OTHER);
140
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
141
0
        mozilla::ipc::LogicError("Transition error");
142
0
    }
143
0
144
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
145
0
    return sendok__;
146
0
}
147
148
auto PVRManagerChild::SendResetSensor(const uint32_t& aDisplayID) -> bool
149
0
{
150
0
    IPC::Message* msg__ = PVRManager::Msg_ResetSensor(MSG_ROUTING_CONTROL);
151
0
152
0
    WriteIPDLParam(msg__, this, aDisplayID);
153
0
    // Sentinel = 'aDisplayID'
154
0
    (msg__)->WriteSentinel(2139184880);
155
0
156
0
157
0
158
0
159
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
160
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
161
0
    }
162
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_ResetSensor", OTHER);
163
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
164
0
        mozilla::ipc::LogicError("Transition error");
165
0
    }
166
0
167
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
168
0
    return sendok__;
169
0
}
170
171
auto PVRManagerChild::SendSetGroupMask(
172
        const uint32_t& aDisplayID,
173
        const uint32_t& aGroupMask) -> bool
174
0
{
175
0
    IPC::Message* msg__ = PVRManager::Msg_SetGroupMask(MSG_ROUTING_CONTROL);
176
0
177
0
    WriteIPDLParam(msg__, this, aDisplayID);
178
0
    // Sentinel = 'aDisplayID'
179
0
    (msg__)->WriteSentinel(2139184880);
180
0
    WriteIPDLParam(msg__, this, aGroupMask);
181
0
    // Sentinel = 'aGroupMask'
182
0
    (msg__)->WriteSentinel(4157390796);
183
0
184
0
185
0
186
0
187
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
188
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
189
0
    }
190
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_SetGroupMask", OTHER);
191
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
192
0
        mozilla::ipc::LogicError("Transition error");
193
0
    }
194
0
195
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
196
0
    return sendok__;
197
0
}
198
199
auto PVRManagerChild::SendSetHaveEventListener(const bool& aHaveEventListener) -> bool
200
0
{
201
0
    IPC::Message* msg__ = PVRManager::Msg_SetHaveEventListener(MSG_ROUTING_CONTROL);
202
0
203
0
    WriteIPDLParam(msg__, this, aHaveEventListener);
204
0
    // Sentinel = 'aHaveEventListener'
205
0
    (msg__)->WriteSentinel(3921043303);
206
0
207
0
208
0
209
0
210
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
211
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
212
0
    }
213
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_SetHaveEventListener", OTHER);
214
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
215
0
        mozilla::ipc::LogicError("Transition error");
216
0
    }
217
0
218
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
219
0
    return sendok__;
220
0
}
221
222
auto PVRManagerChild::SendControllerListenerAdded() -> bool
223
0
{
224
0
    IPC::Message* msg__ = PVRManager::Msg_ControllerListenerAdded(MSG_ROUTING_CONTROL);
225
0
226
0
227
0
228
0
229
0
230
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
231
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
232
0
    }
233
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_ControllerListenerAdded", OTHER);
234
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
235
0
        mozilla::ipc::LogicError("Transition error");
236
0
    }
237
0
238
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
239
0
    return sendok__;
240
0
}
241
242
auto PVRManagerChild::SendControllerListenerRemoved() -> bool
243
0
{
244
0
    IPC::Message* msg__ = PVRManager::Msg_ControllerListenerRemoved(MSG_ROUTING_CONTROL);
245
0
246
0
247
0
248
0
249
0
250
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
251
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
252
0
    }
253
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_ControllerListenerRemoved", OTHER);
254
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
255
0
        mozilla::ipc::LogicError("Transition error");
256
0
    }
257
0
258
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
259
0
    return sendok__;
260
0
}
261
262
auto PVRManagerChild::SendVibrateHaptic(
263
        const uint32_t& aControllerIdx,
264
        const uint32_t& aHapticIndex,
265
        const double& aIntensity,
266
        const double& aDuration,
267
        const uint32_t& aPromiseID) -> bool
268
0
{
269
0
    IPC::Message* msg__ = PVRManager::Msg_VibrateHaptic(MSG_ROUTING_CONTROL);
270
0
271
0
    WriteIPDLParam(msg__, this, aControllerIdx);
272
0
    // Sentinel = 'aControllerIdx'
273
0
    (msg__)->WriteSentinel(1525026068);
274
0
    WriteIPDLParam(msg__, this, aHapticIndex);
275
0
    // Sentinel = 'aHapticIndex'
276
0
    (msg__)->WriteSentinel(3997306204);
277
0
    WriteIPDLParam(msg__, this, aIntensity);
278
0
    // Sentinel = 'aIntensity'
279
0
    (msg__)->WriteSentinel(701797642);
280
0
    WriteIPDLParam(msg__, this, aDuration);
281
0
    // Sentinel = 'aDuration'
282
0
    (msg__)->WriteSentinel(3213285508);
283
0
    WriteIPDLParam(msg__, this, aPromiseID);
284
0
    // Sentinel = 'aPromiseID'
285
0
    (msg__)->WriteSentinel(1396174117);
286
0
287
0
288
0
289
0
290
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
291
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
292
0
    }
293
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_VibrateHaptic", OTHER);
294
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
295
0
        mozilla::ipc::LogicError("Transition error");
296
0
    }
297
0
298
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
299
0
    return sendok__;
300
0
}
301
302
auto PVRManagerChild::SendStopVibrateHaptic(const uint32_t& aControllerIdx) -> bool
303
0
{
304
0
    IPC::Message* msg__ = PVRManager::Msg_StopVibrateHaptic(MSG_ROUTING_CONTROL);
305
0
306
0
    WriteIPDLParam(msg__, this, aControllerIdx);
307
0
    // Sentinel = 'aControllerIdx'
308
0
    (msg__)->WriteSentinel(1525026068);
309
0
310
0
311
0
312
0
313
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
314
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
315
0
    }
316
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_StopVibrateHaptic", OTHER);
317
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
318
0
        mozilla::ipc::LogicError("Transition error");
319
0
    }
320
0
321
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
322
0
    return sendok__;
323
0
}
324
325
auto PVRManagerChild::SendCreateVRTestSystem() -> bool
326
0
{
327
0
    IPC::Message* msg__ = PVRManager::Msg_CreateVRTestSystem(MSG_ROUTING_CONTROL);
328
0
329
0
330
0
331
0
332
0
333
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
334
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
335
0
    }
336
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_CreateVRTestSystem", OTHER);
337
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
338
0
        mozilla::ipc::LogicError("Transition error");
339
0
    }
340
0
341
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
342
0
    return sendok__;
343
0
}
344
345
auto PVRManagerChild::SendCreateVRServiceTestDisplay(
346
        const nsCString& aID,
347
        const uint32_t& aPromiseID) -> bool
348
0
{
349
0
    IPC::Message* msg__ = PVRManager::Msg_CreateVRServiceTestDisplay(MSG_ROUTING_CONTROL);
350
0
351
0
    WriteIPDLParam(msg__, this, aID);
352
0
    // Sentinel = 'aID'
353
0
    (msg__)->WriteSentinel(2735041849);
354
0
    WriteIPDLParam(msg__, this, aPromiseID);
355
0
    // Sentinel = 'aPromiseID'
356
0
    (msg__)->WriteSentinel(1396174117);
357
0
358
0
359
0
360
0
361
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
362
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
363
0
    }
364
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_CreateVRServiceTestDisplay", OTHER);
365
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
366
0
        mozilla::ipc::LogicError("Transition error");
367
0
    }
368
0
369
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
370
0
    return sendok__;
371
0
}
372
373
auto PVRManagerChild::SendCreateVRServiceTestController(
374
        const nsCString& aID,
375
        const uint32_t& aPromiseID) -> bool
376
0
{
377
0
    IPC::Message* msg__ = PVRManager::Msg_CreateVRServiceTestController(MSG_ROUTING_CONTROL);
378
0
379
0
    WriteIPDLParam(msg__, this, aID);
380
0
    // Sentinel = 'aID'
381
0
    (msg__)->WriteSentinel(2735041849);
382
0
    WriteIPDLParam(msg__, this, aPromiseID);
383
0
    // Sentinel = 'aPromiseID'
384
0
    (msg__)->WriteSentinel(1396174117);
385
0
386
0
387
0
388
0
389
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
390
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
391
0
    }
392
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_CreateVRServiceTestController", OTHER);
393
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
394
0
        mozilla::ipc::LogicError("Transition error");
395
0
    }
396
0
397
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
398
0
    return sendok__;
399
0
}
400
401
auto PVRManagerChild::SendSetDisplayInfoToMockDisplay(
402
        const uint32_t& aDeviceID,
403
        const VRDisplayInfo& aDisplayInfo) -> bool
404
0
{
405
0
    IPC::Message* msg__ = PVRManager::Msg_SetDisplayInfoToMockDisplay(MSG_ROUTING_CONTROL);
406
0
407
0
    WriteIPDLParam(msg__, this, aDeviceID);
408
0
    // Sentinel = 'aDeviceID'
409
0
    (msg__)->WriteSentinel(1963457757);
410
0
    WriteIPDLParam(msg__, this, aDisplayInfo);
411
0
    // Sentinel = 'aDisplayInfo'
412
0
    (msg__)->WriteSentinel(2651062689);
413
0
414
0
415
0
416
0
417
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
418
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
419
0
    }
420
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_SetDisplayInfoToMockDisplay", OTHER);
421
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
422
0
        mozilla::ipc::LogicError("Transition error");
423
0
    }
424
0
425
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
426
0
    return sendok__;
427
0
}
428
429
auto PVRManagerChild::SendSetSensorStateToMockDisplay(
430
        const uint32_t& aDeviceID,
431
        const VRHMDSensorState& aSensorState) -> bool
432
0
{
433
0
    IPC::Message* msg__ = PVRManager::Msg_SetSensorStateToMockDisplay(MSG_ROUTING_CONTROL);
434
0
435
0
    WriteIPDLParam(msg__, this, aDeviceID);
436
0
    // Sentinel = 'aDeviceID'
437
0
    (msg__)->WriteSentinel(1963457757);
438
0
    WriteIPDLParam(msg__, this, aSensorState);
439
0
    // Sentinel = 'aSensorState'
440
0
    (msg__)->WriteSentinel(3074518118);
441
0
442
0
443
0
444
0
445
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
446
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
447
0
    }
448
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_SetSensorStateToMockDisplay", OTHER);
449
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
450
0
        mozilla::ipc::LogicError("Transition error");
451
0
    }
452
0
453
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
454
0
    return sendok__;
455
0
}
456
457
auto PVRManagerChild::SendNewButtonEventToMockController(
458
        const uint32_t& aDeviceID,
459
        const long& aButton,
460
        const bool& aPressed) -> bool
461
0
{
462
0
    IPC::Message* msg__ = PVRManager::Msg_NewButtonEventToMockController(MSG_ROUTING_CONTROL);
463
0
464
0
    WriteIPDLParam(msg__, this, aDeviceID);
465
0
    // Sentinel = 'aDeviceID'
466
0
    (msg__)->WriteSentinel(1963457757);
467
0
    WriteIPDLParam(msg__, this, aButton);
468
0
    // Sentinel = 'aButton'
469
0
    (msg__)->WriteSentinel(1126532398);
470
0
    WriteIPDLParam(msg__, this, aPressed);
471
0
    // Sentinel = 'aPressed'
472
0
    (msg__)->WriteSentinel(511193633);
473
0
474
0
475
0
476
0
477
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
478
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
479
0
    }
480
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_NewButtonEventToMockController", OTHER);
481
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
482
0
        mozilla::ipc::LogicError("Transition error");
483
0
    }
484
0
485
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
486
0
    return sendok__;
487
0
}
488
489
auto PVRManagerChild::SendNewAxisMoveEventToMockController(
490
        const uint32_t& aDeviceID,
491
        const long& aAxis,
492
        const double& aValue) -> bool
493
0
{
494
0
    IPC::Message* msg__ = PVRManager::Msg_NewAxisMoveEventToMockController(MSG_ROUTING_CONTROL);
495
0
496
0
    WriteIPDLParam(msg__, this, aDeviceID);
497
0
    // Sentinel = 'aDeviceID'
498
0
    (msg__)->WriteSentinel(1963457757);
499
0
    WriteIPDLParam(msg__, this, aAxis);
500
0
    // Sentinel = 'aAxis'
501
0
    (msg__)->WriteSentinel(1730285743);
502
0
    WriteIPDLParam(msg__, this, aValue);
503
0
    // Sentinel = 'aValue'
504
0
    (msg__)->WriteSentinel(2522186438);
505
0
506
0
507
0
508
0
509
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
510
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
511
0
    }
512
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_NewAxisMoveEventToMockController", OTHER);
513
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
514
0
        mozilla::ipc::LogicError("Transition error");
515
0
    }
516
0
517
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
518
0
    return sendok__;
519
0
}
520
521
auto PVRManagerChild::SendNewPoseMoveToMockController(
522
        const uint32_t& aDeviceID,
523
        const GamepadPoseState& aPose) -> bool
524
0
{
525
0
    IPC::Message* msg__ = PVRManager::Msg_NewPoseMoveToMockController(MSG_ROUTING_CONTROL);
526
0
527
0
    WriteIPDLParam(msg__, this, aDeviceID);
528
0
    // Sentinel = 'aDeviceID'
529
0
    (msg__)->WriteSentinel(1963457757);
530
0
    WriteIPDLParam(msg__, this, aPose);
531
0
    // Sentinel = 'aPose'
532
0
    (msg__)->WriteSentinel(2231333587);
533
0
534
0
535
0
536
0
537
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
538
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
539
0
    }
540
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_NewPoseMoveToMockController", OTHER);
541
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
542
0
        mozilla::ipc::LogicError("Transition error");
543
0
    }
544
0
545
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
546
0
    return sendok__;
547
0
}
548
549
auto PVRManagerChild::SendStartVRNavigation(const uint32_t& aDeviceID) -> bool
550
0
{
551
0
    IPC::Message* msg__ = PVRManager::Msg_StartVRNavigation(MSG_ROUTING_CONTROL);
552
0
553
0
    WriteIPDLParam(msg__, this, aDeviceID);
554
0
    // Sentinel = 'aDeviceID'
555
0
    (msg__)->WriteSentinel(1963457757);
556
0
557
0
558
0
559
0
560
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
561
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
562
0
    }
563
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_StartVRNavigation", OTHER);
564
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
565
0
        mozilla::ipc::LogicError("Transition error");
566
0
    }
567
0
568
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
569
0
    return sendok__;
570
0
}
571
572
auto PVRManagerChild::SendStopVRNavigation(
573
        const uint32_t& aDeviceID,
574
        const TimeDuration& aDuration) -> bool
575
0
{
576
0
    IPC::Message* msg__ = PVRManager::Msg_StopVRNavigation(MSG_ROUTING_CONTROL);
577
0
578
0
    WriteIPDLParam(msg__, this, aDeviceID);
579
0
    // Sentinel = 'aDeviceID'
580
0
    (msg__)->WriteSentinel(1963457757);
581
0
    WriteIPDLParam(msg__, this, aDuration);
582
0
    // Sentinel = 'aDuration'
583
0
    (msg__)->WriteSentinel(3213285508);
584
0
585
0
586
0
587
0
588
0
    if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
589
0
        mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
590
0
    }
591
0
    AUTO_PROFILER_LABEL("PVRManager::Msg_StopVRNavigation", OTHER);
592
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
593
0
        mozilla::ipc::LogicError("Transition error");
594
0
    }
595
0
596
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
597
0
    return sendok__;
598
0
}
599
600
auto PVRManagerChild::RemoveManagee(
601
        int32_t aProtocolId,
602
        IProtocol* aListener) -> void
603
0
{
604
0
    switch (aProtocolId) {
605
0
    case PVRLayerMsgStart:
606
0
        {
607
0
            PVRLayerChild* actor = static_cast<PVRLayerChild*>(aListener);
608
0
            auto& container = mManagedPVRLayerChild;
609
0
            MOZ_RELEASE_ASSERT((container).Contains(actor), "actor not managed by this!");
610
0
611
0
            (container).RemoveEntry(actor);
612
0
            DeallocPVRLayerChild(actor);
613
0
            return;
614
0
        }
615
0
    default:
616
0
        {
617
0
            FatalError("unreached");
618
0
            return;
619
0
        }
620
0
    }
621
0
}
622
623
auto PVRManagerChild::OnMessageReceived(const Message& msg__) -> PVRManagerChild::Result
624
0
{
625
0
    int32_t route__ = (msg__).routing_id();
626
0
    if ((MSG_ROUTING_CONTROL) != (route__)) {
627
0
        IProtocol* routed__ = Lookup(route__);
628
0
        if ((!(routed__))) {
629
0
            return MsgRouteError;
630
0
        }
631
0
        return (routed__)->OnMessageReceived(msg__);
632
0
    }
633
0
634
0
    switch ((msg__).type()) {
635
0
    case PVRManager::Reply_PVRLayerConstructor__ID:
636
0
        {
637
0
            return MsgProcessed;
638
0
        }
639
0
    case PVRManager::Msg_UpdateDisplayInfo__ID:
640
0
        {
641
0
            if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
642
0
                mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
643
0
            }
644
0
            AUTO_PROFILER_LABEL("PVRManager::Msg_UpdateDisplayInfo", OTHER);
645
0
646
0
            PickleIterator iter__(msg__);
647
0
            nsTArray<VRDisplayInfo> aDisplayUpdates;
648
0
649
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aDisplayUpdates)))))) {
650
0
                FatalError("Error deserializing 'nsTArray'");
651
0
                return MsgValueError;
652
0
            }
653
0
            // Sentinel = 'aDisplayUpdates'
654
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 4278158622)))) {
655
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsTArray'");
656
0
                return MsgValueError;
657
0
            }
658
0
            (msg__).EndRead(iter__, (msg__).type());
659
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
660
0
                FatalError("Transition error");
661
0
                return MsgValueError;
662
0
            }
663
0
            if ((!(RecvUpdateDisplayInfo(std::move(aDisplayUpdates))))) {
664
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
665
0
                // Error handled in mozilla::ipc::IPCResult
666
0
                return MsgProcessingError;
667
0
            }
668
0
669
0
            return MsgProcessed;
670
0
        }
671
0
    case PVRManager::Msg_DispatchSubmitFrameResult__ID:
672
0
        {
673
0
            if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
674
0
                mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
675
0
            }
676
0
            AUTO_PROFILER_LABEL("PVRManager::Msg_DispatchSubmitFrameResult", OTHER);
677
0
678
0
            PickleIterator iter__(msg__);
679
0
            uint32_t aDisplayID;
680
0
            VRSubmitFrameResultInfo aResult;
681
0
682
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aDisplayID)))))) {
683
0
                FatalError("Error deserializing 'uint32_t'");
684
0
                return MsgValueError;
685
0
            }
686
0
            // Sentinel = 'aDisplayID'
687
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2139184880)))) {
688
0
                mozilla::ipc::SentinelReadError("Error deserializing 'uint32_t'");
689
0
                return MsgValueError;
690
0
            }
691
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aResult)))))) {
692
0
                FatalError("Error deserializing 'VRSubmitFrameResultInfo'");
693
0
                return MsgValueError;
694
0
            }
695
0
            // Sentinel = 'aResult'
696
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 3888726089)))) {
697
0
                mozilla::ipc::SentinelReadError("Error deserializing 'VRSubmitFrameResultInfo'");
698
0
                return MsgValueError;
699
0
            }
700
0
            (msg__).EndRead(iter__, (msg__).type());
701
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
702
0
                FatalError("Transition error");
703
0
                return MsgValueError;
704
0
            }
705
0
            if ((!(RecvDispatchSubmitFrameResult(aDisplayID, aResult)))) {
706
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
707
0
                // Error handled in mozilla::ipc::IPCResult
708
0
                return MsgProcessingError;
709
0
            }
710
0
711
0
            return MsgProcessed;
712
0
        }
713
0
    case PVRManager::Msg_GamepadUpdate__ID:
714
0
        {
715
0
            if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
716
0
                mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
717
0
            }
718
0
            AUTO_PROFILER_LABEL("PVRManager::Msg_GamepadUpdate", OTHER);
719
0
720
0
            PickleIterator iter__(msg__);
721
0
            GamepadChangeEvent aGamepadEvent;
722
0
723
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aGamepadEvent)))))) {
724
0
                FatalError("Error deserializing 'GamepadChangeEvent'");
725
0
                return MsgValueError;
726
0
            }
727
0
            // Sentinel = 'aGamepadEvent'
728
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1167032459)))) {
729
0
                mozilla::ipc::SentinelReadError("Error deserializing 'GamepadChangeEvent'");
730
0
                return MsgValueError;
731
0
            }
732
0
            (msg__).EndRead(iter__, (msg__).type());
733
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
734
0
                FatalError("Transition error");
735
0
                return MsgValueError;
736
0
            }
737
0
            if ((!(RecvGamepadUpdate(aGamepadEvent)))) {
738
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
739
0
                // Error handled in mozilla::ipc::IPCResult
740
0
                return MsgProcessingError;
741
0
            }
742
0
743
0
            return MsgProcessed;
744
0
        }
745
0
    case PVRManager::Msg_ReplyGamepadVibrateHaptic__ID:
746
0
        {
747
0
            if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
748
0
                mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
749
0
            }
750
0
            AUTO_PROFILER_LABEL("PVRManager::Msg_ReplyGamepadVibrateHaptic", OTHER);
751
0
752
0
            PickleIterator iter__(msg__);
753
0
            uint32_t aPromiseID;
754
0
755
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aPromiseID)))))) {
756
0
                FatalError("Error deserializing 'uint32_t'");
757
0
                return MsgValueError;
758
0
            }
759
0
            // Sentinel = 'aPromiseID'
760
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1396174117)))) {
761
0
                mozilla::ipc::SentinelReadError("Error deserializing 'uint32_t'");
762
0
                return MsgValueError;
763
0
            }
764
0
            (msg__).EndRead(iter__, (msg__).type());
765
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
766
0
                FatalError("Transition error");
767
0
                return MsgValueError;
768
0
            }
769
0
            if ((!(RecvReplyGamepadVibrateHaptic(aPromiseID)))) {
770
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
771
0
                // Error handled in mozilla::ipc::IPCResult
772
0
                return MsgProcessingError;
773
0
            }
774
0
775
0
            return MsgProcessed;
776
0
        }
777
0
    case PVRManager::Msg_ReplyCreateVRServiceTestDisplay__ID:
778
0
        {
779
0
            if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
780
0
                mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
781
0
            }
782
0
            AUTO_PROFILER_LABEL("PVRManager::Msg_ReplyCreateVRServiceTestDisplay", OTHER);
783
0
784
0
            PickleIterator iter__(msg__);
785
0
            nsCString aID;
786
0
            uint32_t aPromiseID;
787
0
            uint32_t aDeviceID;
788
0
789
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aID)))))) {
790
0
                FatalError("Error deserializing 'nsCString'");
791
0
                return MsgValueError;
792
0
            }
793
0
            // Sentinel = 'aID'
794
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2735041849)))) {
795
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsCString'");
796
0
                return MsgValueError;
797
0
            }
798
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aPromiseID)))))) {
799
0
                FatalError("Error deserializing 'uint32_t'");
800
0
                return MsgValueError;
801
0
            }
802
0
            // Sentinel = 'aPromiseID'
803
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1396174117)))) {
804
0
                mozilla::ipc::SentinelReadError("Error deserializing 'uint32_t'");
805
0
                return MsgValueError;
806
0
            }
807
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aDeviceID)))))) {
808
0
                FatalError("Error deserializing 'uint32_t'");
809
0
                return MsgValueError;
810
0
            }
811
0
            // Sentinel = 'aDeviceID'
812
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1963457757)))) {
813
0
                mozilla::ipc::SentinelReadError("Error deserializing 'uint32_t'");
814
0
                return MsgValueError;
815
0
            }
816
0
            (msg__).EndRead(iter__, (msg__).type());
817
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
818
0
                FatalError("Transition error");
819
0
                return MsgValueError;
820
0
            }
821
0
            if ((!(RecvReplyCreateVRServiceTestDisplay(aID, aPromiseID, aDeviceID)))) {
822
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
823
0
                // Error handled in mozilla::ipc::IPCResult
824
0
                return MsgProcessingError;
825
0
            }
826
0
827
0
            return MsgProcessed;
828
0
        }
829
0
    case PVRManager::Msg_ReplyCreateVRServiceTestController__ID:
830
0
        {
831
0
            if (mozilla::ipc::LoggingEnabledFor("PVRManagerChild")) {
832
0
                mozilla::ipc::LogMessageForProtocol("PVRManagerChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
833
0
            }
834
0
            AUTO_PROFILER_LABEL("PVRManager::Msg_ReplyCreateVRServiceTestController", OTHER);
835
0
836
0
            PickleIterator iter__(msg__);
837
0
            nsCString aID;
838
0
            uint32_t aPromiseID;
839
0
            uint32_t aDeviceID;
840
0
841
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aID)))))) {
842
0
                FatalError("Error deserializing 'nsCString'");
843
0
                return MsgValueError;
844
0
            }
845
0
            // Sentinel = 'aID'
846
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2735041849)))) {
847
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsCString'");
848
0
                return MsgValueError;
849
0
            }
850
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aPromiseID)))))) {
851
0
                FatalError("Error deserializing 'uint32_t'");
852
0
                return MsgValueError;
853
0
            }
854
0
            // Sentinel = 'aPromiseID'
855
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1396174117)))) {
856
0
                mozilla::ipc::SentinelReadError("Error deserializing 'uint32_t'");
857
0
                return MsgValueError;
858
0
            }
859
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aDeviceID)))))) {
860
0
                FatalError("Error deserializing 'uint32_t'");
861
0
                return MsgValueError;
862
0
            }
863
0
            // Sentinel = 'aDeviceID'
864
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1963457757)))) {
865
0
                mozilla::ipc::SentinelReadError("Error deserializing 'uint32_t'");
866
0
                return MsgValueError;
867
0
            }
868
0
            (msg__).EndRead(iter__, (msg__).type());
869
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
870
0
                FatalError("Transition error");
871
0
                return MsgValueError;
872
0
            }
873
0
            if ((!(RecvReplyCreateVRServiceTestController(aID, aPromiseID, aDeviceID)))) {
874
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
875
0
                // Error handled in mozilla::ipc::IPCResult
876
0
                return MsgProcessingError;
877
0
            }
878
0
879
0
            return MsgProcessed;
880
0
        }
881
0
    default:
882
0
        {
883
0
            return MsgNotKnown;
884
0
        }
885
0
    case SHMEM_CREATED_MESSAGE_TYPE:
886
0
        {
887
0
            if ((!(ShmemCreated(msg__)))) {
888
0
                return MsgPayloadError;
889
0
            }
890
0
            return MsgProcessed;
891
0
        }
892
0
    case SHMEM_DESTROYED_MESSAGE_TYPE:
893
0
        {
894
0
            if ((!(ShmemDestroyed(msg__)))) {
895
0
                return MsgPayloadError;
896
0
            }
897
0
            return MsgProcessed;
898
0
        }
899
0
    }
900
0
}
901
902
auto PVRManagerChild::OnMessageReceived(
903
        const Message& msg__,
904
        Message*& reply__) -> PVRManagerChild::Result
905
0
{
906
0
    int32_t route__ = (msg__).routing_id();
907
0
    if ((MSG_ROUTING_CONTROL) != (route__)) {
908
0
        IProtocol* routed__ = Lookup(route__);
909
0
        if ((!(routed__))) {
910
0
            return MsgRouteError;
911
0
        }
912
0
        return (routed__)->OnMessageReceived(msg__, reply__);
913
0
    }
914
0
915
0
    return MsgNotKnown;
916
0
}
917
918
auto PVRManagerChild::OnCallReceived(
919
        const Message& msg__,
920
        Message*& reply__) -> PVRManagerChild::Result
921
0
{
922
0
    MOZ_ASSERT_UNREACHABLE("message protocol not supported");
923
0
    return MsgNotKnown;
924
0
}
925
926
auto PVRManagerChild::GetProtocolTypeId() -> int32_t
927
0
{
928
0
    return PVRManagerMsgStart;
929
0
}
930
931
auto PVRManagerChild::OnChannelClose() -> void
932
0
{
933
0
    DestroySubtree(NormalShutdown);
934
0
    DeallocSubtree();
935
0
    DeallocShmems();
936
0
    DeallocPVRManagerChild();
937
0
}
938
939
auto PVRManagerChild::OnChannelError() -> void
940
0
{
941
0
    DestroySubtree(AbnormalShutdown);
942
0
    DeallocSubtree();
943
0
    DeallocShmems();
944
0
    DeallocPVRManagerChild();
945
0
}
946
947
auto PVRManagerChild::DestroySubtree(ActorDestroyReason why) -> void
948
0
{
949
0
    ActorDestroyReason subtreewhy = (((why) == (Deletion)) || ((why) == (FailedConstructor)) ? AncestorDeletion : why);
950
0
951
0
    {
952
0
        // Recursively shutting down PVRLayer kids
953
0
        nsTArray<PVRLayerChild*> kids;
954
0
        // Accumulate kids into a stable structure to iterate over
955
0
        ManagedPVRLayerChild(kids);
956
0
        for (auto& kid : kids) {
957
0
            // Guarding against a child removing a sibling from the list during the iteration.
958
0
            if ((mManagedPVRLayerChild).Contains(kid)) {
959
0
                (kid)->DestroySubtree(subtreewhy);
960
0
            }
961
0
        }
962
0
    }
963
0
964
0
    // Reject owning pending responses.
965
0
    (GetIPCChannel())->RejectPendingResponsesForActor(this);
966
0
967
0
    // Finally, destroy "us".
968
0
    ActorDestroy(why);
969
0
}
970
971
auto PVRManagerChild::DeallocSubtree() -> void
972
0
{
973
0
    {
974
0
        // Recursively deleting PVRLayer kids
975
0
        for (auto iter = (mManagedPVRLayerChild).Iter(); (!((iter).Done())); (iter).Next()) {
976
0
            (((iter).Get())->GetKey())->DeallocSubtree();
977
0
        }
978
0
979
0
        for (auto iter = (mManagedPVRLayerChild).Iter(); (!((iter).Done())); (iter).Next()) {
980
0
            DeallocPVRLayerChild(((iter).Get())->GetKey());
981
0
        }
982
0
        (mManagedPVRLayerChild).Clear();
983
0
    }
984
0
}
985
986
auto PVRManagerChild::DeallocPVRManagerChild() -> void
987
0
{
988
0
}
989
990
991
992
} // namespace gfx
993
} // namespace mozilla
994
namespace mozilla {
995
namespace ipc {
996
auto IPDLParamTraits<mozilla::gfx::PVRManagerChild>::Write(
997
        IPC::Message* aMsg,
998
        mozilla::ipc::IProtocol* aActor,
999
        const paramType& aVar) -> void
1000
0
{
1001
0
    int32_t id;
1002
0
    if ((!(aVar))) {
1003
0
        id = 0;
1004
0
    }
1005
0
    else {
1006
0
        id = (aVar)->Id();
1007
0
        if ((1) == (id)) {
1008
0
            (aActor)->FatalError("actor has been |delete|d");
1009
0
        }
1010
0
    }
1011
0
    WriteIPDLParam(aMsg, aActor, id);
1012
0
}
1013
1014
auto IPDLParamTraits<mozilla::gfx::PVRManagerChild>::Read(
1015
        const IPC::Message* aMsg,
1016
        PickleIterator* aIter,
1017
        mozilla::ipc::IProtocol* aActor,
1018
        paramType* aVar) -> bool
1019
0
{
1020
0
    mozilla::Maybe<mozilla::ipc::IProtocol*> actor = (aActor)->ReadActor(aMsg, aIter, true, "PVRManager", PVRManagerMsgStart);
1021
0
    if ((actor).isNothing()) {
1022
0
        return false;
1023
0
    }
1024
0
1025
0
    (*(aVar)) = static_cast<mozilla::gfx::PVRManagerChild*>((actor).value());
1026
0
    return true;
1027
0
}
1028
1029
} // namespace ipc
1030
} // namespace mozilla