LCOV - code coverage report
Current view: top level - obj-x86_64-pc-linux-gnu/ipc/ipdl - PMessagePortChild.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 1208 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 88 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : // Automatically generated by ipdlc.
       3             : // Edit at your own risk
       4             : //
       5             : 
       6             : 
       7             : #include "mozilla/dom/PMessagePortChild.h"
       8             : #include "ipc/IPCMessageUtils.h"
       9             : 
      10             : #include "mozilla/ipc/PBackgroundChild.h"
      11             : #include "mozilla/ipc/PChildToParentStreamChild.h"
      12             : #include "mozilla/ipc/PFileDescriptorSetChild.h"
      13             : #include "mozilla/ipc/PIPCBlobInputStreamChild.h"
      14             : #include "mozilla/ipc/PParentToChildStreamChild.h"
      15             : 
      16             : #include "nsIFile.h"
      17             : #include "GeckoProfiler.h"
      18             : 
      19             : namespace mozilla {
      20             : namespace dom {
      21             : 
      22             : 
      23           0 : auto PMessagePortChild::Recv__delete__() -> mozilla::ipc::IPCResult
      24             : {
      25           0 :     return IPC_OK();
      26             : }
      27             : 
      28           0 : auto PMessagePortChild::ActorDestroy(ActorDestroyReason aWhy) -> void
      29             : {
      30           0 : }
      31             : 
      32           0 : MOZ_IMPLICIT PMessagePortChild::PMessagePortChild() :
      33             :     mozilla::ipc::IProtocol(mozilla::ipc::ChildSide),
      34           0 :     mState(PMessagePort::__Dead)
      35             : {
      36           0 :     MOZ_COUNT_CTOR(PMessagePortChild);
      37           0 : }
      38             : 
      39           0 : PMessagePortChild::~PMessagePortChild()
      40             : {
      41           0 :     MOZ_COUNT_DTOR(PMessagePortChild);
      42           0 : }
      43             : 
      44           0 : auto PMessagePortChild::Manager() const -> PBackgroundChild*
      45             : {
      46           0 :     return static_cast<PBackgroundChild*>(IProtocol::Manager());
      47             : }
      48             : 
      49           0 : auto PMessagePortChild::SendPostMessages(const nsTArray<ClonedMessageData>& messages) -> bool
      50             : {
      51           0 :     IPC::Message* msg__ = PMessagePort::Msg_PostMessages(Id());
      52             : 
      53           0 :     Write(messages, msg__);
      54             :     // Sentinel = 'messages'
      55           0 :     (msg__)->WriteSentinel(4217553644);
      56             : 
      57             : 
      58             : 
      59             : 
      60           0 :     if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
      61           0 :         mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
      62             :     }
      63           0 :     AUTO_PROFILER_LABEL("PMessagePort::Msg_PostMessages", OTHER);
      64           0 :     PMessagePort::Transition(PMessagePort::Msg_PostMessages__ID, (&(mState)));
      65             : 
      66           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
      67           0 :     return sendok__;
      68             : }
      69             : 
      70           0 : auto PMessagePortChild::SendDisentangle(const nsTArray<ClonedMessageData>& messages) -> bool
      71             : {
      72           0 :     IPC::Message* msg__ = PMessagePort::Msg_Disentangle(Id());
      73             : 
      74           0 :     Write(messages, msg__);
      75             :     // Sentinel = 'messages'
      76           0 :     (msg__)->WriteSentinel(4217553644);
      77             : 
      78             : 
      79             : 
      80             : 
      81           0 :     if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
      82           0 :         mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
      83             :     }
      84           0 :     AUTO_PROFILER_LABEL("PMessagePort::Msg_Disentangle", OTHER);
      85           0 :     PMessagePort::Transition(PMessagePort::Msg_Disentangle__ID, (&(mState)));
      86             : 
      87           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
      88           0 :     return sendok__;
      89             : }
      90             : 
      91           0 : auto PMessagePortChild::SendStopSendingData() -> bool
      92             : {
      93           0 :     IPC::Message* msg__ = PMessagePort::Msg_StopSendingData(Id());
      94             : 
      95             : 
      96             : 
      97             : 
      98             : 
      99           0 :     if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
     100           0 :         mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     101             :     }
     102           0 :     AUTO_PROFILER_LABEL("PMessagePort::Msg_StopSendingData", OTHER);
     103           0 :     PMessagePort::Transition(PMessagePort::Msg_StopSendingData__ID, (&(mState)));
     104             : 
     105           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     106           0 :     return sendok__;
     107             : }
     108             : 
     109           0 : auto PMessagePortChild::SendClose() -> bool
     110             : {
     111           0 :     IPC::Message* msg__ = PMessagePort::Msg_Close(Id());
     112             : 
     113             : 
     114             : 
     115             : 
     116             : 
     117           0 :     if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
     118           0 :         mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     119             :     }
     120           0 :     AUTO_PROFILER_LABEL("PMessagePort::Msg_Close", OTHER);
     121           0 :     PMessagePort::Transition(PMessagePort::Msg_Close__ID, (&(mState)));
     122             : 
     123           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     124           0 :     return sendok__;
     125             : }
     126             : 
     127           0 : auto PMessagePortChild::RemoveManagee(
     128             :         int32_t aProtocolId,
     129             :         ProtocolBase* aListener) -> void
     130             : {
     131           0 :     FatalError("unreached");
     132           0 :     return;
     133             : }
     134             : 
     135           0 : auto PMessagePortChild::OnMessageReceived(const Message& msg__) -> PMessagePortChild::Result
     136             : {
     137           0 :     switch ((msg__).type()) {
     138             :     case PMessagePort::Msg_Entangled__ID:
     139             :         {
     140           0 :             if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
     141           0 :                 mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     142             :             }
     143           0 :             AUTO_PROFILER_LABEL("PMessagePort::Msg_Entangled", OTHER);
     144             : 
     145           0 :             PickleIterator iter__(msg__);
     146           0 :             nsTArray<ClonedMessageData> messages;
     147             : 
     148           0 :             if ((!(Read((&(messages)), (&(msg__)), (&(iter__)))))) {
     149           0 :                 FatalError("Error deserializing 'nsTArray'");
     150           0 :                 return MsgValueError;
     151             :             }
     152             :             // Sentinel = 'messages'
     153           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 4217553644)))) {
     154           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'nsTArray'");
     155           0 :                 return MsgValueError;
     156             :             }
     157           0 :             (msg__).EndRead(iter__, (msg__).type());
     158           0 :             PMessagePort::Transition(PMessagePort::Msg_Entangled__ID, (&(mState)));
     159           0 :             if ((!(RecvEntangled(mozilla::Move(messages))))) {
     160           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     161             :                 // Error handled in mozilla::ipc::IPCResult
     162           0 :                 return MsgProcessingError;
     163             :             }
     164             : 
     165           0 :             return MsgProcessed;
     166             :         }
     167             :     case PMessagePort::Msg_ReceiveData__ID:
     168             :         {
     169           0 :             if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
     170           0 :                 mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     171             :             }
     172           0 :             AUTO_PROFILER_LABEL("PMessagePort::Msg_ReceiveData", OTHER);
     173             : 
     174           0 :             PickleIterator iter__(msg__);
     175           0 :             nsTArray<ClonedMessageData> messages;
     176             : 
     177           0 :             if ((!(Read((&(messages)), (&(msg__)), (&(iter__)))))) {
     178           0 :                 FatalError("Error deserializing 'nsTArray'");
     179           0 :                 return MsgValueError;
     180             :             }
     181             :             // Sentinel = 'messages'
     182           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 4217553644)))) {
     183           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'nsTArray'");
     184           0 :                 return MsgValueError;
     185             :             }
     186           0 :             (msg__).EndRead(iter__, (msg__).type());
     187           0 :             PMessagePort::Transition(PMessagePort::Msg_ReceiveData__ID, (&(mState)));
     188           0 :             if ((!(RecvReceiveData(mozilla::Move(messages))))) {
     189           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     190             :                 // Error handled in mozilla::ipc::IPCResult
     191           0 :                 return MsgProcessingError;
     192             :             }
     193             : 
     194           0 :             return MsgProcessed;
     195             :         }
     196             :     case PMessagePort::Msg_StopSendingDataConfirmed__ID:
     197             :         {
     198           0 :             if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
     199           0 :                 mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     200             :             }
     201           0 :             AUTO_PROFILER_LABEL("PMessagePort::Msg_StopSendingDataConfirmed", OTHER);
     202             : 
     203           0 :             PMessagePort::Transition(PMessagePort::Msg_StopSendingDataConfirmed__ID, (&(mState)));
     204           0 :             if ((!(RecvStopSendingDataConfirmed()))) {
     205           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     206             :                 // Error handled in mozilla::ipc::IPCResult
     207           0 :                 return MsgProcessingError;
     208             :             }
     209             : 
     210           0 :             return MsgProcessed;
     211             :         }
     212             :     case PMessagePort::Msg___delete____ID:
     213             :         {
     214           0 :             if (mozilla::ipc::LoggingEnabledFor("PMessagePortChild")) {
     215           0 :                 mozilla::ipc::LogMessageForProtocol("PMessagePortChild", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     216             :             }
     217           0 :             AUTO_PROFILER_LABEL("PMessagePort::Msg___delete__", OTHER);
     218             : 
     219           0 :             PickleIterator iter__(msg__);
     220             :             PMessagePortChild* actor;
     221             : 
     222           0 :             if ((!(Read((&(actor)), (&(msg__)), (&(iter__)), false)))) {
     223           0 :                 FatalError("Error deserializing 'PMessagePortChild'");
     224           0 :                 return MsgValueError;
     225             :             }
     226             :             // Sentinel = 'actor'
     227           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 875202478)))) {
     228           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'PMessagePortChild'");
     229           0 :                 return MsgValueError;
     230             :             }
     231           0 :             (msg__).EndRead(iter__, (msg__).type());
     232           0 :             PMessagePort::Transition(PMessagePort::Msg___delete____ID, (&(mState)));
     233           0 :             if ((!(Recv__delete__()))) {
     234           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     235             :                 // Error handled in mozilla::ipc::IPCResult
     236           0 :                 return MsgProcessingError;
     237             :             }
     238             : 
     239             : 
     240           0 :             IProtocol* mgr = (actor)->Manager();
     241           0 :             (actor)->DestroySubtree(Deletion);
     242           0 :             (actor)->DeallocSubtree();
     243           0 :             (mgr)->RemoveManagee(PMessagePortMsgStart, actor);
     244             : 
     245           0 :             return MsgProcessed;
     246             :         }
     247             :     default:
     248             :         {
     249           0 :             return MsgNotKnown;
     250             :         }
     251             :     }
     252             : }
     253             : 
     254           0 : auto PMessagePortChild::OnMessageReceived(
     255             :         const Message& msg__,
     256             :         Message*& reply__) -> PMessagePortChild::Result
     257             : {
     258           0 :     return MsgNotKnown;
     259             : }
     260             : 
     261           0 : auto PMessagePortChild::OnCallReceived(
     262             :         const Message& msg__,
     263             :         Message*& reply__) -> PMessagePortChild::Result
     264             : {
     265           0 :     MOZ_ASSERT_UNREACHABLE("message protocol not supported");
     266             :     return MsgNotKnown;
     267             : }
     268             : 
     269           0 : auto PMessagePortChild::GetProtocolTypeId() -> int32_t
     270             : {
     271           0 :     return PMessagePortMsgStart;
     272             : }
     273             : 
     274           0 : auto PMessagePortChild::ProtocolName() const -> const char*
     275             : {
     276           0 :     return "PMessagePortChild";
     277             : }
     278             : 
     279           0 : auto PMessagePortChild::DestroySubtree(ActorDestroyReason why) -> void
     280             : {
     281             :     // Unregister from our manager.
     282           0 :     Unregister(Id());
     283             : 
     284             :     // Reject owning pending promises.
     285           0 :     (GetIPCChannel())->RejectPendingPromisesForActor(this);
     286             : 
     287             :     // Finally, destroy "us".
     288           0 :     ActorDestroy(why);
     289           0 : }
     290             : 
     291           0 : auto PMessagePortChild::DeallocSubtree() -> void
     292             : {
     293           0 : }
     294             : 
     295           0 : auto PMessagePortChild::Write(
     296             :         const nsTArray<InputStreamParams>& v__,
     297             :         Message* msg__) -> void
     298             : {
     299           0 :     uint32_t length = (v__).Length();
     300           0 :     Write(length, msg__);
     301             :     // Sentinel = ('length', 'InputStreamParams[]')
     302           0 :     (msg__)->WriteSentinel(348334258);
     303             : 
     304           0 :     for (auto& elem : v__) {
     305           0 :         Write(elem, msg__);
     306             :         // Sentinel = 'InputStreamParams[]'
     307           0 :         (msg__)->WriteSentinel(2927715197);
     308             :     }
     309           0 : }
     310             : 
     311           0 : auto PMessagePortChild::Read(
     312             :         nsTArray<InputStreamParams>* v__,
     313             :         const Message* msg__,
     314             :         PickleIterator* iter__) -> bool
     315             : {
     316           0 :     nsTArray<InputStreamParams> fa;
     317             :     uint32_t length;
     318           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
     319           0 :         mozilla::ipc::ArrayLengthReadError("InputStreamParams[]");
     320           0 :         return false;
     321             :     }
     322             :     // Sentinel = ('length', 'InputStreamParams[]')
     323           0 :     if ((!((msg__)->ReadSentinel(iter__, 348334258)))) {
     324           0 :         mozilla::ipc::SentinelReadError("InputStreamParams[]");
     325           0 :         return false;
     326             :     }
     327             : 
     328           0 :     InputStreamParams* elems = (fa).AppendElements(length);
     329           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
     330           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
     331           0 :             FatalError("Error deserializing 'InputStreamParams[i]'");
     332           0 :             return false;
     333             :         }
     334             :         // Sentinel = 'InputStreamParams[]'
     335           0 :         if ((!((msg__)->ReadSentinel(iter__, 2927715197)))) {
     336           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'InputStreamParams[i]'");
     337           0 :             return false;
     338             :         }
     339             :     }
     340           0 :     (v__)->SwapElements(fa);
     341           0 :     return true;
     342             : }
     343             : 
     344           0 : auto PMessagePortChild::Write(
     345             :         const nsTArray<FileDescriptor>& v__,
     346             :         Message* msg__) -> void
     347             : {
     348           0 :     uint32_t length = (v__).Length();
     349           0 :     Write(length, msg__);
     350             :     // Sentinel = ('length', 'FileDescriptor[]')
     351           0 :     (msg__)->WriteSentinel(1697726450);
     352             : 
     353           0 :     for (auto& elem : v__) {
     354           0 :         Write(elem, msg__);
     355             :         // Sentinel = 'FileDescriptor[]'
     356           0 :         (msg__)->WriteSentinel(1630221245);
     357             :     }
     358           0 : }
     359             : 
     360           0 : auto PMessagePortChild::Read(
     361             :         nsTArray<FileDescriptor>* v__,
     362             :         const Message* msg__,
     363             :         PickleIterator* iter__) -> bool
     364             : {
     365           0 :     nsTArray<FileDescriptor> fa;
     366             :     uint32_t length;
     367           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
     368           0 :         mozilla::ipc::ArrayLengthReadError("FileDescriptor[]");
     369           0 :         return false;
     370             :     }
     371             :     // Sentinel = ('length', 'FileDescriptor[]')
     372           0 :     if ((!((msg__)->ReadSentinel(iter__, 1697726450)))) {
     373           0 :         mozilla::ipc::SentinelReadError("FileDescriptor[]");
     374           0 :         return false;
     375             :     }
     376             : 
     377           0 :     FileDescriptor* elems = (fa).AppendElements(length);
     378           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
     379           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
     380           0 :             FatalError("Error deserializing 'FileDescriptor[i]'");
     381           0 :             return false;
     382             :         }
     383             :         // Sentinel = 'FileDescriptor[]'
     384           0 :         if ((!((msg__)->ReadSentinel(iter__, 1630221245)))) {
     385           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'FileDescriptor[i]'");
     386           0 :             return false;
     387             :         }
     388             :     }
     389           0 :     (v__)->SwapElements(fa);
     390           0 :     return true;
     391             : }
     392             : 
     393           0 : auto PMessagePortChild::Write(
     394             :         const nsTArray<MessagePortIdentifier>& v__,
     395             :         Message* msg__) -> void
     396             : {
     397           0 :     uint32_t length = (v__).Length();
     398           0 :     Write(length, msg__);
     399             :     // Sentinel = ('length', 'MessagePortIdentifier[]')
     400           0 :     (msg__)->WriteSentinel(680130807);
     401             : 
     402           0 :     for (auto& elem : v__) {
     403           0 :         Write(elem, msg__);
     404             :         // Sentinel = 'MessagePortIdentifier[]'
     405           0 :         (msg__)->WriteSentinel(1200404786);
     406             :     }
     407           0 : }
     408             : 
     409           0 : auto PMessagePortChild::Read(
     410             :         nsTArray<MessagePortIdentifier>* v__,
     411             :         const Message* msg__,
     412             :         PickleIterator* iter__) -> bool
     413             : {
     414           0 :     nsTArray<MessagePortIdentifier> fa;
     415             :     uint32_t length;
     416           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
     417           0 :         mozilla::ipc::ArrayLengthReadError("MessagePortIdentifier[]");
     418           0 :         return false;
     419             :     }
     420             :     // Sentinel = ('length', 'MessagePortIdentifier[]')
     421           0 :     if ((!((msg__)->ReadSentinel(iter__, 680130807)))) {
     422           0 :         mozilla::ipc::SentinelReadError("MessagePortIdentifier[]");
     423           0 :         return false;
     424             :     }
     425             : 
     426           0 :     MessagePortIdentifier* elems = (fa).AppendElements(length);
     427           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
     428           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
     429           0 :             FatalError("Error deserializing 'MessagePortIdentifier[i]'");
     430           0 :             return false;
     431             :         }
     432             :         // Sentinel = 'MessagePortIdentifier[]'
     433           0 :         if ((!((msg__)->ReadSentinel(iter__, 1200404786)))) {
     434           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'MessagePortIdentifier[i]'");
     435           0 :             return false;
     436             :         }
     437             :     }
     438           0 :     (v__)->SwapElements(fa);
     439           0 :     return true;
     440             : }
     441             : 
     442           0 : auto PMessagePortChild::Write(
     443             :         const OptionalInputStreamParams& v__,
     444             :         Message* msg__) -> void
     445             : {
     446             :     typedef OptionalInputStreamParams type__;
     447           0 :     Write(int((v__).type()), msg__);
     448             :     // Sentinel = 'OptionalInputStreamParams'
     449           0 :     (msg__)->WriteSentinel(1355174443);
     450             : 
     451           0 :     switch ((v__).type()) {
     452             :     case type__::Tvoid_t:
     453             :         {
     454           0 :             Write((v__).get_void_t(), msg__);
     455             :             // Sentinel = 'Tvoid_t'
     456           0 :             (msg__)->WriteSentinel(3041273328);
     457           0 :             return;
     458             :         }
     459             :     case type__::TInputStreamParams:
     460             :         {
     461           0 :             Write((v__).get_InputStreamParams(), msg__);
     462             :             // Sentinel = 'TInputStreamParams'
     463           0 :             (msg__)->WriteSentinel(55652096);
     464           0 :             return;
     465             :         }
     466             :     default:
     467             :         {
     468           0 :             FatalError("unknown union type");
     469           0 :             return;
     470             :         }
     471             :     }
     472             : }
     473             : 
     474           0 : auto PMessagePortChild::Read(
     475             :         OptionalInputStreamParams* v__,
     476             :         const Message* msg__,
     477             :         PickleIterator* iter__) -> bool
     478             : {
     479             :     typedef OptionalInputStreamParams type__;
     480             :     int type;
     481           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
     482           0 :         mozilla::ipc::UnionTypeReadError("OptionalInputStreamParams");
     483           0 :         return false;
     484             :     }
     485             :     // Sentinel = 'OptionalInputStreamParams'
     486           0 :     if ((!((msg__)->ReadSentinel(iter__, 1355174443)))) {
     487           0 :         mozilla::ipc::SentinelReadError("OptionalInputStreamParams");
     488           0 :         return false;
     489             :     }
     490             : 
     491           0 :     switch (type) {
     492             :     case type__::Tvoid_t:
     493             :         {
     494             :             void_t tmp = void_t();
     495           0 :             (*(v__)) = tmp;
     496           0 :             if ((!(Read((&((v__)->get_void_t())), msg__, iter__)))) {
     497           0 :                 FatalError("Error deserializing Union type");
     498           0 :                 return false;
     499             :             }
     500             :             // Sentinel = 'Tvoid_t'
     501           0 :             if ((!((msg__)->ReadSentinel(iter__, 3041273328)))) {
     502           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
     503           0 :                 return false;
     504             :             }
     505           0 :             return true;
     506             :         }
     507             :     case type__::TInputStreamParams:
     508             :         {
     509           0 :             InputStreamParams tmp = InputStreamParams();
     510           0 :             (*(v__)) = tmp;
     511           0 :             if ((!(Read((&((v__)->get_InputStreamParams())), msg__, iter__)))) {
     512           0 :                 FatalError("Error deserializing Union type");
     513           0 :                 return false;
     514             :             }
     515             :             // Sentinel = 'TInputStreamParams'
     516           0 :             if ((!((msg__)->ReadSentinel(iter__, 55652096)))) {
     517           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
     518           0 :                 return false;
     519             :             }
     520           0 :             return true;
     521             :         }
     522             :     default:
     523             :         {
     524           0 :             FatalError("unknown union type");
     525           0 :             return false;
     526             :         }
     527             :     }
     528             : }
     529             : 
     530           0 : auto PMessagePortChild::Write(
     531             :         const IPCRemoteStream& v__,
     532             :         Message* msg__) -> void
     533             : {
     534           0 :     Write((v__).delayedStart(), msg__);
     535             :     // Sentinel = 'delayedStart'
     536           0 :     (msg__)->WriteSentinel(1491822294);
     537           0 :     Write((v__).stream(), msg__);
     538             :     // Sentinel = 'stream'
     539           0 :     (msg__)->WriteSentinel(4152748422);
     540           0 : }
     541             : 
     542           0 : auto PMessagePortChild::Read(
     543             :         IPCRemoteStream* v__,
     544             :         const Message* msg__,
     545             :         PickleIterator* iter__) -> bool
     546             : {
     547           0 :     if ((!(Read((&((v__)->delayedStart())), msg__, iter__)))) {
     548           0 :         FatalError("Error deserializing 'delayedStart' (bool) member of 'IPCRemoteStream'");
     549           0 :         return false;
     550             :     }
     551             :     // Sentinel = 'delayedStart'
     552           0 :     if ((!((msg__)->ReadSentinel(iter__, 1491822294)))) {
     553           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'delayedStart' (bool) member of 'IPCRemoteStream'");
     554           0 :         return false;
     555             :     }
     556           0 :     if ((!(Read((&((v__)->stream())), msg__, iter__)))) {
     557           0 :         FatalError("Error deserializing 'stream' (IPCRemoteStreamType) member of 'IPCRemoteStream'");
     558           0 :         return false;
     559             :     }
     560             :     // Sentinel = 'stream'
     561           0 :     if ((!((msg__)->ReadSentinel(iter__, 4152748422)))) {
     562           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'stream' (IPCRemoteStreamType) member of 'IPCRemoteStream'");
     563           0 :         return false;
     564             :     }
     565           0 :     return true;
     566             : }
     567             : 
     568           0 : auto PMessagePortChild::Write(
     569             :         const FileInputStreamParams& v__,
     570             :         Message* msg__) -> void
     571             : {
     572           0 :     Write((v__).fileDescriptorIndex(), msg__);
     573             :     // Sentinel = 'fileDescriptorIndex'
     574           0 :     (msg__)->WriteSentinel(587329112);
     575           0 :     Write((v__).behaviorFlags(), msg__);
     576             :     // Sentinel = 'behaviorFlags'
     577           0 :     (msg__)->WriteSentinel(2404401962);
     578           0 :     Write((v__).ioFlags(), msg__);
     579             :     // Sentinel = 'ioFlags'
     580           0 :     (msg__)->WriteSentinel(1483009730);
     581           0 : }
     582             : 
     583           0 : auto PMessagePortChild::Read(
     584             :         FileInputStreamParams* v__,
     585             :         const Message* msg__,
     586             :         PickleIterator* iter__) -> bool
     587             : {
     588           0 :     if ((!(Read((&((v__)->fileDescriptorIndex())), msg__, iter__)))) {
     589           0 :         FatalError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'FileInputStreamParams'");
     590           0 :         return false;
     591             :     }
     592             :     // Sentinel = 'fileDescriptorIndex'
     593           0 :     if ((!((msg__)->ReadSentinel(iter__, 587329112)))) {
     594           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'FileInputStreamParams'");
     595           0 :         return false;
     596             :     }
     597           0 :     if ((!(Read((&((v__)->behaviorFlags())), msg__, iter__)))) {
     598           0 :         FatalError("Error deserializing 'behaviorFlags' (int32_t) member of 'FileInputStreamParams'");
     599           0 :         return false;
     600             :     }
     601             :     // Sentinel = 'behaviorFlags'
     602           0 :     if ((!((msg__)->ReadSentinel(iter__, 2404401962)))) {
     603           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'behaviorFlags' (int32_t) member of 'FileInputStreamParams'");
     604           0 :         return false;
     605             :     }
     606           0 :     if ((!(Read((&((v__)->ioFlags())), msg__, iter__)))) {
     607           0 :         FatalError("Error deserializing 'ioFlags' (int32_t) member of 'FileInputStreamParams'");
     608           0 :         return false;
     609             :     }
     610             :     // Sentinel = 'ioFlags'
     611           0 :     if ((!((msg__)->ReadSentinel(iter__, 1483009730)))) {
     612           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'ioFlags' (int32_t) member of 'FileInputStreamParams'");
     613           0 :         return false;
     614             :     }
     615           0 :     return true;
     616             : }
     617             : 
     618           0 : auto PMessagePortChild::Write(
     619             :         const IPCBlobInputStreamParams& v__,
     620             :         Message* msg__) -> void
     621             : {
     622           0 :     Write((v__).id(), msg__);
     623             :     // Sentinel = 'id'
     624           0 :     (msg__)->WriteSentinel(2794505629);
     625           0 : }
     626             : 
     627           0 : auto PMessagePortChild::Read(
     628             :         IPCBlobInputStreamParams* v__,
     629             :         const Message* msg__,
     630             :         PickleIterator* iter__) -> bool
     631             : {
     632           0 :     if ((!(Read((&((v__)->id())), msg__, iter__)))) {
     633           0 :         FatalError("Error deserializing 'id' (nsID) member of 'IPCBlobInputStreamParams'");
     634           0 :         return false;
     635             :     }
     636             :     // Sentinel = 'id'
     637           0 :     if ((!((msg__)->ReadSentinel(iter__, 2794505629)))) {
     638           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'id' (nsID) member of 'IPCBlobInputStreamParams'");
     639           0 :         return false;
     640             :     }
     641           0 :     return true;
     642             : }
     643             : 
     644           0 : auto PMessagePortChild::Write(
     645             :         const IPCFile& v__,
     646             :         Message* msg__) -> void
     647             : {
     648           0 :     Write((v__).name(), msg__);
     649             :     // Sentinel = 'name'
     650           0 :     (msg__)->WriteSentinel(15034981);
     651           0 :     Write((v__).lastModified(), msg__);
     652             :     // Sentinel = 'lastModified'
     653           0 :     (msg__)->WriteSentinel(3456113257);
     654           0 :     Write((v__).DOMPath(), msg__);
     655             :     // Sentinel = 'DOMPath'
     656           0 :     (msg__)->WriteSentinel(1724352494);
     657           0 :     Write((v__).fullPath(), msg__);
     658             :     // Sentinel = 'fullPath'
     659           0 :     (msg__)->WriteSentinel(385652698);
     660           0 :     Write((v__).isDirectory(), msg__);
     661             :     // Sentinel = 'isDirectory'
     662           0 :     (msg__)->WriteSentinel(2309743506);
     663           0 : }
     664             : 
     665           0 : auto PMessagePortChild::Read(
     666             :         IPCFile* v__,
     667             :         const Message* msg__,
     668             :         PickleIterator* iter__) -> bool
     669             : {
     670           0 :     if ((!(Read((&((v__)->name())), msg__, iter__)))) {
     671           0 :         FatalError("Error deserializing 'name' (nsString) member of 'IPCFile'");
     672           0 :         return false;
     673             :     }
     674             :     // Sentinel = 'name'
     675           0 :     if ((!((msg__)->ReadSentinel(iter__, 15034981)))) {
     676           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsString) member of 'IPCFile'");
     677           0 :         return false;
     678             :     }
     679           0 :     if ((!(Read((&((v__)->lastModified())), msg__, iter__)))) {
     680           0 :         FatalError("Error deserializing 'lastModified' (int64_t) member of 'IPCFile'");
     681           0 :         return false;
     682             :     }
     683             :     // Sentinel = 'lastModified'
     684           0 :     if ((!((msg__)->ReadSentinel(iter__, 3456113257)))) {
     685           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'lastModified' (int64_t) member of 'IPCFile'");
     686           0 :         return false;
     687             :     }
     688           0 :     if ((!(Read((&((v__)->DOMPath())), msg__, iter__)))) {
     689           0 :         FatalError("Error deserializing 'DOMPath' (nsString) member of 'IPCFile'");
     690           0 :         return false;
     691             :     }
     692             :     // Sentinel = 'DOMPath'
     693           0 :     if ((!((msg__)->ReadSentinel(iter__, 1724352494)))) {
     694           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'DOMPath' (nsString) member of 'IPCFile'");
     695           0 :         return false;
     696             :     }
     697           0 :     if ((!(Read((&((v__)->fullPath())), msg__, iter__)))) {
     698           0 :         FatalError("Error deserializing 'fullPath' (nsString) member of 'IPCFile'");
     699           0 :         return false;
     700             :     }
     701             :     // Sentinel = 'fullPath'
     702           0 :     if ((!((msg__)->ReadSentinel(iter__, 385652698)))) {
     703           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fullPath' (nsString) member of 'IPCFile'");
     704           0 :         return false;
     705             :     }
     706           0 :     if ((!(Read((&((v__)->isDirectory())), msg__, iter__)))) {
     707           0 :         FatalError("Error deserializing 'isDirectory' (bool) member of 'IPCFile'");
     708           0 :         return false;
     709             :     }
     710             :     // Sentinel = 'isDirectory'
     711           0 :     if ((!((msg__)->ReadSentinel(iter__, 2309743506)))) {
     712           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'isDirectory' (bool) member of 'IPCFile'");
     713           0 :         return false;
     714             :     }
     715           0 :     return true;
     716             : }
     717             : 
     718           0 : auto PMessagePortChild::Write(
     719             :         const IPCFileUnion& v__,
     720             :         Message* msg__) -> void
     721             : {
     722             :     typedef IPCFileUnion type__;
     723           0 :     Write(int((v__).type()), msg__);
     724             :     // Sentinel = 'IPCFileUnion'
     725           0 :     (msg__)->WriteSentinel(1913022529);
     726             : 
     727           0 :     switch ((v__).type()) {
     728             :     case type__::Tvoid_t:
     729             :         {
     730           0 :             Write((v__).get_void_t(), msg__);
     731             :             // Sentinel = 'Tvoid_t'
     732           0 :             (msg__)->WriteSentinel(3041273328);
     733           0 :             return;
     734             :         }
     735             :     case type__::TIPCFile:
     736             :         {
     737           0 :             Write((v__).get_IPCFile(), msg__);
     738             :             // Sentinel = 'TIPCFile'
     739           0 :             (msg__)->WriteSentinel(3562676876);
     740           0 :             return;
     741             :         }
     742             :     default:
     743             :         {
     744           0 :             FatalError("unknown union type");
     745           0 :             return;
     746             :         }
     747             :     }
     748             : }
     749             : 
     750           0 : auto PMessagePortChild::Read(
     751             :         IPCFileUnion* v__,
     752             :         const Message* msg__,
     753             :         PickleIterator* iter__) -> bool
     754             : {
     755             :     typedef IPCFileUnion type__;
     756             :     int type;
     757           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
     758           0 :         mozilla::ipc::UnionTypeReadError("IPCFileUnion");
     759           0 :         return false;
     760             :     }
     761             :     // Sentinel = 'IPCFileUnion'
     762           0 :     if ((!((msg__)->ReadSentinel(iter__, 1913022529)))) {
     763           0 :         mozilla::ipc::SentinelReadError("IPCFileUnion");
     764           0 :         return false;
     765             :     }
     766             : 
     767           0 :     switch (type) {
     768             :     case type__::Tvoid_t:
     769             :         {
     770             :             void_t tmp = void_t();
     771           0 :             (*(v__)) = tmp;
     772           0 :             if ((!(Read((&((v__)->get_void_t())), msg__, iter__)))) {
     773           0 :                 FatalError("Error deserializing Union type");
     774           0 :                 return false;
     775             :             }
     776             :             // Sentinel = 'Tvoid_t'
     777           0 :             if ((!((msg__)->ReadSentinel(iter__, 3041273328)))) {
     778           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
     779           0 :                 return false;
     780             :             }
     781           0 :             return true;
     782             :         }
     783             :     case type__::TIPCFile:
     784             :         {
     785           0 :             IPCFile tmp = IPCFile();
     786           0 :             (*(v__)) = tmp;
     787           0 :             if ((!(Read((&((v__)->get_IPCFile())), msg__, iter__)))) {
     788           0 :                 FatalError("Error deserializing Union type");
     789           0 :                 return false;
     790             :             }
     791             :             // Sentinel = 'TIPCFile'
     792           0 :             if ((!((msg__)->ReadSentinel(iter__, 3562676876)))) {
     793           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
     794           0 :                 return false;
     795             :             }
     796           0 :             return true;
     797             :         }
     798             :     default:
     799             :         {
     800           0 :             FatalError("unknown union type");
     801           0 :             return false;
     802             :         }
     803             :     }
     804             : }
     805             : 
     806           0 : auto PMessagePortChild::Write(
     807             :         const PMessagePortChild* v__,
     808             :         Message* msg__,
     809             :         bool nullable__) -> void
     810             : {
     811             :     int32_t id;
     812           0 :     if ((!(v__))) {
     813           0 :         if ((!(nullable__))) {
     814           0 :             FatalError("NULL actor value passed to non-nullable param");
     815             :         }
     816           0 :         id = 0;
     817             :     }
     818             :     else {
     819           0 :         id = (v__)->Id();
     820           0 :         if ((1) == (id)) {
     821           0 :             FatalError("actor has been |delete|d");
     822             :         }
     823             :     }
     824             : 
     825           0 :     Write(id, msg__);
     826           0 : }
     827             : 
     828           0 : auto PMessagePortChild::Read(
     829             :         PMessagePortChild** v__,
     830             :         const Message* msg__,
     831             :         PickleIterator* iter__,
     832             :         bool nullable__) -> bool
     833             : {
     834           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PMessagePort", PMessagePortMsgStart);
     835           0 :     if ((actor).isNothing()) {
     836           0 :         return false;
     837             :     }
     838             : 
     839           0 :     (*(v__)) = static_cast<PMessagePortChild*>((actor).value());
     840           0 :     return true;
     841             : }
     842             : 
     843           0 : auto PMessagePortChild::Write(
     844             :         const MessagePortIdentifier& v__,
     845             :         Message* msg__) -> void
     846             : {
     847           0 :     Write((v__).uuid(), msg__);
     848             :     // Sentinel = 'uuid'
     849           0 :     (msg__)->WriteSentinel(1982267941);
     850           0 :     Write((v__).destinationUuid(), msg__);
     851             :     // Sentinel = 'destinationUuid'
     852           0 :     (msg__)->WriteSentinel(372087918);
     853           0 :     Write((v__).sequenceId(), msg__);
     854             :     // Sentinel = 'sequenceId'
     855           0 :     (msg__)->WriteSentinel(2743535618);
     856           0 :     Write((v__).neutered(), msg__);
     857             :     // Sentinel = 'neutered'
     858           0 :     (msg__)->WriteSentinel(520678014);
     859           0 : }
     860             : 
     861           0 : auto PMessagePortChild::Read(
     862             :         MessagePortIdentifier* v__,
     863             :         const Message* msg__,
     864             :         PickleIterator* iter__) -> bool
     865             : {
     866           0 :     if ((!(Read((&((v__)->uuid())), msg__, iter__)))) {
     867           0 :         FatalError("Error deserializing 'uuid' (nsID) member of 'MessagePortIdentifier'");
     868           0 :         return false;
     869             :     }
     870             :     // Sentinel = 'uuid'
     871           0 :     if ((!((msg__)->ReadSentinel(iter__, 1982267941)))) {
     872           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'uuid' (nsID) member of 'MessagePortIdentifier'");
     873           0 :         return false;
     874             :     }
     875           0 :     if ((!(Read((&((v__)->destinationUuid())), msg__, iter__)))) {
     876           0 :         FatalError("Error deserializing 'destinationUuid' (nsID) member of 'MessagePortIdentifier'");
     877           0 :         return false;
     878             :     }
     879             :     // Sentinel = 'destinationUuid'
     880           0 :     if ((!((msg__)->ReadSentinel(iter__, 372087918)))) {
     881           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'destinationUuid' (nsID) member of 'MessagePortIdentifier'");
     882           0 :         return false;
     883             :     }
     884           0 :     if ((!(Read((&((v__)->sequenceId())), msg__, iter__)))) {
     885           0 :         FatalError("Error deserializing 'sequenceId' (uint32_t) member of 'MessagePortIdentifier'");
     886           0 :         return false;
     887             :     }
     888             :     // Sentinel = 'sequenceId'
     889           0 :     if ((!((msg__)->ReadSentinel(iter__, 2743535618)))) {
     890           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'sequenceId' (uint32_t) member of 'MessagePortIdentifier'");
     891           0 :         return false;
     892             :     }
     893           0 :     if ((!(Read((&((v__)->neutered())), msg__, iter__)))) {
     894           0 :         FatalError("Error deserializing 'neutered' (bool) member of 'MessagePortIdentifier'");
     895           0 :         return false;
     896             :     }
     897             :     // Sentinel = 'neutered'
     898           0 :     if ((!((msg__)->ReadSentinel(iter__, 520678014)))) {
     899           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'neutered' (bool) member of 'MessagePortIdentifier'");
     900           0 :         return false;
     901             :     }
     902           0 :     return true;
     903             : }
     904             : 
     905           0 : auto PMessagePortChild::Write(
     906             :         const InputStreamParamsWithFds& v__,
     907             :         Message* msg__) -> void
     908             : {
     909           0 :     Write((v__).stream(), msg__);
     910             :     // Sentinel = 'stream'
     911           0 :     (msg__)->WriteSentinel(4152748422);
     912           0 :     Write((v__).optionalFds(), msg__);
     913             :     // Sentinel = 'optionalFds'
     914           0 :     (msg__)->WriteSentinel(1021803302);
     915           0 : }
     916             : 
     917           0 : auto PMessagePortChild::Read(
     918             :         InputStreamParamsWithFds* v__,
     919             :         const Message* msg__,
     920             :         PickleIterator* iter__) -> bool
     921             : {
     922           0 :     if ((!(Read((&((v__)->stream())), msg__, iter__)))) {
     923           0 :         FatalError("Error deserializing 'stream' (InputStreamParams) member of 'InputStreamParamsWithFds'");
     924           0 :         return false;
     925             :     }
     926             :     // Sentinel = 'stream'
     927           0 :     if ((!((msg__)->ReadSentinel(iter__, 4152748422)))) {
     928           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'stream' (InputStreamParams) member of 'InputStreamParamsWithFds'");
     929           0 :         return false;
     930             :     }
     931           0 :     if ((!(Read((&((v__)->optionalFds())), msg__, iter__)))) {
     932           0 :         FatalError("Error deserializing 'optionalFds' (OptionalFileDescriptorSet) member of 'InputStreamParamsWithFds'");
     933           0 :         return false;
     934             :     }
     935             :     // Sentinel = 'optionalFds'
     936           0 :     if ((!((msg__)->ReadSentinel(iter__, 1021803302)))) {
     937           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'optionalFds' (OptionalFileDescriptorSet) member of 'InputStreamParamsWithFds'");
     938           0 :         return false;
     939             :     }
     940           0 :     return true;
     941             : }
     942             : 
     943           0 : auto PMessagePortChild::Write(
     944             :         const IPCBlobStream& v__,
     945             :         Message* msg__) -> void
     946             : {
     947             :     typedef IPCBlobStream type__;
     948           0 :     Write(int((v__).type()), msg__);
     949             :     // Sentinel = 'IPCBlobStream'
     950           0 :     (msg__)->WriteSentinel(2926762354);
     951             : 
     952           0 :     switch ((v__).type()) {
     953             :     case type__::TPIPCBlobInputStreamParent:
     954             :         {
     955           0 :             FatalError("wrong side!");
     956           0 :             return;
     957             :         }
     958             :     case type__::TPIPCBlobInputStreamChild:
     959             :         {
     960           0 :             Write((v__).get_PIPCBlobInputStreamChild(), msg__, false);
     961             :             // Sentinel = 'TPIPCBlobInputStreamChild'
     962           0 :             (msg__)->WriteSentinel(3349556844);
     963           0 :             return;
     964             :         }
     965             :     case type__::TIPCStream:
     966             :         {
     967           0 :             Write((v__).get_IPCStream(), msg__);
     968             :             // Sentinel = 'TIPCStream'
     969           0 :             (msg__)->WriteSentinel(40701900);
     970           0 :             return;
     971             :         }
     972             :     default:
     973             :         {
     974           0 :             FatalError("unknown union type");
     975           0 :             return;
     976             :         }
     977             :     }
     978             : }
     979             : 
     980           0 : auto PMessagePortChild::Read(
     981             :         IPCBlobStream* v__,
     982             :         const Message* msg__,
     983             :         PickleIterator* iter__) -> bool
     984             : {
     985             :     typedef IPCBlobStream type__;
     986             :     int type;
     987           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
     988           0 :         mozilla::ipc::UnionTypeReadError("IPCBlobStream");
     989           0 :         return false;
     990             :     }
     991             :     // Sentinel = 'IPCBlobStream'
     992           0 :     if ((!((msg__)->ReadSentinel(iter__, 2926762354)))) {
     993           0 :         mozilla::ipc::SentinelReadError("IPCBlobStream");
     994           0 :         return false;
     995             :     }
     996             : 
     997           0 :     switch (type) {
     998             :     case type__::TPIPCBlobInputStreamParent:
     999             :         {
    1000           0 :             PIPCBlobInputStreamChild* tmp = nullptr;
    1001           0 :             (*(v__)) = tmp;
    1002           0 :             if ((!(Read((&((v__)->get_PIPCBlobInputStreamChild())), msg__, iter__, false)))) {
    1003           0 :                 FatalError("Error deserializing Union type");
    1004           0 :                 return false;
    1005             :             }
    1006             :             // Sentinel = 'TPIPCBlobInputStreamParent'
    1007           0 :             if ((!((msg__)->ReadSentinel(iter__, 2944059743)))) {
    1008           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1009           0 :                 return false;
    1010             :             }
    1011           0 :             return true;
    1012             :         }
    1013             :     case type__::TPIPCBlobInputStreamChild:
    1014             :         {
    1015           0 :             return false;
    1016             :         }
    1017             :     case type__::TIPCStream:
    1018             :         {
    1019           0 :             IPCStream tmp = IPCStream();
    1020           0 :             (*(v__)) = tmp;
    1021           0 :             if ((!(Read((&((v__)->get_IPCStream())), msg__, iter__)))) {
    1022           0 :                 FatalError("Error deserializing Union type");
    1023           0 :                 return false;
    1024             :             }
    1025             :             // Sentinel = 'TIPCStream'
    1026           0 :             if ((!((msg__)->ReadSentinel(iter__, 40701900)))) {
    1027           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1028           0 :                 return false;
    1029             :             }
    1030           0 :             return true;
    1031             :         }
    1032             :     default:
    1033             :         {
    1034           0 :             FatalError("unknown union type");
    1035           0 :             return false;
    1036             :         }
    1037             :     }
    1038             : }
    1039             : 
    1040           0 : auto PMessagePortChild::Write(
    1041             :         const nsTArray<IPCBlob>& v__,
    1042             :         Message* msg__) -> void
    1043             : {
    1044           0 :     uint32_t length = (v__).Length();
    1045           0 :     Write(length, msg__);
    1046             :     // Sentinel = ('length', 'IPCBlob[]')
    1047           0 :     (msg__)->WriteSentinel(894413667);
    1048             : 
    1049           0 :     for (auto& elem : v__) {
    1050           0 :         Write(elem, msg__);
    1051             :         // Sentinel = 'IPCBlob[]'
    1052           0 :         (msg__)->WriteSentinel(3337464726);
    1053             :     }
    1054           0 : }
    1055             : 
    1056           0 : auto PMessagePortChild::Read(
    1057             :         nsTArray<IPCBlob>* v__,
    1058             :         const Message* msg__,
    1059             :         PickleIterator* iter__) -> bool
    1060             : {
    1061           0 :     nsTArray<IPCBlob> fa;
    1062             :     uint32_t length;
    1063           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
    1064           0 :         mozilla::ipc::ArrayLengthReadError("IPCBlob[]");
    1065           0 :         return false;
    1066             :     }
    1067             :     // Sentinel = ('length', 'IPCBlob[]')
    1068           0 :     if ((!((msg__)->ReadSentinel(iter__, 894413667)))) {
    1069           0 :         mozilla::ipc::SentinelReadError("IPCBlob[]");
    1070           0 :         return false;
    1071             :     }
    1072             : 
    1073           0 :     IPCBlob* elems = (fa).AppendElements(length);
    1074           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
    1075           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
    1076           0 :             FatalError("Error deserializing 'IPCBlob[i]'");
    1077           0 :             return false;
    1078             :         }
    1079             :         // Sentinel = 'IPCBlob[]'
    1080           0 :         if ((!((msg__)->ReadSentinel(iter__, 3337464726)))) {
    1081           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'IPCBlob[i]'");
    1082           0 :             return false;
    1083             :         }
    1084             :     }
    1085           0 :     (v__)->SwapElements(fa);
    1086           0 :     return true;
    1087             : }
    1088             : 
    1089           0 : auto PMessagePortChild::Write(
    1090             :         const ClonedMessageData& v__,
    1091             :         Message* msg__) -> void
    1092             : {
    1093           0 :     Write((v__).data(), msg__);
    1094             :     // Sentinel = 'data'
    1095           0 :     (msg__)->WriteSentinel(843352540);
    1096           0 :     Write((v__).blobs(), msg__);
    1097             :     // Sentinel = 'blobs'
    1098           0 :     (msg__)->WriteSentinel(635500709);
    1099           0 :     Write((v__).inputStreams(), msg__);
    1100             :     // Sentinel = 'inputStreams'
    1101           0 :     (msg__)->WriteSentinel(435739475);
    1102           0 :     Write((v__).identfiers(), msg__);
    1103             :     // Sentinel = 'identfiers'
    1104           0 :     (msg__)->WriteSentinel(3130566733);
    1105           0 : }
    1106             : 
    1107           0 : auto PMessagePortChild::Read(
    1108             :         ClonedMessageData* v__,
    1109             :         const Message* msg__,
    1110             :         PickleIterator* iter__) -> bool
    1111             : {
    1112           0 :     if ((!(Read((&((v__)->data())), msg__, iter__)))) {
    1113           0 :         FatalError("Error deserializing 'data' (SerializedStructuredCloneBuffer) member of 'ClonedMessageData'");
    1114           0 :         return false;
    1115             :     }
    1116             :     // Sentinel = 'data'
    1117           0 :     if ((!((msg__)->ReadSentinel(iter__, 843352540)))) {
    1118           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'data' (SerializedStructuredCloneBuffer) member of 'ClonedMessageData'");
    1119           0 :         return false;
    1120             :     }
    1121           0 :     if ((!(Read((&((v__)->blobs())), msg__, iter__)))) {
    1122           0 :         FatalError("Error deserializing 'blobs' (IPCBlob[]) member of 'ClonedMessageData'");
    1123           0 :         return false;
    1124             :     }
    1125             :     // Sentinel = 'blobs'
    1126           0 :     if ((!((msg__)->ReadSentinel(iter__, 635500709)))) {
    1127           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'blobs' (IPCBlob[]) member of 'ClonedMessageData'");
    1128           0 :         return false;
    1129             :     }
    1130           0 :     if ((!(Read((&((v__)->inputStreams())), msg__, iter__)))) {
    1131           0 :         FatalError("Error deserializing 'inputStreams' (IPCStream[]) member of 'ClonedMessageData'");
    1132           0 :         return false;
    1133             :     }
    1134             :     // Sentinel = 'inputStreams'
    1135           0 :     if ((!((msg__)->ReadSentinel(iter__, 435739475)))) {
    1136           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'inputStreams' (IPCStream[]) member of 'ClonedMessageData'");
    1137           0 :         return false;
    1138             :     }
    1139           0 :     if ((!(Read((&((v__)->identfiers())), msg__, iter__)))) {
    1140           0 :         FatalError("Error deserializing 'identfiers' (MessagePortIdentifier[]) member of 'ClonedMessageData'");
    1141           0 :         return false;
    1142             :     }
    1143             :     // Sentinel = 'identfiers'
    1144           0 :     if ((!((msg__)->ReadSentinel(iter__, 3130566733)))) {
    1145           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'identfiers' (MessagePortIdentifier[]) member of 'ClonedMessageData'");
    1146           0 :         return false;
    1147             :     }
    1148           0 :     return true;
    1149             : }
    1150             : 
    1151           0 : auto PMessagePortChild::Write(
    1152             :         const nsTArray<HeaderEntry>& v__,
    1153             :         Message* msg__) -> void
    1154             : {
    1155           0 :     uint32_t length = (v__).Length();
    1156           0 :     Write(length, msg__);
    1157             :     // Sentinel = ('length', 'HeaderEntry[]')
    1158           0 :     (msg__)->WriteSentinel(2689457705);
    1159             : 
    1160           0 :     for (auto& elem : v__) {
    1161           0 :         Write(elem, msg__);
    1162             :         // Sentinel = 'HeaderEntry[]'
    1163           0 :         (msg__)->WriteSentinel(454836120);
    1164             :     }
    1165           0 : }
    1166             : 
    1167           0 : auto PMessagePortChild::Read(
    1168             :         nsTArray<HeaderEntry>* v__,
    1169             :         const Message* msg__,
    1170             :         PickleIterator* iter__) -> bool
    1171             : {
    1172           0 :     nsTArray<HeaderEntry> fa;
    1173             :     uint32_t length;
    1174           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
    1175           0 :         mozilla::ipc::ArrayLengthReadError("HeaderEntry[]");
    1176           0 :         return false;
    1177             :     }
    1178             :     // Sentinel = ('length', 'HeaderEntry[]')
    1179           0 :     if ((!((msg__)->ReadSentinel(iter__, 2689457705)))) {
    1180           0 :         mozilla::ipc::SentinelReadError("HeaderEntry[]");
    1181           0 :         return false;
    1182             :     }
    1183             : 
    1184           0 :     HeaderEntry* elems = (fa).AppendElements(length);
    1185           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
    1186           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
    1187           0 :             FatalError("Error deserializing 'HeaderEntry[i]'");
    1188           0 :             return false;
    1189             :         }
    1190             :         // Sentinel = 'HeaderEntry[]'
    1191           0 :         if ((!((msg__)->ReadSentinel(iter__, 454836120)))) {
    1192           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'HeaderEntry[i]'");
    1193           0 :             return false;
    1194             :         }
    1195             :     }
    1196           0 :     (v__)->SwapElements(fa);
    1197           0 :     return true;
    1198             : }
    1199             : 
    1200           0 : auto PMessagePortChild::Write(
    1201             :         const SlicedInputStreamParams& v__,
    1202             :         Message* msg__) -> void
    1203             : {
    1204           0 :     Write((v__).stream(), msg__);
    1205             :     // Sentinel = 'stream'
    1206           0 :     (msg__)->WriteSentinel(4152748422);
    1207           0 :     Write((v__).start(), msg__);
    1208             :     // Sentinel = 'start'
    1209           0 :     (msg__)->WriteSentinel(2088644401);
    1210           0 :     Write((v__).length(), msg__);
    1211             :     // Sentinel = 'length'
    1212           0 :     (msg__)->WriteSentinel(1726618354);
    1213           0 :     Write((v__).curPos(), msg__);
    1214             :     // Sentinel = 'curPos'
    1215           0 :     (msg__)->WriteSentinel(4042140974);
    1216           0 :     Write((v__).closed(), msg__);
    1217             :     // Sentinel = 'closed'
    1218           0 :     (msg__)->WriteSentinel(561249462);
    1219           0 : }
    1220             : 
    1221           0 : auto PMessagePortChild::Read(
    1222             :         SlicedInputStreamParams* v__,
    1223             :         const Message* msg__,
    1224             :         PickleIterator* iter__) -> bool
    1225             : {
    1226           0 :     if ((!(Read((&((v__)->stream())), msg__, iter__)))) {
    1227           0 :         FatalError("Error deserializing 'stream' (InputStreamParams) member of 'SlicedInputStreamParams'");
    1228           0 :         return false;
    1229             :     }
    1230             :     // Sentinel = 'stream'
    1231           0 :     if ((!((msg__)->ReadSentinel(iter__, 4152748422)))) {
    1232           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'stream' (InputStreamParams) member of 'SlicedInputStreamParams'");
    1233           0 :         return false;
    1234             :     }
    1235           0 :     if ((!(Read((&((v__)->start())), msg__, iter__)))) {
    1236           0 :         FatalError("Error deserializing 'start' (uint64_t) member of 'SlicedInputStreamParams'");
    1237           0 :         return false;
    1238             :     }
    1239             :     // Sentinel = 'start'
    1240           0 :     if ((!((msg__)->ReadSentinel(iter__, 2088644401)))) {
    1241           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'start' (uint64_t) member of 'SlicedInputStreamParams'");
    1242           0 :         return false;
    1243             :     }
    1244           0 :     if ((!(Read((&((v__)->length())), msg__, iter__)))) {
    1245           0 :         FatalError("Error deserializing 'length' (uint64_t) member of 'SlicedInputStreamParams'");
    1246           0 :         return false;
    1247             :     }
    1248             :     // Sentinel = 'length'
    1249           0 :     if ((!((msg__)->ReadSentinel(iter__, 1726618354)))) {
    1250           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'length' (uint64_t) member of 'SlicedInputStreamParams'");
    1251           0 :         return false;
    1252             :     }
    1253           0 :     if ((!(Read((&((v__)->curPos())), msg__, iter__)))) {
    1254           0 :         FatalError("Error deserializing 'curPos' (uint64_t) member of 'SlicedInputStreamParams'");
    1255           0 :         return false;
    1256             :     }
    1257             :     // Sentinel = 'curPos'
    1258           0 :     if ((!((msg__)->ReadSentinel(iter__, 4042140974)))) {
    1259           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'curPos' (uint64_t) member of 'SlicedInputStreamParams'");
    1260           0 :         return false;
    1261             :     }
    1262           0 :     if ((!(Read((&((v__)->closed())), msg__, iter__)))) {
    1263           0 :         FatalError("Error deserializing 'closed' (bool) member of 'SlicedInputStreamParams'");
    1264           0 :         return false;
    1265             :     }
    1266             :     // Sentinel = 'closed'
    1267           0 :     if ((!((msg__)->ReadSentinel(iter__, 561249462)))) {
    1268           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'closed' (bool) member of 'SlicedInputStreamParams'");
    1269           0 :         return false;
    1270             :     }
    1271           0 :     return true;
    1272             : }
    1273             : 
    1274           0 : auto PMessagePortChild::Write(
    1275             :         const IPCRemoteStreamType& v__,
    1276             :         Message* msg__) -> void
    1277             : {
    1278             :     typedef IPCRemoteStreamType type__;
    1279           0 :     Write(int((v__).type()), msg__);
    1280             :     // Sentinel = 'IPCRemoteStreamType'
    1281           0 :     (msg__)->WriteSentinel(391674895);
    1282             : 
    1283           0 :     switch ((v__).type()) {
    1284             :     case type__::TPChildToParentStreamParent:
    1285             :         {
    1286           0 :             FatalError("wrong side!");
    1287           0 :             return;
    1288             :         }
    1289             :     case type__::TPChildToParentStreamChild:
    1290             :         {
    1291           0 :             Write((v__).get_PChildToParentStreamChild(), msg__, false);
    1292             :             // Sentinel = 'TPChildToParentStreamChild'
    1293           0 :             (msg__)->WriteSentinel(1882094295);
    1294           0 :             return;
    1295             :         }
    1296             :     case type__::TPParentToChildStreamParent:
    1297             :         {
    1298           0 :             FatalError("wrong side!");
    1299           0 :             return;
    1300             :         }
    1301             :     case type__::TPParentToChildStreamChild:
    1302             :         {
    1303           0 :             Write((v__).get_PParentToChildStreamChild(), msg__, false);
    1304             :             // Sentinel = 'TPParentToChildStreamChild'
    1305           0 :             (msg__)->WriteSentinel(190098493);
    1306           0 :             return;
    1307             :         }
    1308             :     default:
    1309             :         {
    1310           0 :             FatalError("unknown union type");
    1311           0 :             return;
    1312             :         }
    1313             :     }
    1314             : }
    1315             : 
    1316           0 : auto PMessagePortChild::Read(
    1317             :         IPCRemoteStreamType* v__,
    1318             :         const Message* msg__,
    1319             :         PickleIterator* iter__) -> bool
    1320             : {
    1321             :     typedef IPCRemoteStreamType type__;
    1322             :     int type;
    1323           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1324           0 :         mozilla::ipc::UnionTypeReadError("IPCRemoteStreamType");
    1325           0 :         return false;
    1326             :     }
    1327             :     // Sentinel = 'IPCRemoteStreamType'
    1328           0 :     if ((!((msg__)->ReadSentinel(iter__, 391674895)))) {
    1329           0 :         mozilla::ipc::SentinelReadError("IPCRemoteStreamType");
    1330           0 :         return false;
    1331             :     }
    1332             : 
    1333           0 :     switch (type) {
    1334             :     case type__::TPChildToParentStreamParent:
    1335             :         {
    1336           0 :             PChildToParentStreamChild* tmp = nullptr;
    1337           0 :             (*(v__)) = tmp;
    1338           0 :             if ((!(Read((&((v__)->get_PChildToParentStreamChild())), msg__, iter__, false)))) {
    1339           0 :                 FatalError("Error deserializing Union type");
    1340           0 :                 return false;
    1341             :             }
    1342             :             // Sentinel = 'TPChildToParentStreamParent'
    1343           0 :             if ((!((msg__)->ReadSentinel(iter__, 2724777622)))) {
    1344           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1345           0 :                 return false;
    1346             :             }
    1347           0 :             return true;
    1348             :         }
    1349             :     case type__::TPChildToParentStreamChild:
    1350             :         {
    1351           0 :             return false;
    1352             :         }
    1353             :     case type__::TPParentToChildStreamParent:
    1354             :         {
    1355           0 :             PParentToChildStreamChild* tmp = nullptr;
    1356           0 :             (*(v__)) = tmp;
    1357           0 :             if ((!(Read((&((v__)->get_PParentToChildStreamChild())), msg__, iter__, false)))) {
    1358           0 :                 FatalError("Error deserializing Union type");
    1359           0 :                 return false;
    1360             :             }
    1361             :             // Sentinel = 'TPParentToChildStreamParent'
    1362           0 :             if ((!((msg__)->ReadSentinel(iter__, 3335986876)))) {
    1363           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1364           0 :                 return false;
    1365             :             }
    1366           0 :             return true;
    1367             :         }
    1368             :     case type__::TPParentToChildStreamChild:
    1369             :         {
    1370           0 :             return false;
    1371             :         }
    1372             :     default:
    1373             :         {
    1374           0 :             FatalError("unknown union type");
    1375           0 :             return false;
    1376             :         }
    1377             :     }
    1378             : }
    1379             : 
    1380           0 : auto PMessagePortChild::Write(
    1381             :         const TemporaryFileInputStreamParams& v__,
    1382             :         Message* msg__) -> void
    1383             : {
    1384           0 :     Write((v__).fileDescriptorIndex(), msg__);
    1385             :     // Sentinel = 'fileDescriptorIndex'
    1386           0 :     (msg__)->WriteSentinel(587329112);
    1387           0 :     Write((v__).startPos(), msg__);
    1388             :     // Sentinel = 'startPos'
    1389           0 :     (msg__)->WriteSentinel(557207962);
    1390           0 :     Write((v__).endPos(), msg__);
    1391             :     // Sentinel = 'endPos'
    1392           0 :     (msg__)->WriteSentinel(881536245);
    1393           0 : }
    1394             : 
    1395           0 : auto PMessagePortChild::Read(
    1396             :         TemporaryFileInputStreamParams* v__,
    1397             :         const Message* msg__,
    1398             :         PickleIterator* iter__) -> bool
    1399             : {
    1400           0 :     if ((!(Read((&((v__)->fileDescriptorIndex())), msg__, iter__)))) {
    1401           0 :         FatalError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'TemporaryFileInputStreamParams'");
    1402           0 :         return false;
    1403             :     }
    1404             :     // Sentinel = 'fileDescriptorIndex'
    1405           0 :     if ((!((msg__)->ReadSentinel(iter__, 587329112)))) {
    1406           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'TemporaryFileInputStreamParams'");
    1407           0 :         return false;
    1408             :     }
    1409           0 :     if ((!(Read((&((v__)->startPos())), msg__, iter__)))) {
    1410           0 :         FatalError("Error deserializing 'startPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1411           0 :         return false;
    1412             :     }
    1413             :     // Sentinel = 'startPos'
    1414           0 :     if ((!((msg__)->ReadSentinel(iter__, 557207962)))) {
    1415           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'startPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1416           0 :         return false;
    1417             :     }
    1418           0 :     if ((!(Read((&((v__)->endPos())), msg__, iter__)))) {
    1419           0 :         FatalError("Error deserializing 'endPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1420           0 :         return false;
    1421             :     }
    1422             :     // Sentinel = 'endPos'
    1423           0 :     if ((!((msg__)->ReadSentinel(iter__, 881536245)))) {
    1424           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'endPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1425           0 :         return false;
    1426             :     }
    1427           0 :     return true;
    1428             : }
    1429             : 
    1430           0 : auto PMessagePortChild::Write(
    1431             :         const MIMEInputStreamParams& v__,
    1432             :         Message* msg__) -> void
    1433             : {
    1434           0 :     Write((v__).optionalStream(), msg__);
    1435             :     // Sentinel = 'optionalStream'
    1436           0 :     (msg__)->WriteSentinel(1003718562);
    1437           0 :     Write((v__).headers(), msg__);
    1438             :     // Sentinel = 'headers'
    1439           0 :     (msg__)->WriteSentinel(4284175217);
    1440           0 :     Write((v__).startedReading(), msg__);
    1441             :     // Sentinel = 'startedReading'
    1442           0 :     (msg__)->WriteSentinel(1906875903);
    1443           0 : }
    1444             : 
    1445           0 : auto PMessagePortChild::Read(
    1446             :         MIMEInputStreamParams* v__,
    1447             :         const Message* msg__,
    1448             :         PickleIterator* iter__) -> bool
    1449             : {
    1450           0 :     if ((!(Read((&((v__)->optionalStream())), msg__, iter__)))) {
    1451           0 :         FatalError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'MIMEInputStreamParams'");
    1452           0 :         return false;
    1453             :     }
    1454             :     // Sentinel = 'optionalStream'
    1455           0 :     if ((!((msg__)->ReadSentinel(iter__, 1003718562)))) {
    1456           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'MIMEInputStreamParams'");
    1457           0 :         return false;
    1458             :     }
    1459           0 :     if ((!(Read((&((v__)->headers())), msg__, iter__)))) {
    1460           0 :         FatalError("Error deserializing 'headers' (HeaderEntry[]) member of 'MIMEInputStreamParams'");
    1461           0 :         return false;
    1462             :     }
    1463             :     // Sentinel = 'headers'
    1464           0 :     if ((!((msg__)->ReadSentinel(iter__, 4284175217)))) {
    1465           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'headers' (HeaderEntry[]) member of 'MIMEInputStreamParams'");
    1466           0 :         return false;
    1467             :     }
    1468           0 :     if ((!(Read((&((v__)->startedReading())), msg__, iter__)))) {
    1469           0 :         FatalError("Error deserializing 'startedReading' (bool) member of 'MIMEInputStreamParams'");
    1470           0 :         return false;
    1471             :     }
    1472             :     // Sentinel = 'startedReading'
    1473           0 :     if ((!((msg__)->ReadSentinel(iter__, 1906875903)))) {
    1474           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'startedReading' (bool) member of 'MIMEInputStreamParams'");
    1475           0 :         return false;
    1476             :     }
    1477           0 :     return true;
    1478             : }
    1479             : 
    1480           0 : auto PMessagePortChild::Write(
    1481             :         const InputStreamParams& v__,
    1482             :         Message* msg__) -> void
    1483             : {
    1484             :     typedef InputStreamParams type__;
    1485           0 :     Write(int((v__).type()), msg__);
    1486             :     // Sentinel = 'InputStreamParams'
    1487           0 :     (msg__)->WriteSentinel(4114814015);
    1488             : 
    1489           0 :     switch ((v__).type()) {
    1490             :     case type__::TStringInputStreamParams:
    1491             :         {
    1492           0 :             Write((v__).get_StringInputStreamParams(), msg__);
    1493             :             // Sentinel = 'TStringInputStreamParams'
    1494           0 :             (msg__)->WriteSentinel(3395831651);
    1495           0 :             return;
    1496             :         }
    1497             :     case type__::TFileInputStreamParams:
    1498             :         {
    1499           0 :             Write((v__).get_FileInputStreamParams(), msg__);
    1500             :             // Sentinel = 'TFileInputStreamParams'
    1501           0 :             (msg__)->WriteSentinel(2543620282);
    1502           0 :             return;
    1503             :         }
    1504             :     case type__::TTemporaryFileInputStreamParams:
    1505             :         {
    1506           0 :             Write((v__).get_TemporaryFileInputStreamParams(), msg__);
    1507             :             // Sentinel = 'TTemporaryFileInputStreamParams'
    1508           0 :             (msg__)->WriteSentinel(587771548);
    1509           0 :             return;
    1510             :         }
    1511             :     case type__::TBufferedInputStreamParams:
    1512             :         {
    1513           0 :             Write((v__).get_BufferedInputStreamParams(), msg__);
    1514             :             // Sentinel = 'TBufferedInputStreamParams'
    1515           0 :             (msg__)->WriteSentinel(1698289307);
    1516           0 :             return;
    1517             :         }
    1518             :     case type__::TMIMEInputStreamParams:
    1519             :         {
    1520           0 :             Write((v__).get_MIMEInputStreamParams(), msg__);
    1521             :             // Sentinel = 'TMIMEInputStreamParams'
    1522           0 :             (msg__)->WriteSentinel(1948001964);
    1523           0 :             return;
    1524             :         }
    1525             :     case type__::TMultiplexInputStreamParams:
    1526             :         {
    1527           0 :             Write((v__).get_MultiplexInputStreamParams(), msg__);
    1528             :             // Sentinel = 'TMultiplexInputStreamParams'
    1529           0 :             (msg__)->WriteSentinel(3317853213);
    1530           0 :             return;
    1531             :         }
    1532             :     case type__::TSlicedInputStreamParams:
    1533             :         {
    1534           0 :             Write((v__).get_SlicedInputStreamParams(), msg__);
    1535             :             // Sentinel = 'TSlicedInputStreamParams'
    1536           0 :             (msg__)->WriteSentinel(445810472);
    1537           0 :             return;
    1538             :         }
    1539             :     case type__::TIPCBlobInputStreamParams:
    1540             :         {
    1541           0 :             Write((v__).get_IPCBlobInputStreamParams(), msg__);
    1542             :             // Sentinel = 'TIPCBlobInputStreamParams'
    1543           0 :             (msg__)->WriteSentinel(2436989998);
    1544           0 :             return;
    1545             :         }
    1546             :     default:
    1547             :         {
    1548           0 :             FatalError("unknown union type");
    1549           0 :             return;
    1550             :         }
    1551             :     }
    1552             : }
    1553             : 
    1554           0 : auto PMessagePortChild::Read(
    1555             :         InputStreamParams* v__,
    1556             :         const Message* msg__,
    1557             :         PickleIterator* iter__) -> bool
    1558             : {
    1559             :     typedef InputStreamParams type__;
    1560             :     int type;
    1561           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1562           0 :         mozilla::ipc::UnionTypeReadError("InputStreamParams");
    1563           0 :         return false;
    1564             :     }
    1565             :     // Sentinel = 'InputStreamParams'
    1566           0 :     if ((!((msg__)->ReadSentinel(iter__, 4114814015)))) {
    1567           0 :         mozilla::ipc::SentinelReadError("InputStreamParams");
    1568           0 :         return false;
    1569             :     }
    1570             : 
    1571           0 :     switch (type) {
    1572             :     case type__::TStringInputStreamParams:
    1573             :         {
    1574           0 :             StringInputStreamParams tmp = StringInputStreamParams();
    1575           0 :             (*(v__)) = tmp;
    1576           0 :             if ((!(Read((&((v__)->get_StringInputStreamParams())), msg__, iter__)))) {
    1577           0 :                 FatalError("Error deserializing Union type");
    1578           0 :                 return false;
    1579             :             }
    1580             :             // Sentinel = 'TStringInputStreamParams'
    1581           0 :             if ((!((msg__)->ReadSentinel(iter__, 3395831651)))) {
    1582           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1583           0 :                 return false;
    1584             :             }
    1585           0 :             return true;
    1586             :         }
    1587             :     case type__::TFileInputStreamParams:
    1588             :         {
    1589           0 :             FileInputStreamParams tmp = FileInputStreamParams();
    1590           0 :             (*(v__)) = tmp;
    1591           0 :             if ((!(Read((&((v__)->get_FileInputStreamParams())), msg__, iter__)))) {
    1592           0 :                 FatalError("Error deserializing Union type");
    1593           0 :                 return false;
    1594             :             }
    1595             :             // Sentinel = 'TFileInputStreamParams'
    1596           0 :             if ((!((msg__)->ReadSentinel(iter__, 2543620282)))) {
    1597           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1598           0 :                 return false;
    1599             :             }
    1600           0 :             return true;
    1601             :         }
    1602             :     case type__::TTemporaryFileInputStreamParams:
    1603             :         {
    1604           0 :             TemporaryFileInputStreamParams tmp = TemporaryFileInputStreamParams();
    1605           0 :             (*(v__)) = tmp;
    1606           0 :             if ((!(Read((&((v__)->get_TemporaryFileInputStreamParams())), msg__, iter__)))) {
    1607           0 :                 FatalError("Error deserializing Union type");
    1608           0 :                 return false;
    1609             :             }
    1610             :             // Sentinel = 'TTemporaryFileInputStreamParams'
    1611           0 :             if ((!((msg__)->ReadSentinel(iter__, 587771548)))) {
    1612           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1613           0 :                 return false;
    1614             :             }
    1615           0 :             return true;
    1616             :         }
    1617             :     case type__::TBufferedInputStreamParams:
    1618             :         {
    1619           0 :             BufferedInputStreamParams tmp = BufferedInputStreamParams();
    1620           0 :             (*(v__)) = tmp;
    1621           0 :             if ((!(Read((&((v__)->get_BufferedInputStreamParams())), msg__, iter__)))) {
    1622           0 :                 FatalError("Error deserializing Union type");
    1623           0 :                 return false;
    1624             :             }
    1625             :             // Sentinel = 'TBufferedInputStreamParams'
    1626           0 :             if ((!((msg__)->ReadSentinel(iter__, 1698289307)))) {
    1627           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1628           0 :                 return false;
    1629             :             }
    1630           0 :             return true;
    1631             :         }
    1632             :     case type__::TMIMEInputStreamParams:
    1633             :         {
    1634           0 :             MIMEInputStreamParams tmp = MIMEInputStreamParams();
    1635           0 :             (*(v__)) = tmp;
    1636           0 :             if ((!(Read((&((v__)->get_MIMEInputStreamParams())), msg__, iter__)))) {
    1637           0 :                 FatalError("Error deserializing Union type");
    1638           0 :                 return false;
    1639             :             }
    1640             :             // Sentinel = 'TMIMEInputStreamParams'
    1641           0 :             if ((!((msg__)->ReadSentinel(iter__, 1948001964)))) {
    1642           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1643           0 :                 return false;
    1644             :             }
    1645           0 :             return true;
    1646             :         }
    1647             :     case type__::TMultiplexInputStreamParams:
    1648             :         {
    1649           0 :             MultiplexInputStreamParams tmp = MultiplexInputStreamParams();
    1650           0 :             (*(v__)) = tmp;
    1651           0 :             if ((!(Read((&((v__)->get_MultiplexInputStreamParams())), msg__, iter__)))) {
    1652           0 :                 FatalError("Error deserializing Union type");
    1653           0 :                 return false;
    1654             :             }
    1655             :             // Sentinel = 'TMultiplexInputStreamParams'
    1656           0 :             if ((!((msg__)->ReadSentinel(iter__, 3317853213)))) {
    1657           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1658           0 :                 return false;
    1659             :             }
    1660           0 :             return true;
    1661             :         }
    1662             :     case type__::TSlicedInputStreamParams:
    1663             :         {
    1664           0 :             SlicedInputStreamParams tmp = SlicedInputStreamParams();
    1665           0 :             (*(v__)) = tmp;
    1666           0 :             if ((!(Read((&((v__)->get_SlicedInputStreamParams())), msg__, iter__)))) {
    1667           0 :                 FatalError("Error deserializing Union type");
    1668           0 :                 return false;
    1669             :             }
    1670             :             // Sentinel = 'TSlicedInputStreamParams'
    1671           0 :             if ((!((msg__)->ReadSentinel(iter__, 445810472)))) {
    1672           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1673           0 :                 return false;
    1674             :             }
    1675           0 :             return true;
    1676             :         }
    1677             :     case type__::TIPCBlobInputStreamParams:
    1678             :         {
    1679           0 :             IPCBlobInputStreamParams tmp = IPCBlobInputStreamParams();
    1680           0 :             (*(v__)) = tmp;
    1681           0 :             if ((!(Read((&((v__)->get_IPCBlobInputStreamParams())), msg__, iter__)))) {
    1682           0 :                 FatalError("Error deserializing Union type");
    1683           0 :                 return false;
    1684             :             }
    1685             :             // Sentinel = 'TIPCBlobInputStreamParams'
    1686           0 :             if ((!((msg__)->ReadSentinel(iter__, 2436989998)))) {
    1687           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1688           0 :                 return false;
    1689             :             }
    1690           0 :             return true;
    1691             :         }
    1692             :     default:
    1693             :         {
    1694           0 :             FatalError("unknown union type");
    1695           0 :             return false;
    1696             :         }
    1697             :     }
    1698             : }
    1699             : 
    1700           0 : auto PMessagePortChild::Write(
    1701             :         const PParentToChildStreamChild* v__,
    1702             :         Message* msg__,
    1703             :         bool nullable__) -> void
    1704             : {
    1705             :     int32_t id;
    1706           0 :     if ((!(v__))) {
    1707           0 :         if ((!(nullable__))) {
    1708           0 :             FatalError("NULL actor value passed to non-nullable param");
    1709             :         }
    1710           0 :         id = 0;
    1711             :     }
    1712             :     else {
    1713           0 :         id = (v__)->Id();
    1714           0 :         if ((1) == (id)) {
    1715           0 :             FatalError("actor has been |delete|d");
    1716             :         }
    1717             :     }
    1718             : 
    1719           0 :     Write(id, msg__);
    1720           0 : }
    1721             : 
    1722           0 : auto PMessagePortChild::Read(
    1723             :         PParentToChildStreamChild** v__,
    1724             :         const Message* msg__,
    1725             :         PickleIterator* iter__,
    1726             :         bool nullable__) -> bool
    1727             : {
    1728           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PParentToChildStream", PParentToChildStreamMsgStart);
    1729           0 :     if ((actor).isNothing()) {
    1730           0 :         return false;
    1731             :     }
    1732             : 
    1733           0 :     (*(v__)) = static_cast<PParentToChildStreamChild*>((actor).value());
    1734           0 :     return true;
    1735             : }
    1736             : 
    1737           0 : auto PMessagePortChild::Write(
    1738             :         const IPCStream& v__,
    1739             :         Message* msg__) -> void
    1740             : {
    1741             :     typedef IPCStream type__;
    1742           0 :     Write(int((v__).type()), msg__);
    1743             :     // Sentinel = 'IPCStream'
    1744           0 :     (msg__)->WriteSentinel(442610715);
    1745             : 
    1746           0 :     switch ((v__).type()) {
    1747             :     case type__::TInputStreamParamsWithFds:
    1748             :         {
    1749           0 :             Write((v__).get_InputStreamParamsWithFds(), msg__);
    1750             :             // Sentinel = 'TInputStreamParamsWithFds'
    1751           0 :             (msg__)->WriteSentinel(2170706066);
    1752           0 :             return;
    1753             :         }
    1754             :     case type__::TIPCRemoteStream:
    1755             :         {
    1756           0 :             Write((v__).get_IPCRemoteStream(), msg__);
    1757             :             // Sentinel = 'TIPCRemoteStream'
    1758           0 :             (msg__)->WriteSentinel(2978132448);
    1759           0 :             return;
    1760             :         }
    1761             :     default:
    1762             :         {
    1763           0 :             FatalError("unknown union type");
    1764           0 :             return;
    1765             :         }
    1766             :     }
    1767             : }
    1768             : 
    1769           0 : auto PMessagePortChild::Read(
    1770             :         IPCStream* v__,
    1771             :         const Message* msg__,
    1772             :         PickleIterator* iter__) -> bool
    1773             : {
    1774             :     typedef IPCStream type__;
    1775             :     int type;
    1776           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1777           0 :         mozilla::ipc::UnionTypeReadError("IPCStream");
    1778           0 :         return false;
    1779             :     }
    1780             :     // Sentinel = 'IPCStream'
    1781           0 :     if ((!((msg__)->ReadSentinel(iter__, 442610715)))) {
    1782           0 :         mozilla::ipc::SentinelReadError("IPCStream");
    1783           0 :         return false;
    1784             :     }
    1785             : 
    1786           0 :     switch (type) {
    1787             :     case type__::TInputStreamParamsWithFds:
    1788             :         {
    1789           0 :             InputStreamParamsWithFds tmp = InputStreamParamsWithFds();
    1790           0 :             (*(v__)) = tmp;
    1791           0 :             if ((!(Read((&((v__)->get_InputStreamParamsWithFds())), msg__, iter__)))) {
    1792           0 :                 FatalError("Error deserializing Union type");
    1793           0 :                 return false;
    1794             :             }
    1795             :             // Sentinel = 'TInputStreamParamsWithFds'
    1796           0 :             if ((!((msg__)->ReadSentinel(iter__, 2170706066)))) {
    1797           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1798           0 :                 return false;
    1799             :             }
    1800           0 :             return true;
    1801             :         }
    1802             :     case type__::TIPCRemoteStream:
    1803             :         {
    1804           0 :             IPCRemoteStream tmp = IPCRemoteStream();
    1805           0 :             (*(v__)) = tmp;
    1806           0 :             if ((!(Read((&((v__)->get_IPCRemoteStream())), msg__, iter__)))) {
    1807           0 :                 FatalError("Error deserializing Union type");
    1808           0 :                 return false;
    1809             :             }
    1810             :             // Sentinel = 'TIPCRemoteStream'
    1811           0 :             if ((!((msg__)->ReadSentinel(iter__, 2978132448)))) {
    1812           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1813           0 :                 return false;
    1814             :             }
    1815           0 :             return true;
    1816             :         }
    1817             :     default:
    1818             :         {
    1819           0 :             FatalError("unknown union type");
    1820           0 :             return false;
    1821             :         }
    1822             :     }
    1823             : }
    1824             : 
    1825           0 : auto PMessagePortChild::Write(
    1826             :         const StringInputStreamParams& v__,
    1827             :         Message* msg__) -> void
    1828             : {
    1829           0 :     Write((v__).data(), msg__);
    1830             :     // Sentinel = 'data'
    1831           0 :     (msg__)->WriteSentinel(843352540);
    1832           0 : }
    1833             : 
    1834           0 : auto PMessagePortChild::Read(
    1835             :         StringInputStreamParams* v__,
    1836             :         const Message* msg__,
    1837             :         PickleIterator* iter__) -> bool
    1838             : {
    1839           0 :     if ((!(Read((&((v__)->data())), msg__, iter__)))) {
    1840           0 :         FatalError("Error deserializing 'data' (nsCString) member of 'StringInputStreamParams'");
    1841           0 :         return false;
    1842             :     }
    1843             :     // Sentinel = 'data'
    1844           0 :     if ((!((msg__)->ReadSentinel(iter__, 843352540)))) {
    1845           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'data' (nsCString) member of 'StringInputStreamParams'");
    1846           0 :         return false;
    1847             :     }
    1848           0 :     return true;
    1849             : }
    1850             : 
    1851           0 : auto PMessagePortChild::Write(
    1852             :         const MultiplexInputStreamParams& v__,
    1853             :         Message* msg__) -> void
    1854             : {
    1855           0 :     Write((v__).streams(), msg__);
    1856             :     // Sentinel = 'streams'
    1857           0 :     (msg__)->WriteSentinel(4240383220);
    1858           0 :     Write((v__).currentStream(), msg__);
    1859             :     // Sentinel = 'currentStream'
    1860           0 :     (msg__)->WriteSentinel(682778074);
    1861           0 :     Write((v__).status(), msg__);
    1862             :     // Sentinel = 'status'
    1863           0 :     (msg__)->WriteSentinel(3714608576);
    1864           0 :     Write((v__).startedReadingCurrent(), msg__);
    1865             :     // Sentinel = 'startedReadingCurrent'
    1866           0 :     (msg__)->WriteSentinel(970542033);
    1867           0 : }
    1868             : 
    1869           0 : auto PMessagePortChild::Read(
    1870             :         MultiplexInputStreamParams* v__,
    1871             :         const Message* msg__,
    1872             :         PickleIterator* iter__) -> bool
    1873             : {
    1874           0 :     if ((!(Read((&((v__)->streams())), msg__, iter__)))) {
    1875           0 :         FatalError("Error deserializing 'streams' (InputStreamParams[]) member of 'MultiplexInputStreamParams'");
    1876           0 :         return false;
    1877             :     }
    1878             :     // Sentinel = 'streams'
    1879           0 :     if ((!((msg__)->ReadSentinel(iter__, 4240383220)))) {
    1880           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'streams' (InputStreamParams[]) member of 'MultiplexInputStreamParams'");
    1881           0 :         return false;
    1882             :     }
    1883           0 :     if ((!(Read((&((v__)->currentStream())), msg__, iter__)))) {
    1884           0 :         FatalError("Error deserializing 'currentStream' (uint32_t) member of 'MultiplexInputStreamParams'");
    1885           0 :         return false;
    1886             :     }
    1887             :     // Sentinel = 'currentStream'
    1888           0 :     if ((!((msg__)->ReadSentinel(iter__, 682778074)))) {
    1889           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'currentStream' (uint32_t) member of 'MultiplexInputStreamParams'");
    1890           0 :         return false;
    1891             :     }
    1892           0 :     if ((!(Read((&((v__)->status())), msg__, iter__)))) {
    1893           0 :         FatalError("Error deserializing 'status' (nsresult) member of 'MultiplexInputStreamParams'");
    1894           0 :         return false;
    1895             :     }
    1896             :     // Sentinel = 'status'
    1897           0 :     if ((!((msg__)->ReadSentinel(iter__, 3714608576)))) {
    1898           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'status' (nsresult) member of 'MultiplexInputStreamParams'");
    1899           0 :         return false;
    1900             :     }
    1901           0 :     if ((!(Read((&((v__)->startedReadingCurrent())), msg__, iter__)))) {
    1902           0 :         FatalError("Error deserializing 'startedReadingCurrent' (bool) member of 'MultiplexInputStreamParams'");
    1903           0 :         return false;
    1904             :     }
    1905             :     // Sentinel = 'startedReadingCurrent'
    1906           0 :     if ((!((msg__)->ReadSentinel(iter__, 970542033)))) {
    1907           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'startedReadingCurrent' (bool) member of 'MultiplexInputStreamParams'");
    1908           0 :         return false;
    1909             :     }
    1910           0 :     return true;
    1911             : }
    1912             : 
    1913           0 : auto PMessagePortChild::Write(
    1914             :         const PFileDescriptorSetChild* v__,
    1915             :         Message* msg__,
    1916             :         bool nullable__) -> void
    1917             : {
    1918             :     int32_t id;
    1919           0 :     if ((!(v__))) {
    1920           0 :         if ((!(nullable__))) {
    1921           0 :             FatalError("NULL actor value passed to non-nullable param");
    1922             :         }
    1923           0 :         id = 0;
    1924             :     }
    1925             :     else {
    1926           0 :         id = (v__)->Id();
    1927           0 :         if ((1) == (id)) {
    1928           0 :             FatalError("actor has been |delete|d");
    1929             :         }
    1930             :     }
    1931             : 
    1932           0 :     Write(id, msg__);
    1933           0 : }
    1934             : 
    1935           0 : auto PMessagePortChild::Read(
    1936             :         PFileDescriptorSetChild** v__,
    1937             :         const Message* msg__,
    1938             :         PickleIterator* iter__,
    1939             :         bool nullable__) -> bool
    1940             : {
    1941           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PFileDescriptorSet", PFileDescriptorSetMsgStart);
    1942           0 :     if ((actor).isNothing()) {
    1943           0 :         return false;
    1944             :     }
    1945             : 
    1946           0 :     (*(v__)) = static_cast<PFileDescriptorSetChild*>((actor).value());
    1947           0 :     return true;
    1948             : }
    1949             : 
    1950           0 : auto PMessagePortChild::Write(
    1951             :         const PIPCBlobInputStreamChild* v__,
    1952             :         Message* msg__,
    1953             :         bool nullable__) -> void
    1954             : {
    1955             :     int32_t id;
    1956           0 :     if ((!(v__))) {
    1957           0 :         if ((!(nullable__))) {
    1958           0 :             FatalError("NULL actor value passed to non-nullable param");
    1959             :         }
    1960           0 :         id = 0;
    1961             :     }
    1962             :     else {
    1963           0 :         id = (v__)->Id();
    1964           0 :         if ((1) == (id)) {
    1965           0 :             FatalError("actor has been |delete|d");
    1966             :         }
    1967             :     }
    1968             : 
    1969           0 :     Write(id, msg__);
    1970           0 : }
    1971             : 
    1972           0 : auto PMessagePortChild::Read(
    1973             :         PIPCBlobInputStreamChild** v__,
    1974             :         const Message* msg__,
    1975             :         PickleIterator* iter__,
    1976             :         bool nullable__) -> bool
    1977             : {
    1978           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PIPCBlobInputStream", PIPCBlobInputStreamMsgStart);
    1979           0 :     if ((actor).isNothing()) {
    1980           0 :         return false;
    1981             :     }
    1982             : 
    1983           0 :     (*(v__)) = static_cast<PIPCBlobInputStreamChild*>((actor).value());
    1984           0 :     return true;
    1985             : }
    1986             : 
    1987           0 : auto PMessagePortChild::Write(
    1988             :         const OptionalFileDescriptorSet& v__,
    1989             :         Message* msg__) -> void
    1990             : {
    1991             :     typedef OptionalFileDescriptorSet type__;
    1992           0 :     Write(int((v__).type()), msg__);
    1993             :     // Sentinel = 'OptionalFileDescriptorSet'
    1994           0 :     (msg__)->WriteSentinel(955222862);
    1995             : 
    1996           0 :     switch ((v__).type()) {
    1997             :     case type__::TPFileDescriptorSetParent:
    1998             :         {
    1999           0 :             FatalError("wrong side!");
    2000           0 :             return;
    2001             :         }
    2002             :     case type__::TPFileDescriptorSetChild:
    2003             :         {
    2004           0 :             Write((v__).get_PFileDescriptorSetChild(), msg__, false);
    2005             :             // Sentinel = 'TPFileDescriptorSetChild'
    2006           0 :             (msg__)->WriteSentinel(3477929935);
    2007           0 :             return;
    2008             :         }
    2009             :     case type__::TArrayOfFileDescriptor:
    2010             :         {
    2011           0 :             Write((v__).get_ArrayOfFileDescriptor(), msg__);
    2012             :             // Sentinel = 'TArrayOfFileDescriptor'
    2013           0 :             (msg__)->WriteSentinel(2366096715);
    2014           0 :             return;
    2015             :         }
    2016             :     case type__::Tvoid_t:
    2017             :         {
    2018           0 :             Write((v__).get_void_t(), msg__);
    2019             :             // Sentinel = 'Tvoid_t'
    2020           0 :             (msg__)->WriteSentinel(3041273328);
    2021           0 :             return;
    2022             :         }
    2023             :     default:
    2024             :         {
    2025           0 :             FatalError("unknown union type");
    2026           0 :             return;
    2027             :         }
    2028             :     }
    2029             : }
    2030             : 
    2031           0 : auto PMessagePortChild::Read(
    2032             :         OptionalFileDescriptorSet* v__,
    2033             :         const Message* msg__,
    2034             :         PickleIterator* iter__) -> bool
    2035             : {
    2036             :     typedef OptionalFileDescriptorSet type__;
    2037             :     int type;
    2038           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    2039           0 :         mozilla::ipc::UnionTypeReadError("OptionalFileDescriptorSet");
    2040           0 :         return false;
    2041             :     }
    2042             :     // Sentinel = 'OptionalFileDescriptorSet'
    2043           0 :     if ((!((msg__)->ReadSentinel(iter__, 955222862)))) {
    2044           0 :         mozilla::ipc::SentinelReadError("OptionalFileDescriptorSet");
    2045           0 :         return false;
    2046             :     }
    2047             : 
    2048           0 :     switch (type) {
    2049             :     case type__::TPFileDescriptorSetParent:
    2050             :         {
    2051           0 :             PFileDescriptorSetChild* tmp = nullptr;
    2052           0 :             (*(v__)) = tmp;
    2053           0 :             if ((!(Read((&((v__)->get_PFileDescriptorSetChild())), msg__, iter__, false)))) {
    2054           0 :                 FatalError("Error deserializing Union type");
    2055           0 :                 return false;
    2056             :             }
    2057             :             // Sentinel = 'TPFileDescriptorSetParent'
    2058           0 :             if ((!((msg__)->ReadSentinel(iter__, 143041934)))) {
    2059           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2060           0 :                 return false;
    2061             :             }
    2062           0 :             return true;
    2063             :         }
    2064             :     case type__::TPFileDescriptorSetChild:
    2065             :         {
    2066           0 :             return false;
    2067             :         }
    2068             :     case type__::TArrayOfFileDescriptor:
    2069             :         {
    2070           0 :             nsTArray<FileDescriptor> tmp;
    2071           0 :             (*(v__)) = tmp;
    2072           0 :             if ((!(Read((&((v__)->get_ArrayOfFileDescriptor())), msg__, iter__)))) {
    2073           0 :                 FatalError("Error deserializing Union type");
    2074           0 :                 return false;
    2075             :             }
    2076             :             // Sentinel = 'TArrayOfFileDescriptor'
    2077           0 :             if ((!((msg__)->ReadSentinel(iter__, 2366096715)))) {
    2078           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2079           0 :                 return false;
    2080             :             }
    2081           0 :             return true;
    2082             :         }
    2083             :     case type__::Tvoid_t:
    2084             :         {
    2085             :             void_t tmp = void_t();
    2086           0 :             (*(v__)) = tmp;
    2087           0 :             if ((!(Read((&((v__)->get_void_t())), msg__, iter__)))) {
    2088           0 :                 FatalError("Error deserializing Union type");
    2089           0 :                 return false;
    2090             :             }
    2091             :             // Sentinel = 'Tvoid_t'
    2092           0 :             if ((!((msg__)->ReadSentinel(iter__, 3041273328)))) {
    2093           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2094           0 :                 return false;
    2095             :             }
    2096           0 :             return true;
    2097             :         }
    2098             :     default:
    2099             :         {
    2100           0 :             FatalError("unknown union type");
    2101           0 :             return false;
    2102             :         }
    2103             :     }
    2104             : }
    2105             : 
    2106           0 : auto PMessagePortChild::Write(
    2107             :         const nsTArray<IPCStream>& v__,
    2108             :         Message* msg__) -> void
    2109             : {
    2110           0 :     uint32_t length = (v__).Length();
    2111           0 :     Write(length, msg__);
    2112             :     // Sentinel = ('length', 'IPCStream[]')
    2113           0 :     (msg__)->WriteSentinel(790413678);
    2114             : 
    2115           0 :     for (auto& elem : v__) {
    2116           0 :         Write(elem, msg__);
    2117             :         // Sentinel = 'IPCStream[]'
    2118           0 :         (msg__)->WriteSentinel(117417041);
    2119             :     }
    2120           0 : }
    2121             : 
    2122           0 : auto PMessagePortChild::Read(
    2123             :         nsTArray<IPCStream>* v__,
    2124             :         const Message* msg__,
    2125             :         PickleIterator* iter__) -> bool
    2126             : {
    2127           0 :     nsTArray<IPCStream> fa;
    2128             :     uint32_t length;
    2129           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
    2130           0 :         mozilla::ipc::ArrayLengthReadError("IPCStream[]");
    2131           0 :         return false;
    2132             :     }
    2133             :     // Sentinel = ('length', 'IPCStream[]')
    2134           0 :     if ((!((msg__)->ReadSentinel(iter__, 790413678)))) {
    2135           0 :         mozilla::ipc::SentinelReadError("IPCStream[]");
    2136           0 :         return false;
    2137             :     }
    2138             : 
    2139           0 :     IPCStream* elems = (fa).AppendElements(length);
    2140           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
    2141           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
    2142           0 :             FatalError("Error deserializing 'IPCStream[i]'");
    2143           0 :             return false;
    2144             :         }
    2145             :         // Sentinel = 'IPCStream[]'
    2146           0 :         if ((!((msg__)->ReadSentinel(iter__, 117417041)))) {
    2147           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'IPCStream[i]'");
    2148           0 :             return false;
    2149             :         }
    2150             :     }
    2151           0 :     (v__)->SwapElements(fa);
    2152           0 :     return true;
    2153             : }
    2154             : 
    2155           0 : auto PMessagePortChild::Write(
    2156             :         const IPCBlob& v__,
    2157             :         Message* msg__) -> void
    2158             : {
    2159           0 :     Write((v__).type(), msg__);
    2160             :     // Sentinel = 'type'
    2161           0 :     (msg__)->WriteSentinel(2982068540);
    2162           0 :     Write((v__).size(), msg__);
    2163             :     // Sentinel = 'size'
    2164           0 :     (msg__)->WriteSentinel(931048223);
    2165           0 :     Write((v__).inputStream(), msg__);
    2166             :     // Sentinel = 'inputStream'
    2167           0 :     (msg__)->WriteSentinel(2684883823);
    2168           0 :     Write((v__).file(), msg__);
    2169             :     // Sentinel = 'file'
    2170           0 :     (msg__)->WriteSentinel(224874390);
    2171           0 :     Write((v__).fileId(), msg__);
    2172             :     // Sentinel = 'fileId'
    2173           0 :     (msg__)->WriteSentinel(108004447);
    2174           0 : }
    2175             : 
    2176           0 : auto PMessagePortChild::Read(
    2177             :         IPCBlob* v__,
    2178             :         const Message* msg__,
    2179             :         PickleIterator* iter__) -> bool
    2180             : {
    2181           0 :     if ((!(Read((&((v__)->type())), msg__, iter__)))) {
    2182           0 :         FatalError("Error deserializing 'type' (nsString) member of 'IPCBlob'");
    2183           0 :         return false;
    2184             :     }
    2185             :     // Sentinel = 'type'
    2186           0 :     if ((!((msg__)->ReadSentinel(iter__, 2982068540)))) {
    2187           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'type' (nsString) member of 'IPCBlob'");
    2188           0 :         return false;
    2189             :     }
    2190           0 :     if ((!(Read((&((v__)->size())), msg__, iter__)))) {
    2191           0 :         FatalError("Error deserializing 'size' (uint64_t) member of 'IPCBlob'");
    2192           0 :         return false;
    2193             :     }
    2194             :     // Sentinel = 'size'
    2195           0 :     if ((!((msg__)->ReadSentinel(iter__, 931048223)))) {
    2196           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'size' (uint64_t) member of 'IPCBlob'");
    2197           0 :         return false;
    2198             :     }
    2199           0 :     if ((!(Read((&((v__)->inputStream())), msg__, iter__)))) {
    2200           0 :         FatalError("Error deserializing 'inputStream' (IPCBlobStream) member of 'IPCBlob'");
    2201           0 :         return false;
    2202             :     }
    2203             :     // Sentinel = 'inputStream'
    2204           0 :     if ((!((msg__)->ReadSentinel(iter__, 2684883823)))) {
    2205           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'inputStream' (IPCBlobStream) member of 'IPCBlob'");
    2206           0 :         return false;
    2207             :     }
    2208           0 :     if ((!(Read((&((v__)->file())), msg__, iter__)))) {
    2209           0 :         FatalError("Error deserializing 'file' (IPCFileUnion) member of 'IPCBlob'");
    2210           0 :         return false;
    2211             :     }
    2212             :     // Sentinel = 'file'
    2213           0 :     if ((!((msg__)->ReadSentinel(iter__, 224874390)))) {
    2214           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'file' (IPCFileUnion) member of 'IPCBlob'");
    2215           0 :         return false;
    2216             :     }
    2217           0 :     if ((!(Read((&((v__)->fileId())), msg__, iter__)))) {
    2218           0 :         FatalError("Error deserializing 'fileId' (int64_t) member of 'IPCBlob'");
    2219           0 :         return false;
    2220             :     }
    2221             :     // Sentinel = 'fileId'
    2222           0 :     if ((!((msg__)->ReadSentinel(iter__, 108004447)))) {
    2223           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fileId' (int64_t) member of 'IPCBlob'");
    2224           0 :         return false;
    2225             :     }
    2226           0 :     return true;
    2227             : }
    2228             : 
    2229           0 : auto PMessagePortChild::Write(
    2230             :         const FileDescriptor& v__,
    2231             :         Message* msg__) -> void
    2232             : {
    2233           0 :     FileDescriptor::PickleType pfd = (v__).ShareTo(FileDescriptor::IPDLPrivate(), OtherPid());
    2234           0 :     IPC::WriteParam(msg__, pfd);
    2235           0 : }
    2236             : 
    2237           0 : auto PMessagePortChild::Read(
    2238             :         FileDescriptor* v__,
    2239             :         const Message* msg__,
    2240             :         PickleIterator* iter__) -> bool
    2241             : {
    2242           0 :     FileDescriptor::PickleType pfd;
    2243           0 :     if ((!(IPC::ReadParam(msg__, iter__, (&(pfd)))))) {
    2244           0 :         return false;
    2245             :     }
    2246             : 
    2247           0 :     FileDescriptor fd = FileDescriptor(FileDescriptor::IPDLPrivate(), pfd);
    2248           0 :     if ((!((fd).IsValid()))) {
    2249           0 :         mozilla::ipc::ProtocolErrorBreakpoint("[PMessagePortChild] Received an invalid file descriptor!");
    2250             :     }
    2251             : 
    2252           0 :     (*(v__)) = fd;
    2253           0 :     return true;
    2254             : }
    2255             : 
    2256           0 : auto PMessagePortChild::Write(
    2257             :         const BufferedInputStreamParams& v__,
    2258             :         Message* msg__) -> void
    2259             : {
    2260           0 :     Write((v__).optionalStream(), msg__);
    2261             :     // Sentinel = 'optionalStream'
    2262           0 :     (msg__)->WriteSentinel(1003718562);
    2263           0 :     Write((v__).bufferSize(), msg__);
    2264             :     // Sentinel = 'bufferSize'
    2265           0 :     (msg__)->WriteSentinel(3444538779);
    2266           0 : }
    2267             : 
    2268           0 : auto PMessagePortChild::Read(
    2269             :         BufferedInputStreamParams* v__,
    2270             :         const Message* msg__,
    2271             :         PickleIterator* iter__) -> bool
    2272             : {
    2273           0 :     if ((!(Read((&((v__)->optionalStream())), msg__, iter__)))) {
    2274           0 :         FatalError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'BufferedInputStreamParams'");
    2275           0 :         return false;
    2276             :     }
    2277             :     // Sentinel = 'optionalStream'
    2278           0 :     if ((!((msg__)->ReadSentinel(iter__, 1003718562)))) {
    2279           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'BufferedInputStreamParams'");
    2280           0 :         return false;
    2281             :     }
    2282           0 :     if ((!(Read((&((v__)->bufferSize())), msg__, iter__)))) {
    2283           0 :         FatalError("Error deserializing 'bufferSize' (uint32_t) member of 'BufferedInputStreamParams'");
    2284           0 :         return false;
    2285             :     }
    2286             :     // Sentinel = 'bufferSize'
    2287           0 :     if ((!((msg__)->ReadSentinel(iter__, 3444538779)))) {
    2288           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'bufferSize' (uint32_t) member of 'BufferedInputStreamParams'");
    2289           0 :         return false;
    2290             :     }
    2291           0 :     return true;
    2292             : }
    2293             : 
    2294           0 : auto PMessagePortChild::Write(
    2295             :         const HeaderEntry& v__,
    2296             :         Message* msg__) -> void
    2297             : {
    2298           0 :     Write((v__).name(), msg__);
    2299             :     // Sentinel = 'name'
    2300           0 :     (msg__)->WriteSentinel(15034981);
    2301           0 :     Write((v__).value(), msg__);
    2302             :     // Sentinel = 'value'
    2303           0 :     (msg__)->WriteSentinel(3456818542);
    2304           0 : }
    2305             : 
    2306           0 : auto PMessagePortChild::Read(
    2307             :         HeaderEntry* v__,
    2308             :         const Message* msg__,
    2309             :         PickleIterator* iter__) -> bool
    2310             : {
    2311           0 :     if ((!(Read((&((v__)->name())), msg__, iter__)))) {
    2312           0 :         FatalError("Error deserializing 'name' (nsCString) member of 'HeaderEntry'");
    2313           0 :         return false;
    2314             :     }
    2315             :     // Sentinel = 'name'
    2316           0 :     if ((!((msg__)->ReadSentinel(iter__, 15034981)))) {
    2317           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsCString) member of 'HeaderEntry'");
    2318           0 :         return false;
    2319             :     }
    2320           0 :     if ((!(Read((&((v__)->value())), msg__, iter__)))) {
    2321           0 :         FatalError("Error deserializing 'value' (nsCString) member of 'HeaderEntry'");
    2322           0 :         return false;
    2323             :     }
    2324             :     // Sentinel = 'value'
    2325           0 :     if ((!((msg__)->ReadSentinel(iter__, 3456818542)))) {
    2326           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'value' (nsCString) member of 'HeaderEntry'");
    2327           0 :         return false;
    2328             :     }
    2329           0 :     return true;
    2330             : }
    2331             : 
    2332           0 : auto PMessagePortChild::Write(
    2333             :         const PChildToParentStreamChild* v__,
    2334             :         Message* msg__,
    2335             :         bool nullable__) -> void
    2336             : {
    2337             :     int32_t id;
    2338           0 :     if ((!(v__))) {
    2339           0 :         if ((!(nullable__))) {
    2340           0 :             FatalError("NULL actor value passed to non-nullable param");
    2341             :         }
    2342           0 :         id = 0;
    2343             :     }
    2344             :     else {
    2345           0 :         id = (v__)->Id();
    2346           0 :         if ((1) == (id)) {
    2347           0 :             FatalError("actor has been |delete|d");
    2348             :         }
    2349             :     }
    2350             : 
    2351           0 :     Write(id, msg__);
    2352           0 : }
    2353             : 
    2354           0 : auto PMessagePortChild::Read(
    2355             :         PChildToParentStreamChild** v__,
    2356             :         const Message* msg__,
    2357             :         PickleIterator* iter__,
    2358             :         bool nullable__) -> bool
    2359             : {
    2360           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PChildToParentStream", PChildToParentStreamMsgStart);
    2361           0 :     if ((actor).isNothing()) {
    2362           0 :         return false;
    2363             :     }
    2364             : 
    2365           0 :     (*(v__)) = static_cast<PChildToParentStreamChild*>((actor).value());
    2366           0 :     return true;
    2367             : }
    2368             : 
    2369           0 : auto PMessagePortChild::Write(
    2370             :         const nsTArray<ClonedMessageData>& v__,
    2371             :         Message* msg__) -> void
    2372             : {
    2373           0 :     uint32_t length = (v__).Length();
    2374           0 :     Write(length, msg__);
    2375             :     // Sentinel = ('length', 'ClonedMessageData[]')
    2376           0 :     (msg__)->WriteSentinel(1394635914);
    2377             : 
    2378           0 :     for (auto& elem : v__) {
    2379           0 :         Write(elem, msg__);
    2380             :         // Sentinel = 'ClonedMessageData[]'
    2381           0 :         (msg__)->WriteSentinel(1209264901);
    2382             :     }
    2383           0 : }
    2384             : 
    2385           0 : auto PMessagePortChild::Read(
    2386             :         nsTArray<ClonedMessageData>* v__,
    2387             :         const Message* msg__,
    2388             :         PickleIterator* iter__) -> bool
    2389             : {
    2390           0 :     nsTArray<ClonedMessageData> fa;
    2391             :     uint32_t length;
    2392           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
    2393           0 :         mozilla::ipc::ArrayLengthReadError("ClonedMessageData[]");
    2394           0 :         return false;
    2395             :     }
    2396             :     // Sentinel = ('length', 'ClonedMessageData[]')
    2397           0 :     if ((!((msg__)->ReadSentinel(iter__, 1394635914)))) {
    2398           0 :         mozilla::ipc::SentinelReadError("ClonedMessageData[]");
    2399           0 :         return false;
    2400             :     }
    2401             : 
    2402           0 :     ClonedMessageData* elems = (fa).AppendElements(length);
    2403           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
    2404           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
    2405           0 :             FatalError("Error deserializing 'ClonedMessageData[i]'");
    2406           0 :             return false;
    2407             :         }
    2408             :         // Sentinel = 'ClonedMessageData[]'
    2409           0 :         if ((!((msg__)->ReadSentinel(iter__, 1209264901)))) {
    2410           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'ClonedMessageData[i]'");
    2411           0 :             return false;
    2412             :         }
    2413             :     }
    2414           0 :     (v__)->SwapElements(fa);
    2415           0 :     return true;
    2416             : }
    2417             : 
    2418             : 
    2419             : 
    2420             : } // namespace dom
    2421             : } // namespace mozilla

Generated by: LCOV version 1.13