LCOV - app.info - objdir/ipc/ipdl/PCrashReporterChild.cpp

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-07-07 | 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