Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/ipc/ipdl/PRemotePrintJobParent.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/layout/PRemotePrintJobParent.h"
8
9
#include "mozilla/embedding/PPrintingParent.h"
10
11
#include "nsIFile.h"
12
#include "GeckoProfiler.h"
13
14
namespace mozilla {
15
namespace layout {
16
17
18
auto PRemotePrintJobParent::ActorDestroy(ActorDestroyReason aWhy) -> void
19
0
{
20
0
}
21
22
MOZ_IMPLICIT PRemotePrintJobParent::PRemotePrintJobParent() :
23
    mozilla::ipc::IProtocol(mozilla::ipc::ParentSide),
24
    mLivenessState(mozilla::ipc::LivenessState::Dead)
25
0
{
26
0
    MOZ_COUNT_CTOR(PRemotePrintJobParent);
27
0
}
28
29
PRemotePrintJobParent::~PRemotePrintJobParent()
30
0
{
31
0
    MOZ_COUNT_DTOR(PRemotePrintJobParent);
32
0
}
33
34
auto PRemotePrintJobParent::Manager() const -> PPrintingParent*
35
0
{
36
0
    return static_cast<PPrintingParent*>(IProtocol::Manager());
37
0
}
38
39
auto PRemotePrintJobParent::SendAbortPrint(const nsresult& aRv) -> bool
40
0
{
41
0
    IPC::Message* msg__ = PRemotePrintJob::Msg_AbortPrint(Id());
42
0
43
0
    WriteIPDLParam(msg__, this, aRv);
44
0
    // Sentinel = 'aRv'
45
0
    (msg__)->WriteSentinel(2742041894);
46
0
47
0
48
0
49
0
50
0
    if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
51
0
        mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
52
0
    }
53
0
    AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_AbortPrint", OTHER);
54
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
55
0
        mozilla::ipc::LogicError("Transition error");
56
0
    }
57
0
58
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
59
0
    return sendok__;
60
0
}
61
62
auto PRemotePrintJobParent::SendPrintInitializationResult(
63
        const nsresult& aRv,
64
        const FileDescriptor& aFd) -> bool
65
0
{
66
0
    IPC::Message* msg__ = PRemotePrintJob::Msg_PrintInitializationResult(Id());
67
0
68
0
    WriteIPDLParam(msg__, this, aRv);
69
0
    // Sentinel = 'aRv'
70
0
    (msg__)->WriteSentinel(2742041894);
71
0
    WriteIPDLParam(msg__, this, aFd);
72
0
    // Sentinel = 'aFd'
73
0
    (msg__)->WriteSentinel(2730041928);
74
0
75
0
76
0
77
0
78
0
    if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
79
0
        mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
80
0
    }
81
0
    AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_PrintInitializationResult", OTHER);
82
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
83
0
        mozilla::ipc::LogicError("Transition error");
84
0
    }
85
0
86
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
87
0
    return sendok__;
88
0
}
89
90
auto PRemotePrintJobParent::SendPageProcessed(const FileDescriptor& aFd) -> bool
91
0
{
92
0
    IPC::Message* msg__ = PRemotePrintJob::Msg_PageProcessed(Id());
93
0
94
0
    WriteIPDLParam(msg__, this, aFd);
95
0
    // Sentinel = 'aFd'
96
0
    (msg__)->WriteSentinel(2730041928);
97
0
98
0
99
0
100
0
101
0
    if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
102
0
        mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
103
0
    }
104
0
    AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_PageProcessed", OTHER);
105
0
    if ((!(StateTransition(false, (&(mLivenessState)))))) {
106
0
        mozilla::ipc::LogicError("Transition error");
107
0
    }
108
0
109
0
    bool sendok__ = (GetIPCChannel())->Send(msg__);
110
0
    return sendok__;
111
0
}
112
113
auto PRemotePrintJobParent::Send__delete__(PRemotePrintJobParent* actor) -> bool
114
0
{
115
0
    if ((!(actor))) {
116
0
        return false;
117
0
    }
118
0
119
0
    IPC::Message* msg__ = PRemotePrintJob::Msg___delete__((actor)->Id());
120
0
121
0
    MOZ_RELEASE_ASSERT(actor, "NULL actor value passed to non-nullable param");
122
0
    WriteIPDLParam(msg__, actor, actor);
123
0
    // Sentinel = 'actor'
124
0
    (msg__)->WriteSentinel(875202478);
125
0
126
0
127
0
128
0
    if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
129
0
        mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", (actor)->OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
130
0
    }
131
0
    AUTO_PROFILER_LABEL("PRemotePrintJob::Msg___delete__", OTHER);
