LCOV - code coverage report
Current view: directory - objdir/ipc/ipdl - PCrashReporterChild.cpp (source / functions) Found Hit Coverage
Test: app.info Lines: 197 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/dom/PCrashReporterChild.h"
       8                 : 
       9                 : #include "mozilla/dom/PContentChild.h"
      10                 : #include "mozilla/plugins/PPluginModuleChild.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::dom::Mapping Mapping;
      21                 : typedef mozilla::ipc::Shmem Shmem;
      22                 : using mozilla::dom::PContentChild;
      23                 : using mozilla::plugins::PPluginModuleChild;
      24                 : 
      25                 : namespace mozilla {
      26                 : namespace dom {
      27                 : 
      28                 : 
      29                 : void
      30               0 : PCrashReporterChild::ActorDestroy(ActorDestroyReason why)
      31                 : {
      32               0 : }
      33                 : 
      34               0 : PCrashReporterChild::PCrashReporterChild() :
      35                 :     mId(0),
      36               0 :     mState(PCrashReporter::__Dead)
      37                 : {
      38               0 :     MOZ_COUNT_CTOR(PCrashReporterChild);
      39               0 : }
      40                 : 
      41               0 : PCrashReporterChild::~PCrashReporterChild()
      42                 : {
      43               0 :     MOZ_COUNT_DTOR(PCrashReporterChild);
      44               0 : }
      45                 : 
      46                 : PCrashReporter::State
      47               0 : PCrashReporterChild::state()
      48                 : {
      49               0 :     return mState;
      50                 : }
      51                 : 
      52                 : bool
      53               0 : PCrashReporterChild::SendAddLibraryMappings(const InfallibleTArray<Mapping>& m)
      54                 : {
      55               0 :     PCrashReporter::Msg_AddLibraryMappings* __msg = new PCrashReporter::Msg_AddLibraryMappings();
      56                 : 
      57               0 :     Write(m, __msg);
      58                 : 
      59               0 :     (__msg)->set_routing_id(mId);
      60                 : 
      61                 : 
      62                 : 
      63               0 :     if (mozilla::ipc::LoggingEnabled()) {
      64               0 :         (__msg)->Log("[PCrashReporterChild] Sending ", stderr);
      65                 :     }
      66               0 :     if ((!(PCrashReporter::Transition(mState, Trigger(Trigger::Recv, PCrashReporter::Msg_AddLibraryMappings__ID), (&(mState)))))) {
      67               0 :         NS_WARNING("bad state transition!");
      68                 :     }
      69                 : 
      70               0 :     bool __sendok = (mChannel)->Send(__msg);
      71               0 :     return __sendok;
      72                 : }
      73                 : 
      74                 : bool
      75               0 : PCrashReporterChild::SendAnnotateCrashReport(
      76                 :         const nsCString& key,
      77                 :         const nsCString& data)
      78                 : {
      79               0 :     PCrashReporter::Msg_AnnotateCrashReport* __msg = new PCrashReporter::Msg_AnnotateCrashReport();
      80                 : 
      81               0 :     Write(key, __msg);
      82               0 :     Write(data, __msg);
      83                 : 
      84               0 :     (__msg)->set_routing_id(mId);
      85                 : 
      86                 : 
      87                 : 
      88               0 :     if (mozilla::ipc::LoggingEnabled()) {
      89               0 :         (__msg)->Log("[PCrashReporterChild] Sending ", stderr);
      90                 :     }
      91               0 :     if ((!(PCrashReporter::Transition(mState, Trigger(Trigger::Recv, PCrashReporter::Msg_AnnotateCrashReport__ID), (&(mState)))))) {
      92               0 :         NS_WARNING("bad state transition!");
      93                 :     }
      94                 : 
      95               0 :     bool __sendok = (mChannel)->Send(__msg);
      96               0 :     return __sendok;
      97                 : }
      98                 : 
      99                 : bool
     100               0 : PCrashReporterChild::SendAppendAppNotes(const nsCString& data)
     101                 : {
     102               0 :     PCrashReporter::Msg_AppendAppNotes* __msg = new PCrashReporter::Msg_AppendAppNotes();
     103                 : 
     104               0 :     Write(data, __msg);
     105                 : 
     106               0 :     (__msg)->set_routing_id(mId);
     107                 : 
     108                 : 
     109                 : 
     110               0 :     if (mozilla::ipc::LoggingEnabled()) {
     111               0 :         (__msg)->Log("[PCrashReporterChild] Sending ", stderr);
     112                 :     }
     113               0 :     if ((!(PCrashReporter::Transition(mState, Trigger(Trigger::Recv, PCrashReporter::Msg_AppendAppNotes__ID), (&(mState)))))) {
     114               0 :         NS_WARNING("bad state transition!");
     115                 :     }
     116                 : 
     117               0 :     bool __sendok = (mChannel)->Send(__msg);
     118               0 :     return __sendok;
     119                 : }
     120                 : 
     121                 : bool
     122               0 : PCrashReporterChild::Send__delete__(PCrashReporterChild* actor)
     123                 : {
     124               0 :     if ((!(actor))) {
     125               0 :         return false;
     126                 :     }
     127                 : 
     128               0 :     if ((!(actor))) {
     129               0 :         return false;
     130                 :     }
     131                 : 
     132               0 :     PCrashReporter::Msg___delete__* __msg = new PCrashReporter::Msg___delete__();
     133                 : 
     134               0 :     (actor)->Write(actor, __msg, false);
     135                 : 
     136               0 :     (__msg)->set_routing_id((actor)->mId);
     137                 : 
     138                 : 
     139               0 :     if (mozilla::ipc::LoggingEnabled()) {
     140               0 :         (__msg)->Log("[PCrashReporterChild] Sending ", stderr);
     141                 :     }
     142               0 :     if ((!(PCrashReporter::Transition((actor)->mState, Trigger(Trigger::Recv, PCrashReporter::Msg___delete____ID), (&((actor)->mState)))))) {
     143               0 :         NS_WARNING("bad state transition!");
     144                 :     }
     145                 : 
     146               0 :     bool __sendok = ((actor)->mChannel)->Send(__msg);
     147                 : 
     148               0 :     (actor)->DestroySubtree(Deletion);
     149               0 :     (actor)->DeallocSubtree();
     150               0 :     ((actor)->mManager)->RemoveManagee(PCrashReporterMsgStart, actor);
     151               0 :     return __sendok;
     152                 : }
     153                 : 
     154                 : int32
     155               0 : PCrashReporterChild::Register(ChannelListener* aRouted)
     156                 : {
     157               0 :     return (mManager)->Register(aRouted);
     158                 : }
     159                 : 
     160                 : int32
     161               0 : PCrashReporterChild::RegisterID(
     162                 :         ChannelListener* aRouted,
     163                 :         int32 aId)
     164                 : {
     165               0 :     return (mManager)->RegisterID(aRouted, aId);
     166                 : }
     167                 : 
     168                 : ChannelListener*
     169               0 : PCrashReporterChild::Lookup(int32 aId)
     170                 : {
     171               0 :     return (mManager)->Lookup(aId);
     172                 : }
     173                 : 
     174                 : void
     175               0 : PCrashReporterChild::Unregister(int32 aId)
     176                 : {
     177               0 :     return (mManager)->Unregister(aId);
     178                 : }
     179                 : 
     180                 : void
     181               0 : PCrashReporterChild::RemoveManagee(
     182                 :         int32 aProtocolId,
     183                 :         ChannelListener* aListener)
     184                 : {
     185               0 :     NS_RUNTIMEABORT("unreached");
     186                 :     return;
     187                 : }
     188                 : 
     189                 : Shmem::SharedMemory*
     190               0 : PCrashReporterChild::CreateSharedMemory(
     191                 :         size_t aSize,
     192                 :         Shmem::SharedMemory::SharedMemoryType type,
     193                 :         bool unsafe,
     194                 :         Shmem::id_t* aId)
     195                 : {
     196               0 :     return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
     197                 : }
     198                 : 
     199                 : bool
     200               0 : PCrashReporterChild::AdoptSharedMemory(
     201                 :         Shmem::SharedMemory* segment,
     202                 :         Shmem::id_t* aId)
     203                 : {
     204               0 :     return (mManager)->AdoptSharedMemory(segment, aId);
     205                 : }
     206                 : 
     207                 : Shmem::SharedMemory*
     208               0 : PCrashReporterChild::LookupSharedMemory(Shmem::id_t aId)
     209                 : {
     210               0 :     return (mManager)->LookupSharedMemory(aId);
     211                 : }
     212                 : 
     213                 : bool
     214               0 : PCrashReporterChild::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
     215                 : {
     216               0 :     return (mManager)->IsTrackingSharedMemory(segment);
     217                 : }
     218                 : 
     219                 : bool
     220               0 : PCrashReporterChild::DestroySharedMemory(Shmem& aShmem)
     221                 : {
     222               0 :     return (mManager)->DestroySharedMemory(aShmem);
     223                 : }
     224                 : 
     225                 : ProcessHandle
     226               0 : PCrashReporterChild::OtherProcess() const
     227                 : {
     228               0 :     return (mManager)->OtherProcess();
     229                 : }
     230                 : 
     231                 : AsyncChannel*
     232               0 : PCrashReporterChild::GetIPCChannel()
     233                 : {
     234               0 :     return mChannel;
     235                 : }
     236                 : 
     237                 : PCrashReporterChild::Result
     238               0 : PCrashReporterChild::OnMessageReceived(const Message& __msg)
     239                 : {
     240               0 :     switch ((__msg).type()) {
     241                 :     case PCrashReporter::Reply___delete____ID:
     242                 :         {
     243               0 :             return MsgProcessed;
     244                 :         }
     245                 :     default:
     246                 :         {
     247               0 :             return MsgNotKnown;
     248                 :         }
     249                 :     }
     250                 : }
     251                 : 
     252                 : PCrashReporterChild::Result
     253               0 : PCrashReporterChild::OnMessageReceived(
     254                 :         const Message& __msg,
     255                 :         Message*& __reply)
     256                 : {
     257               0 :     return MsgNotKnown;
     258                 : }
     259                 : 
     260                 : PCrashReporterChild::Result
     261               0 : PCrashReporterChild::OnCallReceived(
     262                 :         const Message& __msg,
     263                 :         Message*& __reply)
     264                 : {
     265               0 :     return MsgNotKnown;
     266                 : }
     267                 : 
     268                 : void
     269               0 : PCrashReporterChild::OnProcessingError(Result code)
     270                 : {
     271               0 :     NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
     272               0 : }
     273                 : 
     274                 : bool
     275               0 : PCrashReporterChild::OnReplyTimeout()
     276                 : {
     277               0 :     NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
     278               0 :     return false;
     279                 : }
     280                 : 
     281                 : void
     282               0 : PCrashReporterChild::OnChannelClose()
     283                 : {
     284               0 :     NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
     285               0 : }
     286                 : 
     287                 : void
     288               0 : PCrashReporterChild::OnChannelError()
     289                 : {
     290               0 :     NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
     291               0 : }
     292                 : 
     293                 : void
     294               0 : PCrashReporterChild::OnChannelConnected(int32 pid)
     295                 : {
     296               0 :     NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
     297               0 : }
     298                 : 
     299                 : bool
     300               0 : PCrashReporterChild::AllocShmem(
     301                 :         size_t aSize,
     302                 :         Shmem::SharedMemory::SharedMemoryType aType,
     303                 :         Shmem* aMem)
     304                 : {
     305                 :     Shmem::id_t aId;
     306               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
     307               0 :     if ((!(rawmem))) {
     308               0 :         return false;
     309                 :     }
     310                 : 
     311               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     312               0 :     return true;
     313                 : }
     314                 : 
     315                 : bool
     316               0 : PCrashReporterChild::AllocUnsafeShmem(
     317                 :         size_t aSize,
     318                 :         Shmem::SharedMemory::SharedMemoryType aType,
     319                 :         Shmem* aMem)
     320                 : {
     321                 :     Shmem::id_t aId;
     322               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
     323               0 :     if ((!(rawmem))) {
     324               0 :         return false;
     325                 :     }
     326                 : 
     327               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     328               0 :     return true;
     329                 : }
     330                 : 
     331                 : bool
     332               0 : PCrashReporterChild::AdoptShmem(
     333                 :         Shmem& aMem,
     334                 :         Shmem* aOutMem)
     335                 : {
     336               0 :     Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     337               0 :     if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
     338               0 :         NS_RUNTIMEABORT("bad Shmem");
     339                 :     }
     340                 : 
     341                 :     Shmem::id_t aId;
     342               0 :     if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
     343               0 :         return false;
     344                 :     }
     345                 : 
     346               0 :     (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
     347               0 :     return true;
     348                 : }
     349                 : 
     350                 : bool
     351               0 : PCrashReporterChild::DeallocShmem(Shmem& aMem)
     352                 : {
     353               0 :     bool ok = DestroySharedMemory(aMem);
     354               0 :     (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     355               0 :     return ok;
     356                 : }
     357                 : 
     358                 : void
     359               0 : PCrashReporterChild::FatalError(const char* const msg) const
     360                 : {
     361                 :     // Virtual method to prevent inlining.
     362                 :     // This give us better error reporting.
     363                 :     // See bug 589371
     364                 : 
     365               0 :     NS_ERROR("IPDL error:");
     366               0 :     NS_ERROR(msg);
     367                 : 
     368               0 :     NS_RUNTIMEABORT("[PCrashReporterChild] abort()ing as a result");
     369               0 : }
     370                 : 
     371                 : void
     372               0 : PCrashReporterChild::DestroySubtree(ActorDestroyReason why)
     373                 : {
     374                 :     // Unregister from our manager.
     375               0 :     Unregister(mId);
     376               0 :     mId = 1;
     377                 : 
     378                 :     // Finally, destroy "us".
     379               0 :     ActorDestroy(why);
     380               0 : }
     381                 : 
     382                 : void
     383               0 : PCrashReporterChild::DeallocSubtree()
     384                 : {
     385               0 : }
     386                 : 
     387                 : void
     388               0 : PCrashReporterChild::Write(
     389                 :         const InfallibleTArray<Mapping>& __v,
     390                 :         Message* __msg)
     391                 : {
     392               0 :     uint32 length = (__v).Length();
     393               0 :     Write(length, __msg);
     394                 : 
     395               0 :     for (uint32 i = 0; (i) < (length); (++(i))) {
     396               0 :         Write(__v[i], __msg);
     397                 :     }
     398               0 : }
     399                 : 
     400                 : bool
     401               0 : PCrashReporterChild::Read(
     402                 :         InfallibleTArray<Mapping>* __v,
     403                 :         const Message* __msg,
     404                 :         void** __iter)
     405                 : {
     406               0 :     InfallibleTArray<Mapping>& a = (*(__v));
     407                 :     uint32 length;
     408               0 :     if ((!(Read((&(length)), __msg, __iter)))) {
     409               0 :         return false;
     410                 :     }
     411                 : 
     412               0 :     (__v)->SetLength(length);
     413               0 :     for (uint32 i = 0; (i) < (length); (++(i))) {
     414               0 :         if ((!(Read((&(a[i])), __msg, __iter)))) {
     415               0 :             return false;
     416                 :         }
     417                 :     }
     418               0 :     return true;
     419                 : }
     420                 : 
     421                 : void
     422               0 : PCrashReporterChild::Write(
     423                 :         PCrashReporterChild* __v,
     424                 :         Message* __msg,
     425                 :         bool __nullable)
     426                 : {
     427                 :     int32 id;
     428               0 :     if ((!(__v))) {
     429               0 :         if ((!(__nullable))) {
     430               0 :             NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
     431                 :         }
     432               0 :         id = 0;
     433                 :     }
     434                 :     else {
     435               0 :         id = (__v)->mId;
     436               0 :         if ((1) == (id)) {
     437               0 :             NS_RUNTIMEABORT("actor has been |delete|d");
     438                 :         }
     439                 :     }
     440                 : 
     441               0 :     Write(id, __msg);
     442               0 : }
     443                 : 
     444                 : bool
     445               0 : PCrashReporterChild::Read(
     446                 :         PCrashReporterChild** __v,
     447                 :         const Message* __msg,
     448                 :         void** __iter,
     449                 :         bool __nullable)
     450                 : {
     451                 :     int32 id;
     452               0 :     if ((!(Read((&(id)), __msg, __iter)))) {
     453               0 :         return false;
     454                 :     }
     455               0 :     if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
     456               0 :         return false;
     457                 :     }
     458                 : 
     459               0 :     if ((0) == (id)) {
     460               0 :         (*(__v)) = 0;
     461                 :     }
     462                 :     else {
     463               0 :         (*(__v)) = static_cast<PCrashReporterChild*>(Lookup(id));
     464               0 :         if ((!((*(__v))))) {
     465               0 :             return false;
     466                 :         }
     467                 :     }
     468               0 :     return true;
     469                 : }
     470                 : 
     471                 : void
     472               0 : PCrashReporterChild::Write(
     473                 :         const Mapping& __v,
     474                 :         Message* __msg)
     475                 : {
     476               0 :     Write((__v).library_name(), __msg);
     477               0 :     Write((__v).file_id(), __msg);
     478               0 :     Write((__v).start_address(), __msg);
     479               0 :     Write((__v).mapping_length(), __msg);
     480               0 :     Write((__v).file_offset(), __msg);
     481               0 : }
     482                 : 
     483                 : bool
     484               0 : PCrashReporterChild::Read(
     485                 :         Mapping* __v,
     486                 :         const Message* __msg,
     487                 :         void** __iter)
     488                 : {
     489               0 :     if ((!(Read((&((__v)->library_name())), __msg, __iter)))) {
     490               0 :         return false;
     491                 :     }
     492               0 :     if ((!(Read((&((__v)->file_id())), __msg, __iter)))) {
     493               0 :         return false;
     494                 :     }
     495               0 :     if ((!(Read((&((__v)->start_address())), __msg, __iter)))) {
     496               0 :         return false;
     497                 :     }
     498               0 :     if ((!(Read((&((__v)->mapping_length())), __msg, __iter)))) {
     499               0 :         return false;
     500                 :     }
     501               0 :     if ((!(Read((&((__v)->file_offset())), __msg, __iter)))) {
     502               0 :         return false;
     503                 :     }
     504               0 :     return true;
     505                 : }
     506                 : 
     507                 : 
     508                 : 
     509                 : } // namespace dom
     510                 : } // namespace mozilla

Generated by: LCOV version 1.7