LCOV - code coverage report
Current view: directory - objdir/ipc/ipdl - PWebSocketChild.cpp (source / functions) Found Hit Coverage
Test: app.info Lines: 287 0 0.0 %
Date: 2012-06-02 Functions: 42 0 0.0 %

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

Generated by: LCOV version 1.7