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

       1                 : //
       2                 : // Automatically generated by ipdlc.
       3                 : // Edit at your own risk
       4                 : //
       5                 : 
       6                 : 
       7                 : #include "mozilla/jsipc/PObjectWrapperParent.h"
       8                 : 
       9                 : #include "mozilla/jsipc/PContextWrapperParent.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::jsipc::JSVariant JSVariant;
      20                 : typedef mozilla::jsipc::OperationStatus OperationStatus;
      21                 : typedef mozilla::ipc::Shmem Shmem;
      22                 : typedef mozilla::void_t void_t;
      23                 : using mozilla::jsipc::PContextWrapperParent;
      24                 : 
      25                 : namespace mozilla {
      26                 : namespace jsipc {
      27                 : 
      28                 : 
      29                 : void
      30               0 : PObjectWrapperParent::ActorDestroy(ActorDestroyReason why)
      31                 : {
      32               0 : }
      33                 : 
      34               0 : PObjectWrapperParent::PObjectWrapperParent() :
      35                 :     mId(0),
      36               0 :     mState(PObjectWrapper::__Dead)
      37                 : {
      38               0 :     MOZ_COUNT_CTOR(PObjectWrapperParent);
      39               0 : }
      40                 : 
      41               0 : PObjectWrapperParent::~PObjectWrapperParent()
      42                 : {
      43               0 :     MOZ_COUNT_DTOR(PObjectWrapperParent);
      44               0 : }
      45                 : 
      46                 : PContextWrapperParent*
      47               0 : PObjectWrapperParent::Manager()
      48                 : {
      49               0 :     return static_cast<PContextWrapperParent*>(mManager);
      50                 : }
      51                 : 
      52                 : PObjectWrapper::State
      53               0 : PObjectWrapperParent::state()
      54                 : {
      55               0 :     return mState;
      56                 : }
      57                 : 
      58                 : bool
      59               0 : PObjectWrapperParent::Send__delete__(PObjectWrapperParent* actor)
      60                 : {
      61               0 :     if ((!(actor))) {
      62               0 :         return false;
      63                 :     }
      64                 : 
      65               0 :     if ((!(actor))) {
      66               0 :         return false;
      67                 :     }
      68                 : 
      69               0 :     PObjectWrapper::Msg___delete__* __msg = new PObjectWrapper::Msg___delete__();
      70                 : 
      71               0 :     (actor)->Write(actor, __msg, false);
      72                 : 
      73               0 :     (__msg)->set_routing_id((actor)->mId);
      74                 : 
      75                 : 
      76               0 :     if (mozilla::ipc::LoggingEnabled()) {
      77               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
      78                 :     }
      79               0 :     if ((!(PObjectWrapper::Transition((actor)->mState, Trigger(Trigger::Send, PObjectWrapper::Msg___delete____ID), (&((actor)->mState)))))) {
      80               0 :         NS_WARNING("bad state transition!");
      81                 :     }
      82                 : 
      83               0 :     bool __sendok = ((actor)->mChannel)->Send(__msg);
      84                 : 
      85               0 :     (actor)->DestroySubtree(Deletion);
      86               0 :     (actor)->DeallocSubtree();
      87               0 :     ((actor)->mManager)->RemoveManagee(PObjectWrapperMsgStart, actor);
      88               0 :     return __sendok;
      89                 : }
      90                 : 
      91                 : bool
      92               0 : PObjectWrapperParent::CallAddProperty(
      93                 :         const nsString& id,
      94                 :         OperationStatus* status)
      95                 : {
      96               0 :     PObjectWrapper::Msg_AddProperty* __msg = new PObjectWrapper::Msg_AddProperty();
      97                 : 
      98               0 :     Write(id, __msg);
      99                 : 
     100               0 :     (__msg)->set_routing_id(mId);
     101               0 :     (__msg)->set_rpc();
     102                 : 
     103                 : 
     104               0 :     Message __reply;
     105                 : 
     106               0 :     if (mozilla::ipc::LoggingEnabled()) {
     107               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     108                 :     }
     109               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_AddProperty__ID), (&(mState)))))) {
     110               0 :         NS_WARNING("bad state transition!");
     111                 :     }
     112                 : 
     113               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     114               0 :     if ((!(__sendok))) {
     115               0 :         return false;
     116                 :     }
     117                 : 
     118               0 :     if (mozilla::ipc::LoggingEnabled()) {
     119               0 :         (static_cast<const PObjectWrapper::Reply_AddProperty*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     120                 :     }
     121                 : 
     122               0 :     void* __iter = 0;
     123               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     124               0 :         FatalError("error deserializing (better message TODO)");
     125               0 :         return false;
     126                 :     }
     127               0 :     (__reply).EndRead(__iter);
     128                 : 
     129               0 :     return true;
     130                 : }
     131                 : 
     132                 : bool
     133               0 : PObjectWrapperParent::CallGetProperty(
     134                 :         const nsString& id,
     135                 :         OperationStatus* status,
     136                 :         JSVariant* vp)
     137                 : {
     138               0 :     PObjectWrapper::Msg_GetProperty* __msg = new PObjectWrapper::Msg_GetProperty();
     139                 : 
     140               0 :     Write(id, __msg);
     141                 : 
     142               0 :     (__msg)->set_routing_id(mId);
     143               0 :     (__msg)->set_rpc();
     144                 : 
     145                 : 
     146               0 :     Message __reply;
     147                 : 
     148               0 :     if (mozilla::ipc::LoggingEnabled()) {
     149               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     150                 :     }
     151               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_GetProperty__ID), (&(mState)))))) {
     152               0 :         NS_WARNING("bad state transition!");
     153                 :     }
     154                 : 
     155               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     156               0 :     if ((!(__sendok))) {
     157               0 :         return false;
     158                 :     }
     159                 : 
     160               0 :     if (mozilla::ipc::LoggingEnabled()) {
     161               0 :         (static_cast<const PObjectWrapper::Reply_GetProperty*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     162                 :     }
     163                 : 
     164               0 :     void* __iter = 0;
     165               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     166               0 :         FatalError("error deserializing (better message TODO)");
     167               0 :         return false;
     168                 :     }
     169               0 :     if ((!(Read(vp, (&(__reply)), (&(__iter)))))) {
     170               0 :         FatalError("error deserializing (better message TODO)");
     171               0 :         return false;
     172                 :     }
     173               0 :     (__reply).EndRead(__iter);
     174                 : 
     175               0 :     return true;
     176                 : }
     177                 : 
     178                 : bool
     179               0 : PObjectWrapperParent::CallSetProperty(
     180                 :         const nsString& id,
     181                 :         const JSVariant& v,
     182                 :         OperationStatus* status,
     183                 :         JSVariant* vp)
     184                 : {
     185               0 :     PObjectWrapper::Msg_SetProperty* __msg = new PObjectWrapper::Msg_SetProperty();
     186                 : 
     187               0 :     Write(id, __msg);
     188               0 :     Write(v, __msg);
     189                 : 
     190               0 :     (__msg)->set_routing_id(mId);
     191               0 :     (__msg)->set_rpc();
     192                 : 
     193                 : 
     194               0 :     Message __reply;
     195                 : 
     196               0 :     if (mozilla::ipc::LoggingEnabled()) {
     197               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     198                 :     }
     199               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_SetProperty__ID), (&(mState)))))) {
     200               0 :         NS_WARNING("bad state transition!");
     201                 :     }
     202                 : 
     203               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     204               0 :     if ((!(__sendok))) {
     205               0 :         return false;
     206                 :     }
     207                 : 
     208               0 :     if (mozilla::ipc::LoggingEnabled()) {
     209               0 :         (static_cast<const PObjectWrapper::Reply_SetProperty*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     210                 :     }
     211                 : 
     212               0 :     void* __iter = 0;
     213               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     214               0 :         FatalError("error deserializing (better message TODO)");
     215               0 :         return false;
     216                 :     }
     217               0 :     if ((!(Read(vp, (&(__reply)), (&(__iter)))))) {
     218               0 :         FatalError("error deserializing (better message TODO)");
     219               0 :         return false;
     220                 :     }
     221               0 :     (__reply).EndRead(__iter);
     222                 : 
     223               0 :     return true;
     224                 : }
     225                 : 
     226                 : bool
     227               0 : PObjectWrapperParent::CallDelProperty(
     228                 :         const nsString& id,
     229                 :         OperationStatus* status,
     230                 :         JSVariant* vp)
     231                 : {
     232               0 :     PObjectWrapper::Msg_DelProperty* __msg = new PObjectWrapper::Msg_DelProperty();
     233                 : 
     234               0 :     Write(id, __msg);
     235                 : 
     236               0 :     (__msg)->set_routing_id(mId);
     237               0 :     (__msg)->set_rpc();
     238                 : 
     239                 : 
     240               0 :     Message __reply;
     241                 : 
     242               0 :     if (mozilla::ipc::LoggingEnabled()) {
     243               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     244                 :     }
     245               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_DelProperty__ID), (&(mState)))))) {
     246               0 :         NS_WARNING("bad state transition!");
     247                 :     }
     248                 : 
     249               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     250               0 :     if ((!(__sendok))) {
     251               0 :         return false;
     252                 :     }
     253                 : 
     254               0 :     if (mozilla::ipc::LoggingEnabled()) {
     255               0 :         (static_cast<const PObjectWrapper::Reply_DelProperty*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     256                 :     }
     257                 : 
     258               0 :     void* __iter = 0;
     259               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     260               0 :         FatalError("error deserializing (better message TODO)");
     261               0 :         return false;
     262                 :     }
     263               0 :     if ((!(Read(vp, (&(__reply)), (&(__iter)))))) {
     264               0 :         FatalError("error deserializing (better message TODO)");
     265               0 :         return false;
     266                 :     }
     267               0 :     (__reply).EndRead(__iter);
     268                 : 
     269               0 :     return true;
     270                 : }
     271                 : 
     272                 : bool
     273               0 : PObjectWrapperParent::CallNewEnumerateInit(
     274                 :         OperationStatus* status,
     275                 :         JSVariant* statep,
     276                 :         int* idp)
     277                 : {
     278               0 :     PObjectWrapper::Msg_NewEnumerateInit* __msg = new PObjectWrapper::Msg_NewEnumerateInit();
     279                 : 
     280                 : 
     281               0 :     (__msg)->set_routing_id(mId);
     282               0 :     (__msg)->set_rpc();
     283                 : 
     284                 : 
     285               0 :     Message __reply;
     286                 : 
     287               0 :     if (mozilla::ipc::LoggingEnabled()) {
     288               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     289                 :     }
     290               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_NewEnumerateInit__ID), (&(mState)))))) {
     291               0 :         NS_WARNING("bad state transition!");
     292                 :     }
     293                 : 
     294               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     295               0 :     if ((!(__sendok))) {
     296               0 :         return false;
     297                 :     }
     298                 : 
     299               0 :     if (mozilla::ipc::LoggingEnabled()) {
     300               0 :         (static_cast<const PObjectWrapper::Reply_NewEnumerateInit*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     301                 :     }
     302                 : 
     303               0 :     void* __iter = 0;
     304               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     305               0 :         FatalError("error deserializing (better message TODO)");
     306               0 :         return false;
     307                 :     }
     308               0 :     if ((!(Read(statep, (&(__reply)), (&(__iter)))))) {
     309               0 :         FatalError("error deserializing (better message TODO)");
     310               0 :         return false;
     311                 :     }
     312               0 :     if ((!(Read(idp, (&(__reply)), (&(__iter)))))) {
     313               0 :         FatalError("error deserializing (better message TODO)");
     314               0 :         return false;
     315                 :     }
     316               0 :     (__reply).EndRead(__iter);
     317                 : 
     318               0 :     return true;
     319                 : }
     320                 : 
     321                 : bool
     322               0 : PObjectWrapperParent::CallNewEnumerateNext(
     323                 :         const JSVariant& in_state,
     324                 :         OperationStatus* status,
     325                 :         JSVariant* statep,
     326                 :         nsString* idp)
     327                 : {
     328               0 :     PObjectWrapper::Msg_NewEnumerateNext* __msg = new PObjectWrapper::Msg_NewEnumerateNext();
     329                 : 
     330               0 :     Write(in_state, __msg);
     331                 : 
     332               0 :     (__msg)->set_routing_id(mId);
     333               0 :     (__msg)->set_rpc();
     334                 : 
     335                 : 
     336               0 :     Message __reply;
     337                 : 
     338               0 :     if (mozilla::ipc::LoggingEnabled()) {
     339               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     340                 :     }
     341               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_NewEnumerateNext__ID), (&(mState)))))) {
     342               0 :         NS_WARNING("bad state transition!");
     343                 :     }
     344                 : 
     345               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     346               0 :     if ((!(__sendok))) {
     347               0 :         return false;
     348                 :     }
     349                 : 
     350               0 :     if (mozilla::ipc::LoggingEnabled()) {
     351               0 :         (static_cast<const PObjectWrapper::Reply_NewEnumerateNext*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     352                 :     }
     353                 : 
     354               0 :     void* __iter = 0;
     355               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     356               0 :         FatalError("error deserializing (better message TODO)");
     357               0 :         return false;
     358                 :     }
     359               0 :     if ((!(Read(statep, (&(__reply)), (&(__iter)))))) {
     360               0 :         FatalError("error deserializing (better message TODO)");
     361               0 :         return false;
     362                 :     }
     363               0 :     if ((!(Read(idp, (&(__reply)), (&(__iter)))))) {
     364               0 :         FatalError("error deserializing (better message TODO)");
     365               0 :         return false;
     366                 :     }
     367               0 :     (__reply).EndRead(__iter);
     368                 : 
     369               0 :     return true;
     370                 : }
     371                 : 
     372                 : bool
     373               0 : PObjectWrapperParent::SendNewEnumerateDestroy(const JSVariant& in_state)
     374                 : {
     375               0 :     PObjectWrapper::Msg_NewEnumerateDestroy* __msg = new PObjectWrapper::Msg_NewEnumerateDestroy();
     376                 : 
     377               0 :     Write(in_state, __msg);
     378                 : 
     379               0 :     (__msg)->set_routing_id(mId);
     380                 : 
     381                 : 
     382                 : 
     383               0 :     if (mozilla::ipc::LoggingEnabled()) {
     384               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     385                 :     }
     386               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_NewEnumerateDestroy__ID), (&(mState)))))) {
     387               0 :         NS_WARNING("bad state transition!");
     388                 :     }
     389                 : 
     390               0 :     bool __sendok = (mChannel)->Send(__msg);
     391               0 :     return __sendok;
     392                 : }
     393                 : 
     394                 : bool
     395               0 : PObjectWrapperParent::CallNewResolve(
     396                 :         const nsString& id,
     397                 :         const int& flags,
     398                 :         OperationStatus* status,
     399                 :         PObjectWrapperParent** obj2)
     400                 : {
     401               0 :     PObjectWrapper::Msg_NewResolve* __msg = new PObjectWrapper::Msg_NewResolve();
     402                 : 
     403               0 :     Write(id, __msg);
     404               0 :     Write(flags, __msg);
     405                 : 
     406               0 :     (__msg)->set_routing_id(mId);
     407               0 :     (__msg)->set_rpc();
     408                 : 
     409                 : 
     410               0 :     Message __reply;
     411                 : 
     412               0 :     if (mozilla::ipc::LoggingEnabled()) {
     413               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     414                 :     }
     415               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_NewResolve__ID), (&(mState)))))) {
     416               0 :         NS_WARNING("bad state transition!");
     417                 :     }
     418                 : 
     419               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     420               0 :     if ((!(__sendok))) {
     421               0 :         return false;
     422                 :     }
     423                 : 
     424               0 :     if (mozilla::ipc::LoggingEnabled()) {
     425               0 :         (static_cast<const PObjectWrapper::Reply_NewResolve*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     426                 :     }
     427                 : 
     428               0 :     void* __iter = 0;
     429               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     430               0 :         FatalError("error deserializing (better message TODO)");
     431               0 :         return false;
     432                 :     }
     433               0 :     if ((!(Read(obj2, (&(__reply)), (&(__iter)), true)))) {
     434               0 :         FatalError("error deserializing (better message TODO)");
     435               0 :         return false;
     436                 :     }
     437               0 :     (__reply).EndRead(__iter);
     438                 : 
     439               0 :     return true;
     440                 : }
     441                 : 
     442                 : bool
     443               0 : PObjectWrapperParent::CallConvert(
     444                 :         const JSType& type,
     445                 :         OperationStatus* status,
     446                 :         JSVariant* vp)
     447                 : {
     448               0 :     PObjectWrapper::Msg_Convert* __msg = new PObjectWrapper::Msg_Convert();
     449                 : 
     450               0 :     Write(type, __msg);
     451                 : 
     452               0 :     (__msg)->set_routing_id(mId);
     453               0 :     (__msg)->set_rpc();
     454                 : 
     455                 : 
     456               0 :     Message __reply;
     457                 : 
     458               0 :     if (mozilla::ipc::LoggingEnabled()) {
     459               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     460                 :     }
     461               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_Convert__ID), (&(mState)))))) {
     462               0 :         NS_WARNING("bad state transition!");
     463                 :     }
     464                 : 
     465               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     466               0 :     if ((!(__sendok))) {
     467               0 :         return false;
     468                 :     }
     469                 : 
     470               0 :     if (mozilla::ipc::LoggingEnabled()) {
     471               0 :         (static_cast<const PObjectWrapper::Reply_Convert*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     472                 :     }
     473                 : 
     474               0 :     void* __iter = 0;
     475               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     476               0 :         FatalError("error deserializing (better message TODO)");
     477               0 :         return false;
     478                 :     }
     479               0 :     if ((!(Read(vp, (&(__reply)), (&(__iter)))))) {
     480               0 :         FatalError("error deserializing (better message TODO)");
     481               0 :         return false;
     482                 :     }
     483               0 :     (__reply).EndRead(__iter);
     484                 : 
     485               0 :     return true;
     486                 : }
     487                 : 
     488                 : bool
     489               0 : PObjectWrapperParent::CallCall(
     490                 :         PObjectWrapperParent* receiver,
     491                 :         const InfallibleTArray<JSVariant>& argv,
     492                 :         OperationStatus* status,
     493                 :         JSVariant* rval)
     494                 : {
     495               0 :     PObjectWrapper::Msg_Call* __msg = new PObjectWrapper::Msg_Call();
     496                 : 
     497               0 :     Write(receiver, __msg, false);
     498               0 :     Write(argv, __msg);
     499                 : 
     500               0 :     (__msg)->set_routing_id(mId);
     501               0 :     (__msg)->set_rpc();
     502                 : 
     503                 : 
     504               0 :     Message __reply;
     505                 : 
     506               0 :     if (mozilla::ipc::LoggingEnabled()) {
     507               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     508                 :     }
     509               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_Call__ID), (&(mState)))))) {
     510               0 :         NS_WARNING("bad state transition!");
     511                 :     }
     512                 : 
     513               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     514               0 :     if ((!(__sendok))) {
     515               0 :         return false;
     516                 :     }
     517                 : 
     518               0 :     if (mozilla::ipc::LoggingEnabled()) {
     519               0 :         (static_cast<const PObjectWrapper::Reply_Call*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     520                 :     }
     521                 : 
     522               0 :     void* __iter = 0;
     523               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     524               0 :         FatalError("error deserializing (better message TODO)");
     525               0 :         return false;
     526                 :     }
     527               0 :     if ((!(Read(rval, (&(__reply)), (&(__iter)))))) {
     528               0 :         FatalError("error deserializing (better message TODO)");
     529               0 :         return false;
     530                 :     }
     531               0 :     (__reply).EndRead(__iter);
     532                 : 
     533               0 :     return true;
     534                 : }
     535                 : 
     536                 : bool
     537               0 : PObjectWrapperParent::CallConstruct(
     538                 :         const InfallibleTArray<JSVariant>& argv,
     539                 :         OperationStatus* status,
     540                 :         PObjectWrapperParent** rval)
     541                 : {
     542               0 :     PObjectWrapper::Msg_Construct* __msg = new PObjectWrapper::Msg_Construct();
     543                 : 
     544               0 :     Write(argv, __msg);
     545                 : 
     546               0 :     (__msg)->set_routing_id(mId);
     547               0 :     (__msg)->set_rpc();
     548                 : 
     549                 : 
     550               0 :     Message __reply;
     551                 : 
     552               0 :     if (mozilla::ipc::LoggingEnabled()) {
     553               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     554                 :     }
     555               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_Construct__ID), (&(mState)))))) {
     556               0 :         NS_WARNING("bad state transition!");
     557                 :     }
     558                 : 
     559               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     560               0 :     if ((!(__sendok))) {
     561               0 :         return false;
     562                 :     }
     563                 : 
     564               0 :     if (mozilla::ipc::LoggingEnabled()) {
     565               0 :         (static_cast<const PObjectWrapper::Reply_Construct*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     566                 :     }
     567                 : 
     568               0 :     void* __iter = 0;
     569               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     570               0 :         FatalError("error deserializing (better message TODO)");
     571               0 :         return false;
     572                 :     }
     573               0 :     if ((!(Read(rval, (&(__reply)), (&(__iter)), true)))) {
     574               0 :         FatalError("error deserializing (better message TODO)");
     575               0 :         return false;
     576                 :     }
     577               0 :     (__reply).EndRead(__iter);
     578                 : 
     579               0 :     return true;
     580                 : }
     581                 : 
     582                 : bool
     583               0 : PObjectWrapperParent::CallHasInstance(
     584                 :         const JSVariant& v,
     585                 :         OperationStatus* status,
     586                 :         JSBool* bp)
     587                 : {
     588               0 :     PObjectWrapper::Msg_HasInstance* __msg = new PObjectWrapper::Msg_HasInstance();
     589                 : 
     590               0 :     Write(v, __msg);
     591                 : 
     592               0 :     (__msg)->set_routing_id(mId);
     593               0 :     (__msg)->set_rpc();
     594                 : 
     595                 : 
     596               0 :     Message __reply;
     597                 : 
     598               0 :     if (mozilla::ipc::LoggingEnabled()) {
     599               0 :         (__msg)->Log("[PObjectWrapperParent] Sending ", stderr);
     600                 :     }
     601               0 :     if ((!(PObjectWrapper::Transition(mState, Trigger(Trigger::Send, PObjectWrapper::Msg_HasInstance__ID), (&(mState)))))) {
     602               0 :         NS_WARNING("bad state transition!");
     603                 :     }
     604                 : 
     605               0 :     bool __sendok = (mChannel)->Call(__msg, (&(__reply)));
     606               0 :     if ((!(__sendok))) {
     607               0 :         return false;
     608                 :     }
     609                 : 
     610               0 :     if (mozilla::ipc::LoggingEnabled()) {
     611               0 :         (static_cast<const PObjectWrapper::Reply_HasInstance*>((&(__reply))))->Log("[PObjectWrapperParent] Received reply ", stderr);
     612                 :     }
     613                 : 
     614               0 :     void* __iter = 0;
     615               0 :     if ((!(Read(status, (&(__reply)), (&(__iter)))))) {
     616               0 :         FatalError("error deserializing (better message TODO)");
     617               0 :         return false;
     618                 :     }
     619               0 :     if ((!(Read(bp, (&(__reply)), (&(__iter)))))) {
     620               0 :         FatalError("error deserializing (better message TODO)");
     621               0 :         return false;
     622                 :     }
     623               0 :     (__reply).EndRead(__iter);
     624                 : 
     625               0 :     return true;
     626                 : }
     627                 : 
     628                 : int32
     629               0 : PObjectWrapperParent::Register(ChannelListener* aRouted)
     630                 : {
     631               0 :     return (mManager)->Register(aRouted);
     632                 : }
     633                 : 
     634                 : int32
     635               0 : PObjectWrapperParent::RegisterID(
     636                 :         ChannelListener* aRouted,
     637                 :         int32 aId)
     638                 : {
     639               0 :     return (mManager)->RegisterID(aRouted, aId);
     640                 : }
     641                 : 
     642                 : ChannelListener*
     643               0 : PObjectWrapperParent::Lookup(int32 aId)
     644                 : {
     645               0 :     return (mManager)->Lookup(aId);
     646                 : }
     647                 : 
     648                 : void
     649               0 : PObjectWrapperParent::Unregister(int32 aId)
     650                 : {
     651               0 :     return (mManager)->Unregister(aId);
     652                 : }
     653                 : 
     654                 : void
     655               0 : PObjectWrapperParent::RemoveManagee(
     656                 :         int32 aProtocolId,
     657                 :         ChannelListener* aListener)
     658                 : {
     659               0 :     NS_RUNTIMEABORT("unreached");
     660                 :     return;
     661                 : }
     662                 : 
     663                 : Shmem::SharedMemory*
     664               0 : PObjectWrapperParent::CreateSharedMemory(
     665                 :         size_t aSize,
     666                 :         Shmem::SharedMemory::SharedMemoryType type,
     667                 :         bool unsafe,
     668                 :         Shmem::id_t* aId)
     669                 : {
     670               0 :     return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
     671                 : }
     672                 : 
     673                 : bool
     674               0 : PObjectWrapperParent::AdoptSharedMemory(
     675                 :         Shmem::SharedMemory* segment,
     676                 :         Shmem::id_t* aId)
     677                 : {
     678               0 :     return (mManager)->AdoptSharedMemory(segment, aId);
     679                 : }
     680                 : 
     681                 : Shmem::SharedMemory*
     682               0 : PObjectWrapperParent::LookupSharedMemory(Shmem::id_t aId)
     683                 : {
     684               0 :     return (mManager)->LookupSharedMemory(aId);
     685                 : }
     686                 : 
     687                 : bool
     688               0 : PObjectWrapperParent::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
     689                 : {
     690               0 :     return (mManager)->IsTrackingSharedMemory(segment);
     691                 : }
     692                 : 
     693                 : bool
     694               0 : PObjectWrapperParent::DestroySharedMemory(Shmem& aShmem)
     695                 : {
     696               0 :     return (mManager)->DestroySharedMemory(aShmem);
     697                 : }
     698                 : 
     699                 : ProcessHandle
     700               0 : PObjectWrapperParent::OtherProcess() const
     701                 : {
     702               0 :     return (mManager)->OtherProcess();
     703                 : }
     704                 : 
     705                 : AsyncChannel*
     706               0 : PObjectWrapperParent::GetIPCChannel()
     707                 : {
     708               0 :     return mChannel;
     709                 : }
     710                 : 
     711                 : PObjectWrapperParent::Result
     712               0 : PObjectWrapperParent::OnMessageReceived(const Message& __msg)
     713                 : {
     714               0 :     switch ((__msg).type()) {
     715                 :     case PObjectWrapper::Reply___delete____ID:
     716                 :         {
     717               0 :             return MsgProcessed;
     718                 :         }
     719                 :     default:
     720                 :         {
     721               0 :             return MsgNotKnown;
     722                 :         }
     723                 :     }
     724                 : }
     725                 : 
     726                 : PObjectWrapperParent::Result
     727               0 : PObjectWrapperParent::OnMessageReceived(
     728                 :         const Message& __msg,
     729                 :         Message*& __reply)
     730                 : {
     731               0 :     return MsgNotKnown;
     732                 : }
     733                 : 
     734                 : PObjectWrapperParent::Result
     735               0 : PObjectWrapperParent::OnCallReceived(
     736                 :         const Message& __msg,
     737                 :         Message*& __reply)
     738                 : {
     739               0 :     return MsgNotKnown;
     740                 : }
     741                 : 
     742                 : void
     743               0 : PObjectWrapperParent::OnProcessingError(Result code)
     744                 : {
     745               0 :     NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
     746               0 : }
     747                 : 
     748                 : bool
     749               0 : PObjectWrapperParent::OnReplyTimeout()
     750                 : {
     751               0 :     NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
     752               0 :     return false;
     753                 : }
     754                 : 
     755                 : void
     756               0 : PObjectWrapperParent::OnChannelClose()
     757                 : {
     758               0 :     NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
     759               0 : }
     760                 : 
     761                 : void
     762               0 : PObjectWrapperParent::OnChannelError()
     763                 : {
     764               0 :     NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
     765               0 : }
     766                 : 
     767                 : void
     768               0 : PObjectWrapperParent::OnChannelConnected(int32 pid)
     769                 : {
     770               0 :     NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
     771               0 : }
     772                 : 
     773                 : bool
     774               0 : PObjectWrapperParent::AllocShmem(
     775                 :         size_t aSize,
     776                 :         Shmem::SharedMemory::SharedMemoryType aType,
     777                 :         Shmem* aMem)
     778                 : {
     779                 :     Shmem::id_t aId;
     780               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
     781               0 :     if ((!(rawmem))) {
     782               0 :         return false;
     783                 :     }
     784                 : 
     785               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     786               0 :     return true;
     787                 : }
     788                 : 
     789                 : bool
     790               0 : PObjectWrapperParent::AllocUnsafeShmem(
     791                 :         size_t aSize,
     792                 :         Shmem::SharedMemory::SharedMemoryType aType,
     793                 :         Shmem* aMem)
     794                 : {
     795                 :     Shmem::id_t aId;
     796               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
     797               0 :     if ((!(rawmem))) {
     798               0 :         return false;
     799                 :     }
     800                 : 
     801               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     802               0 :     return true;
     803                 : }
     804                 : 
     805                 : bool
     806               0 : PObjectWrapperParent::AdoptShmem(
     807                 :         Shmem& aMem,
     808                 :         Shmem* aOutMem)
     809                 : {
     810               0 :     Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     811               0 :     if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
     812               0 :         NS_RUNTIMEABORT("bad Shmem");
     813                 :     }
     814                 : 
     815                 :     Shmem::id_t aId;
     816               0 :     if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
     817               0 :         return false;
     818                 :     }
     819                 : 
     820               0 :     (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
     821               0 :     return true;
     822                 : }
     823                 : 
     824                 : bool
     825               0 : PObjectWrapperParent::DeallocShmem(Shmem& aMem)
     826                 : {
     827               0 :     bool ok = DestroySharedMemory(aMem);
     828               0 :     (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     829               0 :     return ok;
     830                 : }
     831                 : 
     832                 : void
     833               0 : PObjectWrapperParent::FatalError(const char* const msg) const
     834                 : {
     835                 :     // Virtual method to prevent inlining.
     836                 :     // This give us better error reporting.
     837                 :     // See bug 589371
     838                 : 
     839               0 :     NS_ERROR("IPDL error:");
     840               0 :     NS_ERROR(msg);
     841                 : 
     842               0 :     NS_ERROR("[PObjectWrapperParent] killing child side as a result");
     843                 : 
     844               0 :     if ((!(base::KillProcess(OtherProcess(), base::PROCESS_END_KILLED_BY_USER, false)))) {
     845               0 :         NS_ERROR("  may have failed to kill child!");
     846                 :     }
     847               0 : }
     848                 : 
     849                 : void
     850               0 : PObjectWrapperParent::DestroySubtree(ActorDestroyReason why)
     851                 : {
     852                 :     // Unregister from our manager.
     853               0 :     Unregister(mId);
     854               0 :     mId = 1;
     855                 : 
     856                 :     // Finally, destroy "us".
     857               0 :     ActorDestroy(why);
     858               0 : }
     859                 : 
     860                 : void
     861               0 : PObjectWrapperParent::DeallocSubtree()
     862                 : {
     863               0 : }
     864                 : 
     865                 : void
     866               0 : PObjectWrapperParent::Write(
     867                 :         PObjectWrapperParent* __v,
     868                 :         Message* __msg,
     869                 :         bool __nullable)
     870                 : {
     871                 :     int32 id;
     872               0 :     if ((!(__v))) {
     873               0 :         if ((!(__nullable))) {
     874               0 :             NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
     875                 :         }
     876               0 :         id = 0;
     877                 :     }
     878                 :     else {
     879               0 :         id = (__v)->mId;
     880               0 :         if ((1) == (id)) {
     881               0 :             NS_RUNTIMEABORT("actor has been |delete|d");
     882                 :         }
     883                 :     }
     884                 : 
     885               0 :     Write(id, __msg);
     886               0 : }
     887                 : 
     888                 : bool
     889               0 : PObjectWrapperParent::Read(
     890                 :         PObjectWrapperParent** __v,
     891                 :         const Message* __msg,
     892                 :         void** __iter,
     893                 :         bool __nullable)
     894                 : {
     895                 :     int32 id;
     896               0 :     if ((!(Read((&(id)), __msg, __iter)))) {
     897               0 :         return false;
     898                 :     }
     899               0 :     if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
     900               0 :         return false;
     901                 :     }
     902                 : 
     903               0 :     if ((0) == (id)) {
     904               0 :         (*(__v)) = 0;
     905                 :     }
     906                 :     else {
     907               0 :         (*(__v)) = static_cast<PObjectWrapperParent*>(Lookup(id));
     908               0 :         if ((!((*(__v))))) {
     909               0 :             return false;
     910                 :         }
     911                 :     }
     912               0 :     return true;
     913                 : }
     914                 : 
     915                 : void
     916               0 : PObjectWrapperParent::Write(
     917                 :         const InfallibleTArray<JSVariant>& __v,
     918                 :         Message* __msg)
     919                 : {
     920               0 :     uint32 length = (__v).Length();
     921               0 :     Write(length, __msg);
     922                 : 
     923               0 :     for (uint32 i = 0; (i) < (length); (++(i))) {
     924               0 :         Write(__v[i], __msg);
     925                 :     }
     926               0 : }
     927                 : 
     928                 : bool
     929               0 : PObjectWrapperParent::Read(
     930                 :         InfallibleTArray<JSVariant>* __v,
     931                 :         const Message* __msg,
     932                 :         void** __iter)
     933                 : {
     934               0 :     InfallibleTArray<JSVariant>& a = (*(__v));
     935                 :     uint32 length;
     936               0 :     if ((!(Read((&(length)), __msg, __iter)))) {
     937               0 :         return false;
     938                 :     }
     939                 : 
     940               0 :     (__v)->SetLength(length);
     941               0 :     for (uint32 i = 0; (i) < (length); (++(i))) {
     942               0 :         if ((!(Read((&(a[i])), __msg, __iter)))) {
     943               0 :             return false;
     944                 :         }
     945                 :     }
     946               0 :     return true;
     947                 : }
     948                 : 
     949                 : void
     950               0 : PObjectWrapperParent::Write(
     951                 :         const OperationStatus& __v,
     952                 :         Message* __msg)
     953                 : {
     954                 :     typedef OperationStatus __type;
     955               0 :     Write(int((__v).type()), __msg);
     956                 : 
     957               0 :     switch ((__v).type()) {
     958                 :     case __type::TJSBool:
     959                 :         {
     960               0 :             Write((__v).get_JSBool(), __msg);
     961               0 :             return;
     962                 :         }
     963                 :     case __type::TJSVariant:
     964                 :         {
     965               0 :             Write((__v).get_JSVariant(), __msg);
     966               0 :             return;
     967                 :         }
     968                 :     default:
     969                 :         {
     970               0 :             NS_RUNTIMEABORT("unknown union type");
     971               0 :             return;
     972                 :         }
     973                 :     }
     974                 : }
     975                 : 
     976                 : bool
     977               0 : PObjectWrapperParent::Read(
     978                 :         OperationStatus* __v,
     979                 :         const Message* __msg,
     980                 :         void** __iter)
     981                 : {
     982                 :     typedef OperationStatus __type;
     983                 :     int type;
     984               0 :     if ((!(Read((&(type)), __msg, __iter)))) {
     985               0 :         return false;
     986                 :     }
     987                 : 
     988               0 :     switch (type) {
     989                 :     case __type::TJSBool:
     990                 :         {
     991               0 :             JSBool tmp = JSBool();
     992               0 :             (*(__v)) = tmp;
     993               0 :             return Read((&((__v)->get_JSBool())), __msg, __iter);
     994                 :         }
     995                 :     case __type::TJSVariant:
     996                 :         {
     997               0 :             JSVariant tmp = JSVariant();
     998               0 :             (*(__v)) = tmp;
     999               0 :             return Read((&((__v)->get_JSVariant())), __msg, __iter);
    1000                 :         }
    1001                 :     default:
    1002                 :         {
    1003               0 :             return false;
    1004                 :         }
    1005                 :     }
    1006                 : }
    1007                 : 
    1008                 : void
    1009               0 : PObjectWrapperParent::Write(
    1010                 :         const JSVariant& __v,
    1011                 :         Message* __msg)
    1012                 : {
    1013                 :     typedef JSVariant __type;
    1014               0 :     Write(int((__v).type()), __msg);
    1015                 : 
    1016               0 :     switch ((__v).type()) {
    1017                 :     case __type::Tvoid_t:
    1018                 :         {
    1019               0 :             Write((__v).get_void_t(), __msg);
    1020               0 :             return;
    1021                 :         }
    1022                 :     case __type::TPObjectWrapperParent:
    1023                 :         {
    1024               0 :             Write((__v).get_PObjectWrapperParent(), __msg, true);
    1025               0 :             return;
    1026                 :         }
    1027                 :     case __type::TPObjectWrapperChild:
    1028                 :         {
    1029               0 :             NS_RUNTIMEABORT("wrong side!");
    1030               0 :             return;
    1031                 :         }
    1032                 :     case __type::TnsString:
    1033                 :         {
    1034               0 :             Write((__v).get_nsString(), __msg);
    1035               0 :             return;
    1036                 :         }
    1037                 :     case __type::Tint:
    1038                 :         {
    1039               0 :             Write((__v).get_int(), __msg);
    1040               0 :             return;
    1041                 :         }
    1042                 :     case __type::Tdouble:
    1043                 :         {
    1044               0 :             Write((__v).get_double(), __msg);
    1045               0 :             return;
    1046                 :         }
    1047                 :     case __type::Tbool:
    1048                 :         {
    1049               0 :             Write((__v).get_bool(), __msg);
    1050               0 :             return;
    1051                 :         }
    1052                 :     default:
    1053                 :         {
    1054               0 :             NS_RUNTIMEABORT("unknown union type");
    1055               0 :             return;
    1056                 :         }
    1057                 :     }
    1058                 : }
    1059                 : 
    1060                 : bool
    1061               0 : PObjectWrapperParent::Read(
    1062                 :         JSVariant* __v,
    1063                 :         const Message* __msg,
    1064                 :         void** __iter)
    1065                 : {
    1066                 :     typedef JSVariant __type;
    1067                 :     int type;
    1068               0 :     if ((!(Read((&(type)), __msg, __iter)))) {
    1069               0 :         return false;
    1070                 :     }
    1071                 : 
    1072               0 :     switch (type) {
    1073                 :     case __type::Tvoid_t:
    1074                 :         {
    1075               0 :             void_t tmp = void_t();
    1076               0 :             (*(__v)) = tmp;
    1077               0 :             return Read((&((__v)->get_void_t())), __msg, __iter);
    1078                 :         }
    1079                 :     case __type::TPObjectWrapperParent:
    1080                 :         {
    1081               0 :             return false;
    1082                 :         }
    1083                 :     case __type::TPObjectWrapperChild:
    1084                 :         {
    1085               0 :             PObjectWrapperParent* tmp = static_cast<PObjectWrapperParent*>(0);
    1086               0 :             (*(__v)) = tmp;
    1087               0 :             return Read((&((__v)->get_PObjectWrapperParent())), __msg, __iter, true);
    1088                 :         }
    1089                 :     case __type::TnsString:
    1090                 :         {
    1091               0 :             nsString tmp = nsString();
    1092               0 :             (*(__v)) = tmp;
    1093               0 :             return Read((&((__v)->get_nsString())), __msg, __iter);
    1094                 :         }
    1095                 :     case __type::Tint:
    1096                 :         {
    1097               0 :             int tmp = int();
    1098               0 :             (*(__v)) = tmp;
    1099               0 :             return Read((&((__v)->get_int())), __msg, __iter);
    1100                 :         }
    1101                 :     case __type::Tdouble:
    1102                 :         {
    1103               0 :             double tmp = double();
    1104               0 :             (*(__v)) = tmp;
    1105               0 :             return Read((&((__v)->get_double())), __msg, __iter);
    1106                 :         }
    1107                 :     case __type::Tbool:
    1108                 :         {
    1109               0 :             bool tmp = bool();
    1110               0 :             (*(__v)) = tmp;
    1111               0 :             return Read((&((__v)->get_bool())), __msg, __iter);
    1112                 :         }
    1113                 :     default:
    1114                 :         {
    1115               0 :             return false;
    1116                 :         }
    1117                 :     }
    1118                 : }
    1119                 : 
    1120                 : 
    1121                 : 
    1122                 : } // namespace jsipc
    1123                 : } // namespace mozilla

Generated by: LCOV version 1.7