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

       1                 : //
       2                 : // Automatically generated by ipdlc.
       3                 : // Edit at your own risk
       4                 : //
       5                 : 
       6                 : 
       7                 : #include "mozilla/plugins/PBrowserStreamParent.h"
       8                 : 
       9                 : #include "mozilla/plugins/PPluginInstanceParent.h"
      10                 : 
      11                 : typedef IPC::Message Message;
      12                 : typedef mozilla::ipc::RPCChannel Channel;
      13                 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
      14                 : typedef base::ProcessHandle ProcessHandle;
      15                 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
      16                 : typedef mozilla::ipc::SharedMemory SharedMemory;
      17                 : typedef mozilla::ipc::Trigger Trigger;
      18                 : typedef mozilla::ipc::ActorHandle ActorHandle;
      19                 : typedef mozilla::ipc::Shmem Shmem;
      20                 : typedef mozilla::plugins::Buffer Buffer;
      21                 : typedef mozilla::plugins::IPCByteRanges IPCByteRanges;
      22                 : using mozilla::plugins::PPluginInstanceParent;
      23                 : 
      24                 : namespace mozilla {
      25                 : namespace plugins {
      26                 : 
      27                 : 
      28                 : void
      29               0 : PBrowserStreamParent::ActorDestroy(ActorDestroyReason why)
      30                 : {
      31               0 : }
      32                 : 
      33               0 : PBrowserStreamParent::PBrowserStreamParent() :
      34                 :     mId(0),
      35               0 :     mState(PBrowserStream::__Dead)
      36                 : {
      37               0 :     MOZ_COUNT_CTOR(PBrowserStreamParent);
      38               0 : }
      39                 : 
      40               0 : PBrowserStreamParent::~PBrowserStreamParent()
      41                 : {
      42               0 :     MOZ_COUNT_DTOR(PBrowserStreamParent);
      43               0 : }
      44                 : 
      45                 : PPluginInstanceParent*
      46               0 : PBrowserStreamParent::Manager()
      47                 : {
      48               0 :     return static_cast<PPluginInstanceParent*>(mManager);
      49                 : }
      50                 : 
      51                 : PBrowserStream::State
      52               0 : PBrowserStreamParent::state()
      53                 : {
      54               0 :     return mState;
      55                 : }
      56                 : 
      57                 : bool
      58               0 : PBrowserStreamParent::SendWrite(
      59                 :         const int32_t& offset,
      60                 :         const Buffer& data,
      61                 :         const uint32_t& newlength)
      62                 : {
      63               0 :     PBrowserStream::Msg_Write* __msg = new PBrowserStream::Msg_Write();
      64                 : 
      65               0 :     Write(offset, __msg);
      66               0 :     Write(data, __msg);
      67               0 :     Write(newlength, __msg);
      68                 : 
      69               0 :     (__msg)->set_routing_id(mId);
      70                 : 
      71                 : 
      72                 : 
      73               0 :     if (mozilla::ipc::LoggingEnabled()) {
      74               0 :         (__msg)->Log("[PBrowserStreamParent] Sending ", stderr);
      75                 :     }
      76               0 :     if ((!(PBrowserStream::Transition(mState, Trigger(Trigger::Send, PBrowserStream::Msg_Write__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 : PBrowserStreamParent::SendNPP_StreamAsFile(const nsCString& fname)
      86                 : {
      87               0 :     PBrowserStream::Msg_NPP_StreamAsFile* __msg = new PBrowserStream::Msg_NPP_StreamAsFile();
      88                 : 
      89               0 :     Write(fname, __msg);
      90                 : 
      91               0 :     (__msg)->set_routing_id(mId);
      92                 : 
      93                 : 
      94                 : 
      95               0 :     if (mozilla::ipc::LoggingEnabled()) {
      96               0 :         (__msg)->Log("[PBrowserStreamParent] Sending ", stderr);
      97                 :     }
      98               0 :     if ((!(PBrowserStream::Transition(mState, Trigger(Trigger::Send, PBrowserStream::Msg_NPP_StreamAsFile__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 : PBrowserStreamParent::SendNPP_DestroyStream(const NPReason& reason)
     108                 : {
     109               0 :     PBrowserStream::Msg_NPP_DestroyStream* __msg = new PBrowserStream::Msg_NPP_DestroyStream();
     110                 : 
     111               0 :     Write(reason, __msg);
     112                 : 
     113               0 :     (__msg)->set_routing_id(mId);
     114                 : 
     115                 : 
     116                 : 
     117               0 :     if (mozilla::ipc::LoggingEnabled()) {
     118               0 :         (__msg)->Log("[PBrowserStreamParent] Sending ", stderr);
     119                 :     }
     120               0 :     if ((!(PBrowserStream::Transition(mState, Trigger(Trigger::Send, PBrowserStream::Msg_NPP_DestroyStream__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 : PBrowserStreamParent::Send__delete__(PBrowserStreamParent* actor)
     130                 : {
     131               0 :     if ((!(actor))) {
     132               0 :         return false;
     133                 :     }
     134                 : 
     135               0 :     if ((!(actor))) {
     136               0 :         return false;
     137                 :     }
     138                 : 
     139               0 :     PBrowserStream::Msg___delete__* __msg = new PBrowserStream::Msg___delete__();
     140                 : 
     141               0 :     (actor)->Write(actor, __msg, false);
     142                 : 
     143               0 :     (__msg)->set_routing_id((actor)->mId);
     144                 : 
     145                 : 
     146               0 :     if (mozilla::ipc::LoggingEnabled()) {
     147               0 :         (__msg)->Log("[PBrowserStreamParent] Sending ", stderr);
     148                 :     }
     149               0 :     if ((!(PBrowserStream::Transition((actor)->mState, Trigger(Trigger::Send, PBrowserStream::Msg___delete____ID), (&((actor)->mState)))))) {
     150               0 :         NS_WARNING("bad state transition!");
     151                 :     }
     152                 : 
     153               0 :     bool __sendok = ((actor)->mChannel)->Send(__msg);
     154                 : 
     155               0 :     (actor)->DestroySubtree(Deletion);
     156               0 :     (actor)->DeallocSubtree();
     157               0 :     ((actor)->mManager)->RemoveManagee(PBrowserStreamMsgStart, actor);
     158               0 :     return __sendok;
     159                 : }
     160                 : 
     161                 : int32
     162               0 : PBrowserStreamParent::Register(ChannelListener* aRouted)
     163                 : {
     164               0 :     return (mManager)->Register(aRouted);
     165                 : }
     166                 : 
     167                 : int32
     168               0 : PBrowserStreamParent::RegisterID(
     169                 :         ChannelListener* aRouted,
     170                 :         int32 aId)
     171                 : {
     172               0 :     return (mManager)->RegisterID(aRouted, aId);
     173                 : }
     174                 : 
     175                 : ChannelListener*
     176               0 : PBrowserStreamParent::Lookup(int32 aId)
     177                 : {
     178               0 :     return (mManager)->Lookup(aId);
     179                 : }
     180                 : 
     181                 : void
     182               0 : PBrowserStreamParent::Unregister(int32 aId)
     183                 : {
     184               0 :     return (mManager)->Unregister(aId);
     185                 : }
     186                 : 
     187                 : void
     188               0 : PBrowserStreamParent::RemoveManagee(
     189                 :         int32 aProtocolId,
     190                 :         ChannelListener* aListener)
     191                 : {
     192               0 :     NS_RUNTIMEABORT("unreached");
     193                 :     return;
     194                 : }
     195                 : 
     196                 : Shmem::SharedMemory*
     197               0 : PBrowserStreamParent::CreateSharedMemory(
     198                 :         size_t aSize,
     199                 :         Shmem::SharedMemory::SharedMemoryType type,
     200                 :         bool unsafe,
     201                 :         Shmem::id_t* aId)
     202                 : {
     203               0 :     return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
     204                 : }
     205                 : 
     206                 : bool
     207               0 : PBrowserStreamParent::AdoptSharedMemory(
     208                 :         Shmem::SharedMemory* segment,
     209                 :         Shmem::id_t* aId)
     210                 : {
     211               0 :     return (mManager)->AdoptSharedMemory(segment, aId);
     212                 : }
     213                 : 
     214                 : Shmem::SharedMemory*
     215               0 : PBrowserStreamParent::LookupSharedMemory(Shmem::id_t aId)
     216                 : {
     217               0 :     return (mManager)->LookupSharedMemory(aId);
     218                 : }
     219                 : 
     220                 : bool
     221               0 : PBrowserStreamParent::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
     222                 : {
     223               0 :     return (mManager)->IsTrackingSharedMemory(segment);
     224                 : }
     225                 : 
     226                 : bool
     227               0 : PBrowserStreamParent::DestroySharedMemory(Shmem& aShmem)
     228                 : {
     229               0 :     return (mManager)->DestroySharedMemory(aShmem);
     230                 : }
     231                 : 
     232                 : ProcessHandle
     233               0 : PBrowserStreamParent::OtherProcess() const
     234                 : {
     235               0 :     return (mManager)->OtherProcess();
     236                 : }
     237                 : 
     238                 : AsyncChannel*
     239               0 : PBrowserStreamParent::GetIPCChannel()
     240                 : {
     241               0 :     return mChannel;
     242                 : }
     243                 : 
     244                 : PBrowserStreamParent::Result
     245               0 : PBrowserStreamParent::OnMessageReceived(const Message& __msg)
     246                 : {
     247               0 :     switch ((__msg).type()) {
     248                 :     case PBrowserStream::Reply___delete____ID:
     249                 :         {
     250               0 :             return MsgProcessed;
     251                 :         }
     252                 :     case PBrowserStream::Msg_NPN_DestroyStream__ID:
     253                 :         {
     254               0 :             (const_cast<Message&>(__msg)).set_name("PBrowserStream::Msg_NPN_DestroyStream");
     255               0 :             if (mozilla::ipc::LoggingEnabled()) {
     256               0 :                 (static_cast<const PBrowserStream::Msg_NPN_DestroyStream*>((&(__msg))))->Log("[PBrowserStreamParent] Received ", stderr);
     257                 :             }
     258                 : 
     259               0 :             void* __iter = 0;
     260                 :             NPReason reason;
     261                 : 
     262               0 :             if ((!(Read((&(reason)), (&(__msg)), (&(__iter)))))) {
     263               0 :                 FatalError("error deserializing (better message TODO)");
     264               0 :                 return MsgValueError;
     265                 :             }
     266               0 :             (__msg).EndRead(__iter);
     267               0 :             if ((!(PBrowserStream::Transition(mState, Trigger(Trigger::Recv, PBrowserStream::Msg_NPN_DestroyStream__ID), (&(mState)))))) {
     268               0 :                 NS_WARNING("bad state transition!");
     269                 :             }
     270               0 :             if ((!(RecvNPN_DestroyStream(reason)))) {
     271               0 :                 return MsgProcessingError;
     272                 :             }
     273                 : 
     274               0 :             return MsgProcessed;
     275                 :         }
     276                 :     case PBrowserStream::Msg_StreamDestroyed__ID:
     277                 :         {
     278               0 :             (const_cast<Message&>(__msg)).set_name("PBrowserStream::Msg_StreamDestroyed");
     279               0 :             if (mozilla::ipc::LoggingEnabled()) {
     280               0 :                 (static_cast<const PBrowserStream::Msg_StreamDestroyed*>((&(__msg))))->Log("[PBrowserStreamParent] Received ", stderr);
     281                 :             }
     282                 : 
     283               0 :             if ((!(PBrowserStream::Transition(mState, Trigger(Trigger::Recv, PBrowserStream::Msg_StreamDestroyed__ID), (&(mState)))))) {
     284               0 :                 NS_WARNING("bad state transition!");
     285                 :             }
     286               0 :             if ((!(RecvStreamDestroyed()))) {
     287               0 :                 return MsgProcessingError;
     288                 :             }
     289                 : 
     290               0 :             return MsgProcessed;
     291                 :         }
     292                 :     default:
     293                 :         {
     294               0 :             return MsgNotKnown;
     295                 :         }
     296                 :     }
     297                 : }
     298                 : 
     299                 : PBrowserStreamParent::Result
     300               0 : PBrowserStreamParent::OnMessageReceived(
     301                 :         const Message& __msg,
     302                 :         Message*& __reply)
     303                 : {
     304               0 :     return MsgNotKnown;
     305                 : }
     306                 : 
     307                 : PBrowserStreamParent::Result
     308               0 : PBrowserStreamParent::OnCallReceived(
     309                 :         const Message& __msg,
     310                 :         Message*& __reply)
     311                 : {
     312               0 :     switch ((__msg).type()) {
     313                 :     case PBrowserStream::Msg_NPN_RequestRead__ID:
     314                 :         {
     315               0 :             (const_cast<Message&>(__msg)).set_name("PBrowserStream::Msg_NPN_RequestRead");
     316               0 :             if (mozilla::ipc::LoggingEnabled()) {
     317               0 :                 (static_cast<const PBrowserStream::Msg_NPN_RequestRead*>((&(__msg))))->Log("[PBrowserStreamParent] Received ", stderr);
     318                 :             }
     319                 : 
     320               0 :             void* __iter = 0;
     321               0 :             IPCByteRanges ranges;
     322                 : 
     323               0 :             if ((!(Read((&(ranges)), (&(__msg)), (&(__iter)))))) {
     324               0 :                 FatalError("error deserializing (better message TODO)");
     325               0 :                 return MsgValueError;
     326                 :             }
     327               0 :             (__msg).EndRead(__iter);
     328               0 :             if ((!(PBrowserStream::Transition(mState, Trigger(Trigger::Recv, PBrowserStream::Msg_NPN_RequestRead__ID), (&(mState)))))) {
     329               0 :                 NS_WARNING("bad state transition!");
     330                 :             }
     331                 :             NPError result;
     332               0 :             int32 __id = mId;
     333               0 :             if ((!(AnswerNPN_RequestRead(ranges, (&(result)))))) {
     334               0 :                 return MsgProcessingError;
     335                 :             }
     336                 : 
     337               0 :             __reply = new PBrowserStream::Reply_NPN_RequestRead();
     338                 : 
     339               0 :             Write(result, __reply);
     340               0 :             (__reply)->set_routing_id(__id);
     341               0 :             (__reply)->set_rpc();
     342               0 :             (__reply)->set_reply();
     343                 : 
     344               0 :             if (mozilla::ipc::LoggingEnabled()) {
     345               0 :                 (static_cast<const PBrowserStream::Reply_NPN_RequestRead*>(__reply))->Log("[PBrowserStreamParent] Sending reply ", stderr);
     346                 :             }
     347               0 :             return MsgProcessed;
     348                 :         }
     349                 :     default:
     350                 :         {
     351               0 :             return MsgNotKnown;
     352                 :         }
     353                 :     }
     354                 : }
     355                 : 
     356                 : void
     357               0 : PBrowserStreamParent::OnProcessingError(Result code)
     358                 : {
     359               0 :     NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
     360               0 : }
     361                 : 
     362                 : bool
     363               0 : PBrowserStreamParent::OnReplyTimeout()
     364                 : {
     365               0 :     NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
     366               0 :     return false;
     367                 : }
     368                 : 
     369                 : void
     370               0 : PBrowserStreamParent::OnChannelClose()
     371                 : {
     372               0 :     NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
     373               0 : }
     374                 : 
     375                 : void
     376               0 : PBrowserStreamParent::OnChannelError()
     377                 : {
     378               0 :     NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
     379               0 : }
     380                 : 
     381                 : void
     382               0 : PBrowserStreamParent::OnChannelConnected(int32 pid)
     383                 : {
     384               0 :     NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
     385               0 : }
     386                 : 
     387                 : bool
     388               0 : PBrowserStreamParent::AllocShmem(
     389                 :         size_t aSize,
     390                 :         Shmem::SharedMemory::SharedMemoryType aType,
     391                 :         Shmem* aMem)
     392                 : {
     393                 :     Shmem::id_t aId;
     394               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
     395               0 :     if ((!(rawmem))) {
     396               0 :         return false;
     397                 :     }
     398                 : 
     399               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     400               0 :     return true;
     401                 : }
     402                 : 
     403                 : bool
     404               0 : PBrowserStreamParent::AllocUnsafeShmem(
     405                 :         size_t aSize,
     406                 :         Shmem::SharedMemory::SharedMemoryType aType,
     407                 :         Shmem* aMem)
     408                 : {
     409                 :     Shmem::id_t aId;
     410               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
     411               0 :     if ((!(rawmem))) {
     412               0 :         return false;
     413                 :     }
     414                 : 
     415               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     416               0 :     return true;
     417                 : }
     418                 : 
     419                 : bool
     420               0 : PBrowserStreamParent::AdoptShmem(
     421                 :         Shmem& aMem,
     422                 :         Shmem* aOutMem)
     423                 : {
     424               0 :     Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     425               0 :     if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
     426               0 :         NS_RUNTIMEABORT("bad Shmem");
     427                 :     }
     428                 : 
     429                 :     Shmem::id_t aId;
     430               0 :     if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
     431               0 :         return false;
     432                 :     }
     433                 : 
     434               0 :     (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
     435               0 :     return true;
     436                 : }
     437                 : 
     438                 : bool
     439               0 : PBrowserStreamParent::DeallocShmem(Shmem& aMem)
     440                 : {
     441               0 :     bool ok = DestroySharedMemory(aMem);
     442               0 :     (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     443               0 :     return ok;
     444                 : }
     445                 : 
     446                 : void
     447               0 : PBrowserStreamParent::FatalError(const char* const msg) const
     448                 : {
     449                 :     // Virtual method to prevent inlining.
     450                 :     // This give us better error reporting.
     451                 :     // See bug 589371
     452                 : 
     453               0 :     NS_ERROR("IPDL error:");
     454               0 :     NS_ERROR(msg);
     455                 : 
     456               0 :     NS_ERROR("[PBrowserStreamParent] killing child side as a result");
     457                 : 
     458               0 :     if ((!(base::KillProcess(OtherProcess(), base::PROCESS_END_KILLED_BY_USER, false)))) {
     459               0 :         NS_ERROR("  may have failed to kill child!");
     460                 :     }
     461               0 : }
     462                 : 
     463                 : void
     464               0 : PBrowserStreamParent::DestroySubtree(ActorDestroyReason why)
     465                 : {
     466                 :     // Unregister from our manager.
     467               0 :     Unregister(mId);
     468               0 :     mId = 1;
     469                 : 
     470                 :     // Finally, destroy "us".
     471               0 :     ActorDestroy(why);
     472               0 : }
     473                 : 
     474                 : void
     475               0 : PBrowserStreamParent::DeallocSubtree()
     476                 : {
     477               0 : }
     478                 : 
     479                 : void
     480               0 : PBrowserStreamParent::Write(
     481                 :         PBrowserStreamParent* __v,
     482                 :         Message* __msg,
     483                 :         bool __nullable)
     484                 : {
     485                 :     int32 id;
     486               0 :     if ((!(__v))) {
     487               0 :         if ((!(__nullable))) {
     488               0 :             NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
     489                 :         }
     490               0 :         id = 0;
     491                 :     }
     492                 :     else {
     493               0 :         id = (__v)->mId;
     494               0 :         if ((1) == (id)) {
     495               0 :             NS_RUNTIMEABORT("actor has been |delete|d");
     496                 :         }
     497                 :     }
     498                 : 
     499               0 :     Write(id, __msg);
     500               0 : }
     501                 : 
     502                 : bool
     503               0 : PBrowserStreamParent::Read(
     504                 :         PBrowserStreamParent** __v,
     505                 :         const Message* __msg,
     506                 :         void** __iter,
     507                 :         bool __nullable)
     508                 : {
     509                 :     int32 id;
     510               0 :     if ((!(Read((&(id)), __msg, __iter)))) {
     511               0 :         return false;
     512                 :     }
     513               0 :     if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
     514               0 :         return false;
     515                 :     }
     516                 : 
     517               0 :     if ((0) == (id)) {
     518               0 :         (*(__v)) = 0;
     519                 :     }
     520                 :     else {
     521               0 :         (*(__v)) = static_cast<PBrowserStreamParent*>(Lookup(id));
     522               0 :         if ((!((*(__v))))) {
     523               0 :             return false;
     524                 :         }
     525                 :     }
     526               0 :     return true;
     527                 : }
     528                 : 
     529                 : 
     530                 : 
     531                 : } // namespace plugins
     532                 : } // namespace mozilla

Generated by: LCOV version 1.7