1 : //
2 : // Automatically generated by ipdlc.
3 : // Edit at your own risk
4 : //
5 :
6 :
7 : #include "mozilla/net/PWebSocketParent.h"
8 :
9 : #include "mozilla/net/PNeckoParent.h"
10 : #include "mozilla/dom/PBrowserParent.h"
11 :
12 : typedef IPC::Message Message;
13 : typedef mozilla::ipc::RPCChannel Channel;
14 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
15 : typedef base::ProcessHandle ProcessHandle;
16 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
17 : typedef mozilla::ipc::SharedMemory SharedMemory;
18 : typedef mozilla::ipc::Trigger Trigger;
19 : typedef mozilla::ipc::ActorHandle ActorHandle;
20 : typedef mozilla::ipc::Shmem Shmem;
21 : typedef IPC::URI URI;
22 : typedef IPC::InputStream InputStream;
23 : using mozilla::net::PNeckoParent;
24 : using mozilla::dom::PBrowserParent;
25 :
26 : namespace mozilla {
27 : namespace net {
28 :
29 :
30 : void
31 0 : PWebSocketParent::ActorDestroy(ActorDestroyReason why)
32 : {
33 0 : }
34 :
35 0 : PWebSocketParent::PWebSocketParent() :
36 : mId(0),
37 0 : mState(PWebSocket::__Dead)
38 : {
39 0 : MOZ_COUNT_CTOR(PWebSocketParent);
40 0 : }
41 :
42 0 : PWebSocketParent::~PWebSocketParent()
43 : {
44 0 : MOZ_COUNT_DTOR(PWebSocketParent);
45 0 : }
46 :
47 : PNeckoParent*
48 0 : PWebSocketParent::Manager()
49 : {
50 0 : return static_cast<PNeckoParent*>(mManager);
51 : }
52 :
53 : PWebSocket::State
54 0 : PWebSocketParent::state()
55 : {
56 0 : return mState;
57 : }
58 :
59 : bool
60 0 : PWebSocketParent::SendOnStart(
61 : const nsCString& aProtocol,
62 : const nsCString& aExtensions)
63 : {
64 0 : PWebSocket::Msg_OnStart* __msg = new PWebSocket::Msg_OnStart();
65 :
66 0 : Write(aProtocol, __msg);
67 0 : Write(aExtensions, __msg);
68 :
69 0 : (__msg)->set_routing_id(mId);
70 :
71 :
72 :
73 0 : if (mozilla::ipc::LoggingEnabled()) {
74 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
75 : }
76 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Send, PWebSocket::Msg_OnStart__ID), (&(mState)))))) {
77 0 : NS_WARNING("bad state transition!");
78 : }
79 :
80 0 : bool __sendok = (mChannel)->Send(__msg);
81 0 : return __sendok;
82 : }
83 :
84 : bool
85 0 : PWebSocketParent::SendOnStop(const nsresult& aStatusCode)
86 : {
87 0 : PWebSocket::Msg_OnStop* __msg = new PWebSocket::Msg_OnStop();
88 :
89 0 : Write(aStatusCode, __msg);
90 :
91 0 : (__msg)->set_routing_id(mId);
92 :
93 :
94 :
95 0 : if (mozilla::ipc::LoggingEnabled()) {
96 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
97 : }
98 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Send, PWebSocket::Msg_OnStop__ID), (&(mState)))))) {
99 0 : NS_WARNING("bad state transition!");
100 : }
101 :
102 0 : bool __sendok = (mChannel)->Send(__msg);
103 0 : return __sendok;
104 : }
105 :
106 : bool
107 0 : PWebSocketParent::SendOnMessageAvailable(const nsCString& aMsg)
108 : {
109 0 : PWebSocket::Msg_OnMessageAvailable* __msg = new PWebSocket::Msg_OnMessageAvailable();
110 :
111 0 : Write(aMsg, __msg);
112 :
113 0 : (__msg)->set_routing_id(mId);
114 :
115 :
116 :
117 0 : if (mozilla::ipc::LoggingEnabled()) {
118 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
119 : }
120 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Send, PWebSocket::Msg_OnMessageAvailable__ID), (&(mState)))))) {
121 0 : NS_WARNING("bad state transition!");
122 : }
123 :
124 0 : bool __sendok = (mChannel)->Send(__msg);
125 0 : return __sendok;
126 : }
127 :
128 : bool
129 0 : PWebSocketParent::SendOnBinaryMessageAvailable(const nsCString& aMsg)
130 : {
131 0 : PWebSocket::Msg_OnBinaryMessageAvailable* __msg = new PWebSocket::Msg_OnBinaryMessageAvailable();
132 :
133 0 : Write(aMsg, __msg);
134 :
135 0 : (__msg)->set_routing_id(mId);
136 :
137 :
138 :
139 0 : if (mozilla::ipc::LoggingEnabled()) {
140 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
141 : }
142 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Send, PWebSocket::Msg_OnBinaryMessageAvailable__ID), (&(mState)))))) {
143 0 : NS_WARNING("bad state transition!");
144 : }
145 :
146 0 : bool __sendok = (mChannel)->Send(__msg);
147 0 : return __sendok;
148 : }
149 :
150 : bool
151 0 : PWebSocketParent::SendOnAcknowledge(const PRUint32& aSize)
152 : {
153 0 : PWebSocket::Msg_OnAcknowledge* __msg = new PWebSocket::Msg_OnAcknowledge();
154 :
155 0 : Write(aSize, __msg);
156 :
157 0 : (__msg)->set_routing_id(mId);
158 :
159 :
160 :
161 0 : if (mozilla::ipc::LoggingEnabled()) {
162 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
163 : }
164 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Send, PWebSocket::Msg_OnAcknowledge__ID), (&(mState)))))) {
165 0 : NS_WARNING("bad state transition!");
166 : }
167 :
168 0 : bool __sendok = (mChannel)->Send(__msg);
169 0 : return __sendok;
170 : }
171 :
172 : bool
173 0 : PWebSocketParent::SendOnServerClose(
174 : const PRUint16& code,
175 : const nsCString& aReason)
176 : {
177 0 : PWebSocket::Msg_OnServerClose* __msg = new PWebSocket::Msg_OnServerClose();
178 :
179 0 : Write(code, __msg);
180 0 : Write(aReason, __msg);
181 :
182 0 : (__msg)->set_routing_id(mId);
183 :
184 :
185 :
186 0 : if (mozilla::ipc::LoggingEnabled()) {
187 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
188 : }
189 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Send, PWebSocket::Msg_OnServerClose__ID), (&(mState)))))) {
190 0 : NS_WARNING("bad state transition!");
191 : }
192 :
193 0 : bool __sendok = (mChannel)->Send(__msg);
194 0 : return __sendok;
195 : }
196 :
197 : bool
198 0 : PWebSocketParent::Send__delete__(PWebSocketParent* actor)
199 : {
200 0 : if ((!(actor))) {
201 0 : return false;
202 : }
203 :
204 0 : if ((!(actor))) {
205 0 : return false;
206 : }
207 :
208 0 : PWebSocket::Msg___delete__* __msg = new PWebSocket::Msg___delete__();
209 :
210 0 : (actor)->Write(actor, __msg, false);
211 :
212 0 : (__msg)->set_routing_id((actor)->mId);
213 :
214 :
215 0 : if (mozilla::ipc::LoggingEnabled()) {
216 0 : (__msg)->Log("[PWebSocketParent] Sending ", stderr);
217 : }
218 0 : if ((!(PWebSocket::Transition((actor)->mState, Trigger(Trigger::Send, PWebSocket::Msg___delete____ID), (&((actor)->mState)))))) {
219 0 : NS_WARNING("bad state transition!");
220 : }
221 :
222 0 : bool __sendok = ((actor)->mChannel)->Send(__msg);
223 :
224 0 : (actor)->DestroySubtree(Deletion);
225 0 : (actor)->DeallocSubtree();
226 0 : ((actor)->mManager)->RemoveManagee(PWebSocketMsgStart, actor);
227 0 : return __sendok;
228 : }
229 :
230 : int32
231 0 : PWebSocketParent::Register(ChannelListener* aRouted)
232 : {
233 0 : return (mManager)->Register(aRouted);
234 : }
235 :
236 : int32
237 0 : PWebSocketParent::RegisterID(
238 : ChannelListener* aRouted,
239 : int32 aId)
240 : {
241 0 : return (mManager)->RegisterID(aRouted, aId);
242 : }
243 :
244 : ChannelListener*
245 0 : PWebSocketParent::Lookup(int32 aId)
246 : {
247 0 : return (mManager)->Lookup(aId);
248 : }
249 :
250 : void
251 0 : PWebSocketParent::Unregister(int32 aId)
252 : {
253 0 : return (mManager)->Unregister(aId);
254 : }
255 :
256 : void
257 0 : PWebSocketParent::RemoveManagee(
258 : int32 aProtocolId,
259 : ChannelListener* aListener)
260 : {
261 0 : NS_RUNTIMEABORT("unreached");
262 : return;
263 : }
264 :
265 : Shmem::SharedMemory*
266 0 : PWebSocketParent::CreateSharedMemory(
267 : size_t aSize,
268 : Shmem::SharedMemory::SharedMemoryType type,
269 : bool unsafe,
270 : Shmem::id_t* aId)
271 : {
272 0 : return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
273 : }
274 :
275 : bool
276 0 : PWebSocketParent::AdoptSharedMemory(
277 : Shmem::SharedMemory* segment,
278 : Shmem::id_t* aId)
279 : {
280 0 : return (mManager)->AdoptSharedMemory(segment, aId);
281 : }
282 :
283 : Shmem::SharedMemory*
284 0 : PWebSocketParent::LookupSharedMemory(Shmem::id_t aId)
285 : {
286 0 : return (mManager)->LookupSharedMemory(aId);
287 : }
288 :
289 : bool
290 0 : PWebSocketParent::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
291 : {
292 0 : return (mManager)->IsTrackingSharedMemory(segment);
293 : }
294 :
295 : bool
296 0 : PWebSocketParent::DestroySharedMemory(Shmem& aShmem)
297 : {
298 0 : return (mManager)->DestroySharedMemory(aShmem);
299 : }
300 :
301 : ProcessHandle
302 0 : PWebSocketParent::OtherProcess() const
303 : {
304 0 : return (mManager)->OtherProcess();
305 : }
306 :
307 : AsyncChannel*
308 0 : PWebSocketParent::GetIPCChannel()
309 : {
310 0 : return mChannel;
311 : }
312 :
313 : PWebSocketParent::Result
314 0 : PWebSocketParent::OnMessageReceived(const Message& __msg)
315 : {
316 0 : switch ((__msg).type()) {
317 : case PWebSocket::Msg_AsyncOpen__ID:
318 : {
319 0 : (const_cast<Message&>(__msg)).set_name("PWebSocket::Msg_AsyncOpen");
320 0 : if (mozilla::ipc::LoggingEnabled()) {
321 0 : (static_cast<const PWebSocket::Msg_AsyncOpen*>((&(__msg))))->Log("[PWebSocketParent] Received ", stderr);
322 : }
323 :
324 0 : void* __iter = 0;
325 0 : URI aURI;
326 0 : nsCString aOrigin;
327 0 : nsCString aProtocol;
328 : bool aSecure;
329 :
330 0 : if ((!(Read((&(aURI)), (&(__msg)), (&(__iter)))))) {
331 0 : FatalError("error deserializing (better message TODO)");
332 0 : return MsgValueError;
333 : }
334 0 : if ((!(Read((&(aOrigin)), (&(__msg)), (&(__iter)))))) {
335 0 : FatalError("error deserializing (better message TODO)");
336 0 : return MsgValueError;
337 : }
338 0 : if ((!(Read((&(aProtocol)), (&(__msg)), (&(__iter)))))) {
339 0 : FatalError("error deserializing (better message TODO)");
340 0 : return MsgValueError;
341 : }
342 0 : if ((!(Read((&(aSecure)), (&(__msg)), (&(__iter)))))) {
343 0 : FatalError("error deserializing (better message TODO)");
344 0 : return MsgValueError;
345 : }
346 0 : (__msg).EndRead(__iter);
347 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Recv, PWebSocket::Msg_AsyncOpen__ID), (&(mState)))))) {
348 0 : NS_WARNING("bad state transition!");
349 : }
350 0 : if ((!(RecvAsyncOpen(aURI, aOrigin, aProtocol, aSecure)))) {
351 0 : return MsgProcessingError;
352 : }
353 :
354 0 : return MsgProcessed;
355 : }
356 : case PWebSocket::Msg_Close__ID:
357 : {
358 0 : (const_cast<Message&>(__msg)).set_name("PWebSocket::Msg_Close");
359 0 : if (mozilla::ipc::LoggingEnabled()) {
360 0 : (static_cast<const PWebSocket::Msg_Close*>((&(__msg))))->Log("[PWebSocketParent] Received ", stderr);
361 : }
362 :
363 0 : void* __iter = 0;
364 : PRUint16 code;
365 0 : nsCString reason;
366 :
367 0 : if ((!(Read((&(code)), (&(__msg)), (&(__iter)))))) {
368 0 : FatalError("error deserializing (better message TODO)");
369 0 : return MsgValueError;
370 : }
371 0 : if ((!(Read((&(reason)), (&(__msg)), (&(__iter)))))) {
372 0 : FatalError("error deserializing (better message TODO)");
373 0 : return MsgValueError;
374 : }
375 0 : (__msg).EndRead(__iter);
376 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Recv, PWebSocket::Msg_Close__ID), (&(mState)))))) {
377 0 : NS_WARNING("bad state transition!");
378 : }
379 0 : if ((!(RecvClose(code, reason)))) {
380 0 : return MsgProcessingError;
381 : }
382 :
383 0 : return MsgProcessed;
384 : }
385 : case PWebSocket::Msg_SendMsg__ID:
386 : {
387 0 : (const_cast<Message&>(__msg)).set_name("PWebSocket::Msg_SendMsg");
388 0 : if (mozilla::ipc::LoggingEnabled()) {
389 0 : (static_cast<const PWebSocket::Msg_SendMsg*>((&(__msg))))->Log("[PWebSocketParent] Received ", stderr);
390 : }
391 :
392 0 : void* __iter = 0;
393 0 : nsCString aMsg;
394 :
395 0 : if ((!(Read((&(aMsg)), (&(__msg)), (&(__iter)))))) {
396 0 : FatalError("error deserializing (better message TODO)");
397 0 : return MsgValueError;
398 : }
399 0 : (__msg).EndRead(__iter);
400 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Recv, PWebSocket::Msg_SendMsg__ID), (&(mState)))))) {
401 0 : NS_WARNING("bad state transition!");
402 : }
403 0 : if ((!(RecvSendMsg(aMsg)))) {
404 0 : return MsgProcessingError;
405 : }
406 :
407 0 : return MsgProcessed;
408 : }
409 : case PWebSocket::Msg_SendBinaryMsg__ID:
410 : {
411 0 : (const_cast<Message&>(__msg)).set_name("PWebSocket::Msg_SendBinaryMsg");
412 0 : if (mozilla::ipc::LoggingEnabled()) {
413 0 : (static_cast<const PWebSocket::Msg_SendBinaryMsg*>((&(__msg))))->Log("[PWebSocketParent] Received ", stderr);
414 : }
415 :
416 0 : void* __iter = 0;
417 0 : nsCString aMsg;
418 :
419 0 : if ((!(Read((&(aMsg)), (&(__msg)), (&(__iter)))))) {
420 0 : FatalError("error deserializing (better message TODO)");
421 0 : return MsgValueError;
422 : }
423 0 : (__msg).EndRead(__iter);
424 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Recv, PWebSocket::Msg_SendBinaryMsg__ID), (&(mState)))))) {
425 0 : NS_WARNING("bad state transition!");
426 : }
427 0 : if ((!(RecvSendBinaryMsg(aMsg)))) {
428 0 : return MsgProcessingError;
429 : }
430 :
431 0 : return MsgProcessed;
432 : }
433 : case PWebSocket::Msg_SendBinaryStream__ID:
434 : {
435 0 : (const_cast<Message&>(__msg)).set_name("PWebSocket::Msg_SendBinaryStream");
436 0 : if (mozilla::ipc::LoggingEnabled()) {
437 0 : (static_cast<const PWebSocket::Msg_SendBinaryStream*>((&(__msg))))->Log("[PWebSocketParent] Received ", stderr);
438 : }
439 :
440 0 : void* __iter = 0;
441 0 : InputStream aStream;
442 : PRUint32 aLength;
443 :
444 0 : if ((!(Read((&(aStream)), (&(__msg)), (&(__iter)))))) {
445 0 : FatalError("error deserializing (better message TODO)");
446 0 : return MsgValueError;
447 : }
448 0 : if ((!(Read((&(aLength)), (&(__msg)), (&(__iter)))))) {
449 0 : FatalError("error deserializing (better message TODO)");
450 0 : return MsgValueError;
451 : }
452 0 : (__msg).EndRead(__iter);
453 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Recv, PWebSocket::Msg_SendBinaryStream__ID), (&(mState)))))) {
454 0 : NS_WARNING("bad state transition!");
455 : }
456 0 : if ((!(RecvSendBinaryStream(aStream, aLength)))) {
457 0 : return MsgProcessingError;
458 : }
459 :
460 0 : return MsgProcessed;
461 : }
462 : case PWebSocket::Msg_DeleteSelf__ID:
463 : {
464 0 : (const_cast<Message&>(__msg)).set_name("PWebSocket::Msg_DeleteSelf");
465 0 : if (mozilla::ipc::LoggingEnabled()) {
466 0 : (static_cast<const PWebSocket::Msg_DeleteSelf*>((&(__msg))))->Log("[PWebSocketParent] Received ", stderr);
467 : }
468 :
469 0 : if ((!(PWebSocket::Transition(mState, Trigger(Trigger::Recv, PWebSocket::Msg_DeleteSelf__ID), (&(mState)))))) {
470 0 : NS_WARNING("bad state transition!");
471 : }
472 0 : if ((!(RecvDeleteSelf()))) {
473 0 : return MsgProcessingError;
474 : }
475 :
476 0 : return MsgProcessed;
477 : }
478 : case PWebSocket::Reply___delete____ID:
479 : {
480 0 : return MsgProcessed;
481 : }
482 : default:
483 : {
484 0 : return MsgNotKnown;
485 : }
486 : }
487 : }
488 :
489 : PWebSocketParent::Result
490 0 : PWebSocketParent::OnMessageReceived(
491 : const Message& __msg,
492 : Message*& __reply)
493 : {
494 0 : return MsgNotKnown;
495 : }
496 :
497 : PWebSocketParent::Result
498 0 : PWebSocketParent::OnCallReceived(
499 : const Message& __msg,
500 : Message*& __reply)
501 : {
502 0 : return MsgNotKnown;
503 : }
504 :
505 : void
506 0 : PWebSocketParent::OnProcessingError(Result code)
507 : {
508 0 : NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
509 0 : }
510 :
511 : bool
512 0 : PWebSocketParent::OnReplyTimeout()
513 : {
514 0 : NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
515 0 : return false;
516 : }
517 :
518 : void
519 0 : PWebSocketParent::OnChannelClose()
520 : {
521 0 : NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
522 0 : }
523 :
524 : void
525 0 : PWebSocketParent::OnChannelError()
526 : {
527 0 : NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
528 0 : }
529 :
530 : void
531 0 : PWebSocketParent::OnChannelConnected(int32 pid)
532 : {
533 0 : NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
534 0 : }
535 :
536 : bool
537 0 : PWebSocketParent::AllocShmem(
538 : size_t aSize,
539 : Shmem::SharedMemory::SharedMemoryType aType,
540 : Shmem* aMem)
541 : {
542 : Shmem::id_t aId;
543 0 : nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
544 0 : if ((!(rawmem))) {
545 0 : return false;
546 : }
547 :
548 0 : (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
549 0 : return true;
550 : }
551 :
552 : bool
553 0 : PWebSocketParent::AllocUnsafeShmem(
554 : size_t aSize,
555 : Shmem::SharedMemory::SharedMemoryType aType,
556 : Shmem* aMem)
557 : {
558 : Shmem::id_t aId;
559 0 : nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
560 0 : if ((!(rawmem))) {
561 0 : return false;
562 : }
563 :
564 0 : (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
565 0 : return true;
566 : }
567 :
568 : bool
569 0 : PWebSocketParent::AdoptShmem(
570 : Shmem& aMem,
571 : Shmem* aOutMem)
572 : {
573 0 : Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
574 0 : if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
575 0 : NS_RUNTIMEABORT("bad Shmem");
576 : }
577 :
578 : Shmem::id_t aId;
579 0 : if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
580 0 : return false;
581 : }
582 :
583 0 : (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
584 0 : return true;
585 : }
586 :
587 : bool
588 0 : PWebSocketParent::DeallocShmem(Shmem& aMem)
589 : {
590 0 : bool ok = DestroySharedMemory(aMem);
591 0 : (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
592 0 : return ok;
593 : }
594 :
595 : void
596 0 : PWebSocketParent::FatalError(const char* const msg) const
597 : {
598 : // Virtual method to prevent inlining.
599 : // This give us better error reporting.
600 : // See bug 589371
601 :
602 0 : NS_ERROR("IPDL error:");
603 0 : NS_ERROR(msg);
604 :
605 0 : NS_ERROR("[PWebSocketParent] killing child side as a result");
606 :
607 0 : if ((!(base::KillProcess(OtherProcess(), base::PROCESS_END_KILLED_BY_USER, false)))) {
608 0 : NS_ERROR(" may have failed to kill child!");
609 : }
610 0 : }
611 :
612 : void
613 0 : PWebSocketParent::DestroySubtree(ActorDestroyReason why)
614 : {
615 : // Unregister from our manager.
616 0 : Unregister(mId);
617 0 : mId = 1;
618 :
619 : // Finally, destroy "us".
620 0 : ActorDestroy(why);
621 0 : }
622 :
623 : void
624 0 : PWebSocketParent::DeallocSubtree()
625 : {
626 0 : }
627 :
628 : void
629 0 : PWebSocketParent::Write(
630 : PWebSocketParent* __v,
631 : Message* __msg,
632 : bool __nullable)
633 : {
634 : int32 id;
635 0 : if ((!(__v))) {
636 0 : if ((!(__nullable))) {
637 0 : NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
638 : }
639 0 : id = 0;
640 : }
641 : else {
642 0 : id = (__v)->mId;
643 0 : if ((1) == (id)) {
644 0 : NS_RUNTIMEABORT("actor has been |delete|d");
645 : }
646 : }
647 :
648 0 : Write(id, __msg);
649 0 : }
650 :
651 : bool
652 0 : PWebSocketParent::Read(
653 : PWebSocketParent** __v,
654 : const Message* __msg,
655 : void** __iter,
656 : bool __nullable)
657 : {
658 : int32 id;
659 0 : if ((!(Read((&(id)), __msg, __iter)))) {
660 0 : return false;
661 : }
662 0 : if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
663 0 : return false;
664 : }
665 :
666 0 : if ((0) == (id)) {
667 0 : (*(__v)) = 0;
668 : }
669 : else {
670 0 : (*(__v)) = static_cast<PWebSocketParent*>(Lookup(id));
671 0 : if ((!((*(__v))))) {
672 0 : return false;
673 : }
674 : }
675 0 : return true;
676 : }
677 :
678 :
679 :
680 : } // namespace net
681 : } // namespace mozilla
|