132
0
    if ((!(StateTransition(true, (&((actor)->mLivenessState)))))) {
133
0
        mozilla::ipc::LogicError("Transition error");
134
0
    }
135
0
136
0
    bool sendok__ = ((actor)->GetIPCChannel())->Send(msg__);
137
0
138
0
    IProtocol* mgr = (actor)->Manager();
139
0
    (actor)->DestroySubtree(Deletion);
140
0
    (actor)->DeallocSubtree();
141
0
    (mgr)->RemoveManagee(PRemotePrintJobMsgStart, actor);
142
0
    return sendok__;
143
0
}
144
145
auto PRemotePrintJobParent::RemoveManagee(
146
        int32_t aProtocolId,
147
        IProtocol* aListener) -> void
148
0
{
149
0
    FatalError("unreached");
150
0
    return;
151
0
}
152
153
auto PRemotePrintJobParent::OnMessageReceived(const Message& msg__) -> PRemotePrintJobParent::Result
154
0
{
155
0
    switch ((msg__).type()) {
156
0
    case PRemotePrintJob::Msg_AbortPrint__ID:
157
0
        {
158
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
159
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
160
0
            }
161
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_AbortPrint", OTHER);
162
0
163
0
            PickleIterator iter__(msg__);
164
0
            nsresult aRv;
165
0
166
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aRv)))))) {
167
0
                FatalError("Error deserializing 'nsresult'");
168
0
                return MsgValueError;
169
0
            }
170
0
            // Sentinel = 'aRv'
171
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2742041894)))) {
172
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsresult'");
173
0
                return MsgValueError;
174
0
            }
175
0
            (msg__).EndRead(iter__, (msg__).type());
176
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
177
0
                FatalError("Transition error");
178
0
                return MsgValueError;
179
0
            }
180
0
            if ((!(RecvAbortPrint(aRv)))) {
181
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
182
0
                // Error handled in mozilla::ipc::IPCResult
183
0
                return MsgProcessingError;
184
0
            }
185
0
186
0
            return MsgProcessed;
187
0
        }
188
0
    case PRemotePrintJob::Msg_InitializePrint__ID:
189
0
        {
190
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
191
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
192
0
            }
193
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_InitializePrint", OTHER);
194
0
195
0
            PickleIterator iter__(msg__);
196
0
            nsString aDocumentTitle;
197
0
            nsString aPrintToFile;
198
0
            int32_t aStartPage;
199
0
            int32_t aEndPage;
200
0
201
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aDocumentTitle)))))) {
202
0
                FatalError("Error deserializing 'nsString'");
203
0
                return MsgValueError;
204
0
            }
205
0
            // Sentinel = 'aDocumentTitle'
206
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1351873518)))) {
207
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsString'");
208
0
                return MsgValueError;
209
0
            }
210
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aPrintToFile)))))) {
211
0
                FatalError("Error deserializing 'nsString'");
212
0
                return MsgValueError;
213
0
            }
214
0
            // Sentinel = 'aPrintToFile'
215
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 977976703)))) {
216
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsString'");
217
0
                return MsgValueError;
218
0
            }
219
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aStartPage)))))) {
220
0
                FatalError("Error deserializing 'int32_t'");
221
0
                return MsgValueError;
222
0
            }
223
0
            // Sentinel = 'aStartPage'
224
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1865995324)))) {
225
0
                mozilla::ipc::SentinelReadError("Error deserializing 'int32_t'");
226
0
                return MsgValueError;
227
0
            }
228
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aEndPage)))))) {
229
0
                FatalError("Error deserializing 'int32_t'");
230
0
                return MsgValueError;
231
0
            }
232
0
            // Sentinel = 'aEndPage'
233
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2700499489)))) {
234
0
                mozilla::ipc::SentinelReadError("Error deserializing 'int32_t'");
235
0
                return MsgValueError;
236
0
            }
237
0
            (msg__).EndRead(iter__, (msg__).type());
238
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
239
0
                FatalError("Transition error");
240
0
                return MsgValueError;
241
0
            }
242
0
            if ((!(RecvInitializePrint(aDocumentTitle, aPrintToFile, aStartPage, aEndPage)))) {
243
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
244
0
                // Error handled in mozilla::ipc::IPCResult
245
0
                return MsgProcessingError;
246
0
            }
247
0
248
0
            return MsgProcessed;
249
0
        }
250
0
    case PRemotePrintJob::Msg_ProcessPage__ID:
251
0
        {
252
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
253
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
254
0
            }
255
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_ProcessPage", OTHER);
256
0
257
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
258
0
                FatalError("Transition error");
259
0
                return MsgValueError;
260
0
            }
