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

Generated by: LCOV version 1.7