mmserv/tms/tmsserver/src/tmsserver.cpp
branchRCL_3
changeset 18 2eb3b066cc7d
parent 17 3570217d8c21
child 40 60e492b28869
equal deleted inserted replaced
17:3570217d8c21 18:2eb3b066cc7d
    40 // -----------------------------------------------------------------------------
    40 // -----------------------------------------------------------------------------
    41 // TMSServer::NewL
    41 // TMSServer::NewL
    42 //
    42 //
    43 // -----------------------------------------------------------------------------
    43 // -----------------------------------------------------------------------------
    44 //
    44 //
    45 TMSServer* TMSServer::NewL()
    45 TMSServer* TMSServer::NewLC()
    46     {
    46     {
    47     TMSServer* self = new (ELeave) TMSServer;
    47     TMSServer* self = new (ELeave) TMSServer;
    48     CleanupStack::PushL(self);
    48     CleanupStack::PushL(self);
    49     self->ConstructL();
    49     self->ConstructL();
    50     CleanupStack::Pop(self);
       
    51     return self;
    50     return self;
    52     }
    51     }
    53 
    52 
    54 // -----------------------------------------------------------------------------
    53 // -----------------------------------------------------------------------------
    55 // TMSServer::TMSServer
    54 // TMSServer::TMSServer
   858     TRACE_PRN_FN_EXT;
   857     TRACE_PRN_FN_EXT;
   859     return status;
   858     return status;
   860     }
   859     }
   861 
   860 
   862 // -----------------------------------------------------------------------------
   861 // -----------------------------------------------------------------------------
   863 // RunServerL
   862 // TMSServer::RunServerL
   864 //
   863 //
   865 // -----------------------------------------------------------------------------
   864 // -----------------------------------------------------------------------------
   866 //
   865 //
   867 static void RunServerL()
   866 void TMSServer::RunServerL()
   868     {
   867     {
   869     TRACE_PRN_N(_L("TMS->RunServerL"));
   868     TRACE_PRN_N(_L("TMS->RunServerL"));
       
   869 
       
   870     // Naming the server thread after the server helps to debug panics
       
   871     User::LeaveIfError(User::RenameThread(KTMSServerName));
   870 
   872 
   871     // Create and install the active scheduler we need
   873     // Create and install the active scheduler we need
   872     CActiveScheduler* scheduler = new (ELeave) CActiveScheduler;
   874     CActiveScheduler* scheduler = new (ELeave) CActiveScheduler;
   873     CleanupStack::PushL(scheduler);
   875     CleanupStack::PushL(scheduler);
   874     CActiveScheduler::Install(scheduler);
   876     CActiveScheduler::Install(scheduler);
   875 
   877 
   876     // Create the server (leave it on the cleanup stack)
   878     // Create the server (leave it on the cleanup stack)
   877     TMSServer* server = TMSServer::NewL();
   879     TMSServer* server = TMSServer::NewLC();
   878 
   880 
   879     // Initialisation complete, now signal the client
   881     // Initialisation complete, now signal the client
   880     RProcess::Rendezvous(TMS_RESULT_SUCCESS);
   882     RProcess::Rendezvous(TMS_RESULT_SUCCESS);
   881 
   883 
   882     // Start the scheduler and wait for client requests
   884     // Start the scheduler and wait for client requests
   883     CActiveScheduler::Start();
   885     CActiveScheduler::Start();
   884 
   886 
   885     // Ready to exit.
   887     // Ready to exit.
   886     // Cleanup scheduler and delete the server
   888     // Cleanup scheduler and delete the server
   887     delete server;
   889     CleanupStack::PopAndDestroy(server);
   888     CleanupStack::PopAndDestroy(scheduler);
   890     CleanupStack::PopAndDestroy(scheduler);
   889 
   891 
   890     TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed"));
   892     TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed"));
   891     }
   893     }
   892 
   894 
  1131     __UHEAP_MARK;
  1133     __UHEAP_MARK;
  1132     CTrapCleanup* cleanup = CTrapCleanup::New();
  1134     CTrapCleanup* cleanup = CTrapCleanup::New();
  1133     TInt r = KErrNoMemory;
  1135     TInt r = KErrNoMemory;
  1134     if (cleanup)
  1136     if (cleanup)
  1135         {
  1137         {
  1136         TRAP(r, RunServerL());
  1138         TRAP(r, TMSServer::RunServerL());
  1137         delete cleanup;
  1139         delete cleanup;
  1138         }
  1140         }
  1139     __UHEAP_MARKEND;
  1141     __UHEAP_MARKEND;
  1140     return r;
  1142     return r;
  1141     }
  1143     }