261
0
            if ((!(RecvProcessPage()))) {
262
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
263
0
                // Error handled in mozilla::ipc::IPCResult
264
0
                return MsgProcessingError;
265
0
            }
266
0
267
0
            return MsgProcessed;
268
0
        }
269
0
    case PRemotePrintJob::Msg_FinalizePrint__ID:
270
0
        {
271
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
272
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
273
0
            }
274
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_FinalizePrint", OTHER);
275
0
276
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
277
0
                FatalError("Transition error");
278
0
                return MsgValueError;
279
0
            }
280
0
            if ((!(RecvFinalizePrint()))) {
281
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
282
0
                // Error handled in mozilla::ipc::IPCResult
283
0
                return MsgProcessingError;
284
0
            }
285
0
286
0
            return MsgProcessed;
287
0
        }
288
0
    case PRemotePrintJob::Msg_StateChange__ID:
289
0
        {
290
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
291
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
292
0
            }
293
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_StateChange", OTHER);
294
0
295
0
            PickleIterator iter__(msg__);
296
0
            long aStateFlags;
297
0
            nsresult aStatus;
298
0
299
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aStateFlags)))))) {
300
0
                FatalError("Error deserializing 'long'");
301
0
                return MsgValueError;
302
0
            }
303
0
            // Sentinel = 'aStateFlags'
304
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 4037748614)))) {
305
0
                mozilla::ipc::SentinelReadError("Error deserializing 'long'");
306
0
                return MsgValueError;
307
0
            }
308
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aStatus)))))) {
309
0
                FatalError("Error deserializing 'nsresult'");
310
0
                return MsgValueError;
311
0
            }
312
0
            // Sentinel = 'aStatus'
313
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 236002576)))) {
314
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsresult'");
315
0
                return MsgValueError;
316
0
            }
317
0
            (msg__).EndRead(iter__, (msg__).type());
318
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
319
0
                FatalError("Transition error");
320
0
                return MsgValueError;
321
0
            }
322
0
            if ((!(RecvStateChange(aStateFlags, aStatus)))) {
323
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
324
0
                // Error handled in mozilla::ipc::IPCResult
325
0
                return MsgProcessingError;
326
0
            }
327
0
328
0
            return MsgProcessed;
329
0
        }
330
0
    case PRemotePrintJob::Msg_ProgressChange__ID:
331
0
        {
332
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
333
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
334
0
            }
335
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_ProgressChange", OTHER);
336
0
337
0
            PickleIterator iter__(msg__);
338
0
            long aCurSelfProgress;
339
0
            long aMaxSelfProgress;
340
0
            long aCurTotalProgress;
341
0
            long aMaxTotalProgress;
342
0
343
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aCurSelfProgress)))))) {
344
0
                FatalError("Error deserializing 'long'");
345
0
                return MsgValueError;
346
0
            }
347
0
            // Sentinel = 'aCurSelfProgress'
348
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 3889538918)))) {
349
0
                mozilla::ipc::SentinelReadError("Error deserializing 'long'");
350
0
                return MsgValueError;
351
0
            }
352
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aMaxSelfProgress)))))) {
353
0
                FatalError("Error deserializing 'long'");
354
0
                return MsgValueError;
355
0
            }
356
0
            // Sentinel = 'aMaxSelfProgress'
357
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2579322770)))) {
358
0
                mozilla::ipc::SentinelReadError("Error deserializing 'long'");
359
0
                return MsgValueError;
360
0
            }
361
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aCurTotalProgress)))))) {
362
0
                FatalError("Error deserializing 'long'");
363
0
                return MsgValueError;
364
0
            }
365
0
            // Sentinel = 'aCurTotalProgress'
366
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 3893274129)))) {
367
0
                mozilla::ipc::SentinelReadError("Error deserializing 'long'");
368
0
                return MsgValueError;
369
0
            }
370
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aMaxTotalProgress)))))) {
371
0
                FatalError("Error deserializing 'long'");
372
0
                return MsgValueError;
373
0
            }
374
0
            // Sentinel = 'aMaxTotalProgress'
375
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1178224797)))) {
376
0
                mozilla::ipc::SentinelReadError("Error deserializing 'long'");
377
0
                return MsgValueError;
378
0
            }
379
0
            (msg__).EndRead(iter__, (msg__).type());
380
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
381
0
                FatalError("Transition error");
382
0
                return MsgValueError;
383
0
            }
384
0
            if ((!(RecvProgressChange(aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress)))) {
385
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
386
0
                // Error handled in mozilla::ipc::IPCResult
387
0
                return MsgProcessingError;
388
0
            }
389
0
390
0
            return MsgProcessed;
391
0
        }
392
0
    case PRemotePrintJob::Msg_StatusChange__ID:
