43 // ----------------------------------------------------------------------------- |
43 // ----------------------------------------------------------------------------- |
44 // TMSServer::NewL |
44 // TMSServer::NewL |
45 // |
45 // |
46 // ----------------------------------------------------------------------------- |
46 // ----------------------------------------------------------------------------- |
47 // |
47 // |
48 TMSServer* TMSServer::NewL() |
48 TMSServer* TMSServer::NewLC() |
49 { |
49 { |
50 TMSServer* self = new (ELeave) TMSServer; |
50 TMSServer* self = new (ELeave) TMSServer; |
51 CleanupStack::PushL(self); |
51 CleanupStack::PushL(self); |
52 self->ConstructL(); |
52 self->ConstructL(); |
53 CleanupStack::Pop(self); |
|
54 return self; |
53 return self; |
55 } |
54 } |
56 |
55 |
57 // ----------------------------------------------------------------------------- |
56 // ----------------------------------------------------------------------------- |
58 // TMSServer::TMSServer |
57 // TMSServer::TMSServer |
1290 |
1289 |
1291 TRACE_PRN_FN_EXT; |
1290 TRACE_PRN_FN_EXT; |
1292 } |
1291 } |
1293 |
1292 |
1294 // ----------------------------------------------------------------------------- |
1293 // ----------------------------------------------------------------------------- |
1295 // RunServerL |
1294 // TMSServer::RunServerL |
1296 // |
1295 // |
1297 // ----------------------------------------------------------------------------- |
1296 // ----------------------------------------------------------------------------- |
1298 // |
1297 // |
1299 static void RunServerL() |
1298 void TMSServer::RunServerL() |
1300 { |
1299 { |
1301 TRACE_PRN_N(_L("TMS->RunServerL")); |
1300 TRACE_PRN_N(_L("TMS->RunServerL")); |
|
1301 |
|
1302 // Naming the server thread after the server helps to debug panics |
|
1303 User::LeaveIfError(User::RenameThread(KTMSServerName)); |
1302 |
1304 |
1303 // Create and install the active scheduler we need |
1305 // Create and install the active scheduler we need |
1304 CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; |
1306 CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; |
1305 CleanupStack::PushL(scheduler); |
1307 CleanupStack::PushL(scheduler); |
1306 CActiveScheduler::Install(scheduler); |
1308 CActiveScheduler::Install(scheduler); |
1307 |
1309 |
1308 // Create the server (leave it on the cleanup stack) |
1310 // Create the server (leave it on the cleanup stack) |
1309 TMSServer* server = TMSServer::NewL(); |
1311 TMSServer* server = TMSServer::NewLC(); |
1310 |
1312 |
1311 // Initialisation complete, now signal the client |
1313 // Initialisation complete, now signal the client |
1312 RProcess::Rendezvous(TMS_RESULT_SUCCESS); |
1314 RProcess::Rendezvous(TMS_RESULT_SUCCESS); |
1313 |
1315 |
1314 // Start the scheduler and wait for client requests |
1316 // Start the scheduler and wait for client requests |
1315 CActiveScheduler::Start(); |
1317 CActiveScheduler::Start(); |
1316 |
1318 |
1317 // Ready to exit. |
1319 // Ready to exit. |
1318 // Cleanup scheduler and delete the server |
1320 // Cleanup scheduler and delete the server |
1319 delete server; |
1321 CleanupStack::PopAndDestroy(server); |
1320 CleanupStack::PopAndDestroy(scheduler); |
1322 CleanupStack::PopAndDestroy(scheduler); |
1321 |
1323 |
1322 TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); |
1324 TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); |
1323 } |
1325 } |
1324 |
1326 |