393
0
        {
394
0
            if (mozilla::ipc::LoggingEnabledFor("PRemotePrintJobParent")) {
395
0
                mozilla::ipc::LogMessageForProtocol("PRemotePrintJobParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
396
0
            }
397
0
            AUTO_PROFILER_LABEL("PRemotePrintJob::Msg_StatusChange", OTHER);
398
0
399
0
            PickleIterator iter__(msg__);
400
0
            nsresult aStatus;
401
0
402
0
            if ((!(ReadIPDLParam((&(msg__)), (&(iter__)), this, (&(aStatus)))))) {
403
0
                FatalError("Error deserializing 'nsresult'");
404
0
                return MsgValueError;
405
0
            }
406
0
            // Sentinel = 'aStatus'
407
0
            if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 236002576)))) {
408
0
                mozilla::ipc::SentinelReadError("Error deserializing 'nsresult'");
409
0
                return MsgValueError;
410
0
            }
411
0
            (msg__).EndRead(iter__, (msg__).type());
412
0
            if ((!(StateTransition(false, (&(mLivenessState)))))) {
413
0
                FatalError("Transition error");
414
0
                return MsgValueError;
415
0
            }
416
0
            if ((!(RecvStatusChange(aStatus)))) {
417
0
                mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
418
0
                // Error handled in mozilla::ipc::IPCResult
419
0
                return MsgProcessingError;
420
0
            }
421
0
422
0
            return MsgProcessed;
423
0
        }
424
0
    case PRemotePrintJob::Reply___delete____ID:
425
0
        {
426
0
            return MsgProcessed;
427
0
        }
428
0
    default:
429
0
        {
430
0
            return MsgNotKnown;
431
0
        }
432
0
    }
433
0
}
434
435
auto PRemotePrintJobParent::OnMessageReceived(
436
        const Message& msg__,
437
        Message*& reply__) -> PRemotePrintJobParent::Result
438
0
{
439
0
    return MsgNotKnown;
440
0
}
441
442
auto PRemotePrintJobParent::OnCallReceived(
443
        const Message& msg__,
444
        Message*& reply__) -> PRemotePrintJobParent::Result
445
0
{
446
0
    MOZ_ASSERT_UNREACHABLE("message protocol not supported");
447
0
    return MsgNotKnown;
448
0
}
449
450
auto PRemotePrintJobParent::GetProtocolTypeId() -> int32_t
451
0
{
452
0
    return PRemotePrintJobMsgStart;
453
0
}
454
455
auto PRemotePrintJobParent::DestroySubtree(ActorDestroyReason why) -> void
456
0
{
457
0
    // Unregister from our manager.
458
0
    Unregister(Id());
459
0
460
0
    // Reject owning pending responses.
461
0
    (GetIPCChannel())->RejectPendingResponsesForActor(this);
462
0
463
0
    // Finally, destroy "us".
464
0
    ActorDestroy(why);
465
0
}
466
467
auto PRemotePrintJobParent::DeallocSubtree() -> void
468
0
{
469
0
}
470
471
472
473
} // namespace layout
474
} // namespace mozilla
475
namespace mozilla {
476
namespace ipc {
477
auto IPDLParamTraits<mozilla::layout::PRemotePrintJobParent>::Write(
478
        IPC::Message* aMsg,
479
        mozilla::ipc::IProtocol* aActor,
480
        const paramType& aVar) -> void
481
0
{
482
0
    int32_t id;
483
0
    if ((!(aVar))) {
484
0
        id = 0;
485
0
    }
486
0
    else {
487
0
        id = (aVar)->Id();
488
0
        if ((1) == (id)) {
489
0
            (aActor)->FatalError("actor has been |delete|d");
490
0
        }
491
0
    }
492
0
    WriteIPDLParam(aMsg, aActor, id);
493
0
}
494
495
auto IPDLParamTraits<mozilla::layout::PRemotePrintJobParent>::Read(
496
        const IPC::Message* aMsg,
497
        PickleIterator* aIter,
498
        mozilla::ipc::IProtocol* aActor,
499
        paramType* aVar) -> bool
500
0
{
501
0
    mozilla::Maybe<mozilla::ipc::IProtocol*> actor = (aActor)->ReadActor(aMsg, aIter, true, "PRemotePrintJob", PRemotePrintJobMsgStart);
502
0
    if ((actor).isNothing()) {
503
0
        return false;
504
0
    }
505
0
506
0
    (*(aVar)) = static_cast<mozilla::layout::PRemotePrintJobParent*>((actor).value());
507
0
    return true;
508
0
}
509
510
} // namespace ipc
511
} // namespace mozilla