harvester/server/src/harvesterserver.cpp
branchRCL_3
changeset 18 63c982fb92f2
parent 7 3cebc1a84278
child 19 b73252188534
equal deleted inserted replaced
16:9422ed56ee45 18:63c982fb92f2
    23 #include "harvestercommon.h"
    23 #include "harvestercommon.h"
    24 #include "harvesterlog.h"
    24 #include "harvesterlog.h"
    25 #include "harvesterao.h"
    25 #include "harvesterao.h"
    26 #include "harvesterblacklist.h"
    26 #include "harvesterblacklist.h"
    27 #include "mdsactivescheduler.h"
    27 #include "mdsactivescheduler.h"
       
    28 #include "OstTraceDefinitions.h"
       
    29 #ifdef OST_TRACE_COMPILER_IN_USE
       
    30 #include "harvesterserverTraces.h"
       
    31 #endif
       
    32 
    28 
    33 
    29 // ----------------------------------------------------------------------------------------
    34 // ----------------------------------------------------------------------------------------
    30 // Server's policy here
    35 // Server's policy here
    31 // ----------------------------------------------------------------------------------------
    36 // ----------------------------------------------------------------------------------------
    32 
    37 
   192 // ---------------------------------------------------------------------------
   197 // ---------------------------------------------------------------------------
   193 //
   198 //
   194 void CHarvesterServer::ConstructL()
   199 void CHarvesterServer::ConstructL()
   195 	{
   200 	{
   196 	WRITELOG( "CHarvesterServer::ConstructL() - begin" );
   201 	WRITELOG( "CHarvesterServer::ConstructL() - begin" );
       
   202 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_CONSTRUCTL, "CHarvesterServer::ConstructL - begin" );
       
   203 	
   197 	StartL( KHarvesterServerName );
   204 	StartL( KHarvesterServerName );
   198 	iHarvesterAO = CHarvesterAO::NewL();
   205 	iHarvesterAO = CHarvesterAO::NewL();
   199 	
   206 	
   200     RProcess process;
   207     RProcess process;
   201     process.SetPriority( EPriorityBackground );
   208     process.SetPriority( EPriorityBackground );
   205 	iPauseObserverAO = CPauseObserverAO::NewL( *this );
   212 	iPauseObserverAO = CPauseObserverAO::NewL( *this );
   206 	
   213 	
   207     // create shutdown observer
   214     // create shutdown observer
   208     iShutdownObserver = CHarvesterShutdownObserver::NewL( *this );                                                
   215     iShutdownObserver = CHarvesterShutdownObserver::NewL( *this );                                                
   209 	
   216 	
       
   217     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_CONSTRUCTL, "CHarvesterServer::ConstructL - end" );    
   210 	WRITELOG( "CHarvesterServer::ConstructL() - end" );
   218 	WRITELOG( "CHarvesterServer::ConstructL() - end" );
   211 	}
   219 	}
   212 
   220 
   213 // ---------------------------------------------------------------------------
   221 // ---------------------------------------------------------------------------
   214 // Pause
   222 // Pause
   215 // ---------------------------------------------------------------------------
   223 // ---------------------------------------------------------------------------
   216 //
   224 //
   217 void CHarvesterServer::Pause( const RMessage2& aMessage )
   225 void CHarvesterServer::Pause( const RMessage2& aMessage )
   218 	{
   226 	{
   219 	WRITELOG( "CHarvesterServer::Pause() - begin" );
   227 	WRITELOG( "CHarvesterServer::Pause() - begin" );
       
   228 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_PAUSE, "CHarvesterServer::Pause" );	
   220 
   229 
   221 	if ( !iHarvesterAO->IsServerPaused() )
   230 	if ( !iHarvesterAO->IsServerPaused() )
   222 		{
   231 		{
   223 		iMessage = &aMessage;
   232 		iMessage = &aMessage;
   224 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestPause );
   233 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestPause );
   235 // ---------------------------------------------------------------------------
   244 // ---------------------------------------------------------------------------
   236 //
   245 //
   237 void CHarvesterServer::Resume( const RMessage2& aMessage )
   246 void CHarvesterServer::Resume( const RMessage2& aMessage )
   238 	{
   247 	{
   239 	WRITELOG( "CHarvesterServer::Resume()" ); 
   248 	WRITELOG( "CHarvesterServer::Resume()" ); 
       
   249 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_RESUME, "CHarvesterServer::Resume" );	
   240 	
   250 	
   241 	if ( iHarvesterAO->IsServerPaused() )
   251 	if ( iHarvesterAO->IsServerPaused() )
   242 		{
   252 		{
   243 		iMessage = &aMessage;
   253 		iMessage = &aMessage;
   244 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestResume );
   254 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestResume );
   254 // ---------------------------------------------------------------------------
   264 // ---------------------------------------------------------------------------
   255 //
   265 //
   256 void CHarvesterServer::Pause()
   266 void CHarvesterServer::Pause()
   257 	{
   267 	{
   258 	WRITELOG( "CHarvesterServer::Pause()" );
   268 	WRITELOG( "CHarvesterServer::Pause()" );
   259 
   269     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_PAUSE, "CHarvesterServer::Pause" );
       
   270     
   260 	if ( !iHarvesterAO->IsServerPaused() )
   271 	if ( !iHarvesterAO->IsServerPaused() )
   261 		{
   272 		{
   262 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestPause );
   273 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestPause );
   263 		}
   274 		}
   264 	}
   275 	}
   268 // ---------------------------------------------------------------------------
   279 // ---------------------------------------------------------------------------
   269 //
   280 //
   270 void CHarvesterServer::Resume()
   281 void CHarvesterServer::Resume()
   271 	{
   282 	{
   272 	WRITELOG( "CHarvesterServer::Resume()" ); 
   283 	WRITELOG( "CHarvesterServer::Resume()" ); 
   273 
   284     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_RESUME, "CHarvesterServer::Resume" );
       
   285     
   274 	if ( iHarvesterAO->IsServerPaused() )
   286 	if ( iHarvesterAO->IsServerPaused() )
   275 		{
   287 		{
   276 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestResume );
   288 		iHarvesterAO->SetNextRequest( CHarvesterAO::ERequestResume );
   277 		}
   289 		}
   278 	}
   290 	}
   279 
   291 
   280 
   292 
   281 void CHarvesterServer::PauseReady( TInt aError )
   293 void CHarvesterServer::PauseReady( TInt aError )
   282 	{
   294 	{
   283 	WRITELOG1( "CHarvesterServer::PauseReady( %d )", aError );
   295 	WRITELOG1( "CHarvesterServer::PauseReady( %d )", aError );
       
   296 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_PAUSEREADY, "CHarvesterServer::PauseReady" );
       
   297 	
   284 	if( iMessage )
   298 	if( iMessage )
   285 		{
   299 		{
   286 		iMessage->Complete( aError );
   300 		iMessage->Complete( aError );
   287 		iMessage = NULL;
   301 		iMessage = NULL;
   288 		}
   302 		}
   289 	}
   303 	}
   290 
   304 
   291 void CHarvesterServer::ResumeReady( TInt aError )
   305 void CHarvesterServer::ResumeReady( TInt aError )
   292 	{
   306 	{
   293 	WRITELOG1( "CHarvesterServer::ResumeReady( %d )", aError );
   307 	WRITELOG1( "CHarvesterServer::ResumeReady( %d )", aError );
       
   308 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_RESUMEREADY, "CHarvesterServer::ResumeReady" );
       
   309 	
   294 	if( iMessage )
   310 	if( iMessage )
   295 		{
   311 		{
   296 		iMessage->Complete( aError );
   312 		iMessage->Complete( aError );
   297 		iMessage = NULL;
   313 		iMessage = NULL;
   298 		}
   314 		}
   303 // -----------------------------------------------------------------------------
   319 // -----------------------------------------------------------------------------
   304 //
   320 //
   305 void CHarvesterServer::ShutdownNotification()
   321 void CHarvesterServer::ShutdownNotification()
   306     {
   322     {
   307     WRITELOG( "CHarvesterServer::ShutdownNotification" );
   323     WRITELOG( "CHarvesterServer::ShutdownNotification" );
       
   324     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_SHUTDOWNNOTIFICATION, "CHarvesterServer::ShutdownNotification" );
       
   325     
   308     CActiveScheduler::Stop();
   326     CActiveScheduler::Stop();
   309     }
   327     }
   310 
   328 
   311 // -----------------------------------------------------------------------------
   329 // -----------------------------------------------------------------------------
   312 // CHarvesterServer::ShutdownNotification
   330 // CHarvesterServer::ShutdownNotification
   313 // -----------------------------------------------------------------------------
   331 // -----------------------------------------------------------------------------
   314 //
   332 //
   315 void CHarvesterServer::RestartNotification()
   333 void CHarvesterServer::RestartNotification()
   316     {
   334     {
   317     WRITELOG( "CHarvesterServer::RestartNotification" );    
   335     WRITELOG( "CHarvesterServer::RestartNotification" );    
       
   336     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_RESTARTNOTIFICATION, "CHarvesterServer::RestartNotification" );
       
   337     
   318     }
   338     }
   319 
   339 
   320 
   340 
   321 // ---------------------------------------------------------------------------
   341 // ---------------------------------------------------------------------------
   322 // Harvest File
   342 // Harvest File
   323 // ---------------------------------------------------------------------------
   343 // ---------------------------------------------------------------------------
   324 //
   344 //
   325 void CHarvesterServer::HarvestFile( const RMessage2& aMessage )
   345 void CHarvesterServer::HarvestFile( const RMessage2& aMessage )
   326 	{
   346 	{
   327 	WRITELOG( "CHarvesterServer::HarvestFile()" );
   347 	WRITELOG( "CHarvesterServer::HarvestFile()" );
       
   348 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_HARVESTFILE, "CHarvesterServer::HarvestFile" );
   328 	
   349 	
   329 	iHarvesterAO->HarvestFile( aMessage );
   350 	iHarvesterAO->HarvestFile( aMessage );
   330 	}
   351 	}
   331 
   352 
   332 // ---------------------------------------------------------------------------
   353 // ---------------------------------------------------------------------------
   334 // ---------------------------------------------------------------------------
   355 // ---------------------------------------------------------------------------
   335 //
   356 //
   336 void CHarvesterServer::HarvestFileWithUID( const RMessage2& aMessage )
   357 void CHarvesterServer::HarvestFileWithUID( const RMessage2& aMessage )
   337     {
   358     {
   338     WRITELOG( "CHarvesterServer::HarvestFile()" );
   359     WRITELOG( "CHarvesterServer::HarvestFile()" );
       
   360     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_HARVESTFILEWITHUID, "CHarvesterServer::HarvestFileWithUID" );
   339     
   361     
   340     iHarvesterAO->HarvestFileWithUID( aMessage );
   362     iHarvesterAO->HarvestFileWithUID( aMessage );
   341     }
   363     }
   342 
   364 
   343 // ---------------------------------------------------------------------------
   365 // ---------------------------------------------------------------------------
   345 // ---------------------------------------------------------------------------
   367 // ---------------------------------------------------------------------------
   346 //
   368 //
   347 void CHarvesterServer::RegisterProcessOrigin( const RMessage2& aMessage )
   369 void CHarvesterServer::RegisterProcessOrigin( const RMessage2& aMessage )
   348     {
   370     {
   349     WRITELOG( "CHarvesterServer::RegisterProcessOrigin()" );
   371     WRITELOG( "CHarvesterServer::RegisterProcessOrigin()" );
       
   372     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_REGISTERPROCESSORIGIN, "CHarvesterServer::RegisterProcessOrigin" );
   350     
   373     
   351     iHarvesterAO->RegisterProcessOrigin( aMessage );
   374     iHarvesterAO->RegisterProcessOrigin( aMessage );
   352     }
   375     }
   353 
   376 
   354 // ---------------------------------------------------------------------------
   377 // ---------------------------------------------------------------------------
   356 // ---------------------------------------------------------------------------
   379 // ---------------------------------------------------------------------------
   357 //
   380 //
   358 void CHarvesterServer::UnregisterProcessOrigin( const RMessage2& aMessage )
   381 void CHarvesterServer::UnregisterProcessOrigin( const RMessage2& aMessage )
   359     {
   382     {
   360     WRITELOG( "CHarvesterServer::UnregisterProcessOrigin()" );
   383     WRITELOG( "CHarvesterServer::UnregisterProcessOrigin()" );
       
   384     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_UNREGISTERPROCESSORIGIN, "CHarvesterServer::UnregisterProcessOrigin" );
   361     
   385     
   362     iHarvesterAO->UnregisterProcessOrigin( aMessage );
   386     iHarvesterAO->UnregisterProcessOrigin( aMessage );
   363     }
   387     }
   364 
   388 
   365 // ---------------------------------------------------------------------------
   389 // ---------------------------------------------------------------------------
   367 // ---------------------------------------------------------------------------
   391 // ---------------------------------------------------------------------------
   368 //
   392 //
   369 TInt CHarvesterServer::RegisterHarvestComplete( const CHarvesterServerSession& aSession, const RMessage2& aMessage )
   393 TInt CHarvesterServer::RegisterHarvestComplete( const CHarvesterServerSession& aSession, const RMessage2& aMessage )
   370     {
   394     {
   371     WRITELOG( "CHarvesterServer::RegisterHarvestComplete()" );
   395     WRITELOG( "CHarvesterServer::RegisterHarvestComplete()" );
       
   396     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_REGISTERHARVESTCOMPLETE, "CHarvesterServer::RegisterHarvestComplete" );
   372     
   397     
   373     return iHarvesterAO->RegisterHarvestComplete( aSession, aMessage );
   398     return iHarvesterAO->RegisterHarvestComplete( aSession, aMessage );
   374     }
   399     }
   375 
   400 
   376 // ---------------------------------------------------------------------------
   401 // ---------------------------------------------------------------------------
   378 // ---------------------------------------------------------------------------
   403 // ---------------------------------------------------------------------------
   379 //
   404 //
   380 TInt CHarvesterServer::UnregisterHarvestComplete( const CHarvesterServerSession& aSession )
   405 TInt CHarvesterServer::UnregisterHarvestComplete( const CHarvesterServerSession& aSession )
   381     {
   406     {
   382     WRITELOG( "CHarvesterServer::UnregisterHarvestComplete()" );
   407     WRITELOG( "CHarvesterServer::UnregisterHarvestComplete()" );
       
   408     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_UNREGISTERHARVESTCOMPLETE, "CHarvesterServer::UnregisterHarvestComplete" );
   383     
   409     
   384     return iHarvesterAO->UnregisterHarvestComplete( aSession );
   410     return iHarvesterAO->UnregisterHarvestComplete( aSession );
   385     }
   411     }
   386 
   412 
   387 // ---------------------------------------------------------------------------
   413 // ---------------------------------------------------------------------------
   389 // ---------------------------------------------------------------------------
   415 // ---------------------------------------------------------------------------
   390 //
   416 //
   391 void CHarvesterServer::RegisterHarvesterEvent( const RMessage2& aMessage )
   417 void CHarvesterServer::RegisterHarvesterEvent( const RMessage2& aMessage )
   392     {
   418     {
   393     WRITELOG( "CHarvesterServer::RegisterHarvesterEvent()" );
   419     WRITELOG( "CHarvesterServer::RegisterHarvesterEvent()" );
       
   420     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_REGISTERHARVESTEREVENT, "CHarvesterServer::RegisterHarvesterEvent" );
   394     
   421     
   395     iHarvesterAO->RegisterHarvesterEvent( aMessage );
   422     iHarvesterAO->RegisterHarvesterEvent( aMessage );
   396     }
   423     }
   397 
   424 
   398 // ---------------------------------------------------------------------------
   425 // ---------------------------------------------------------------------------
   400 // ---------------------------------------------------------------------------
   427 // ---------------------------------------------------------------------------
   401 //
   428 //
   402 void CHarvesterServer::UnregisterHarvesterEvent( const RMessage2& aMessage )
   429 void CHarvesterServer::UnregisterHarvesterEvent( const RMessage2& aMessage )
   403     {
   430     {
   404     WRITELOG( "CHarvesterServer::UnregisterHarvesterEvent()" );
   431     WRITELOG( "CHarvesterServer::UnregisterHarvesterEvent()" );
       
   432     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_UNREGISTERHARVESTEREVENT, "CHarvesterServer::UnregisterHarvesterEvent" );
   405     
   433     
   406     iHarvesterAO->UnregisterHarvesterEvent( aMessage );
   434     iHarvesterAO->UnregisterHarvesterEvent( aMessage );
   407     }
   435     }
   408 
   436 
   409 // ---------------------------------------------------------------------------
   437 // ---------------------------------------------------------------------------
   411 // ---------------------------------------------------------------------------
   439 // ---------------------------------------------------------------------------
   412 //
   440 //
   413 CHarvesterServer::~CHarvesterServer()
   441 CHarvesterServer::~CHarvesterServer()
   414     {
   442     {
   415     WRITELOG( "CHarvesterServer::~CHarvesterServer()" );
   443     WRITELOG( "CHarvesterServer::~CHarvesterServer()" );
       
   444     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_CHARVESTERSERVER, "CHarvesterServer::~CHarvesterServer" );
       
   445     
   416     delete iHarvesterAO;
   446     delete iHarvesterAO;
   417     delete iPauseObserverAO;
   447     delete iPauseObserverAO;
   418     delete iShutdownObserver;
   448     delete iShutdownObserver;
       
   449     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_CHARVESTERSERVER, "CHarvesterServer::~CHarvesterServer end" );
       
   450     
   419     WRITELOG( "CHarvesterServer::~CHarvesterServer() end" );
   451     WRITELOG( "CHarvesterServer::~CHarvesterServer() end" );
   420     }
   452     }
   421 
   453 
   422 // ---------------------------------------------------------------------------
   454 // ---------------------------------------------------------------------------
   423 // PanicClient
   455 // PanicClient
   425 //
   457 //
   426 void CHarvesterServer::PanicClient( const RMessage2& aMessage, TInt aPanic, 
   458 void CHarvesterServer::PanicClient( const RMessage2& aMessage, TInt aPanic, 
   427 											const TDesC& aPanicDescription )
   459 											const TDesC& aPanicDescription )
   428 	{
   460 	{
   429     WRITELOG( "CHarvesterServer::PanicClient()" );
   461     WRITELOG( "CHarvesterServer::PanicClient()" );
       
   462     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_PANICCLIENT, "CHarvesterServer::PanicClient" );
   430     
   463     
   431     aMessage.Panic( aPanicDescription, aPanic );
   464     aMessage.Panic( aPanicDescription, aPanic );
   432  	}
   465  	}
   433 
   466 
   434 // ---------------------------------------------------------------------------
   467 // ---------------------------------------------------------------------------
   436 // ---------------------------------------------------------------------------
   469 // ---------------------------------------------------------------------------
   437 //
   470 //
   438 void CHarvesterServer::PanicServer( TInt aPanic, const TDesC& aPanicDescription )
   471 void CHarvesterServer::PanicServer( TInt aPanic, const TDesC& aPanicDescription )
   439 	{   
   472 	{   
   440     WRITELOG( "CHarvesterServer::PanicServer() - begin" );
   473     WRITELOG( "CHarvesterServer::PanicServer() - begin" );
       
   474     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_PANICSERVER, "CHarvesterServer::PanicServer" );
   441     
   475     
   442     User::Panic( aPanicDescription, aPanic );
   476     User::Panic( aPanicDescription, aPanic );
   443  	}
   477  	}
   444 
   478 
   445 // ---------------------------------------------------------------------------
   479 // ---------------------------------------------------------------------------
   448 //
   482 //
   449 CSession2* CHarvesterServer::NewSessionL(
   483 CSession2* CHarvesterServer::NewSessionL(
   450     const TVersion& aVersion, const RMessage2& ) const
   484     const TVersion& aVersion, const RMessage2& ) const
   451 	{
   485 	{
   452 	WRITELOG( "CHarvesterServer::NewSessionL() - begin" );
   486 	WRITELOG( "CHarvesterServer::NewSessionL() - begin" );
   453 
   487     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_NEWSESSIONL, "CHarvesterServer::NewSessionL" );
       
   488     
   454     //If there isn't connection to mde, we can't do much. Inform client about situation.
   489     //If there isn't connection to mde, we can't do much. Inform client about situation.
   455     //This doesn't leave on first client because Process::Rendezcvouz is called when mde:s
   490     //This doesn't leave on first client because Process::Rendezcvouz is called when mde:s
   456     //HandleSessionOpened is called.
   491     //HandleSessionOpened is called.
   457 	if (!iHarvesterAO->IsConnectedToMde())
   492 	if (!iHarvesterAO->IsConnectedToMde())
   458 	    {
   493 	    {
   460 	    }
   495 	    }
   461     
   496     
   462 	if ( iShutdownObserver->UpdateInProgress() )
   497 	if ( iShutdownObserver->UpdateInProgress() )
   463 	    {
   498 	    {
   464 	    WRITELOG( "CHarvesterServer::NewSessionL - iad update in progress: KErrLocked");
   499 	    WRITELOG( "CHarvesterServer::NewSessionL - iad update in progress: KErrLocked");
       
   500 	    OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_NEWSESSIONL, "CHarvesterServer::NewSessionL- iad update in progress: KErrLocked" );
       
   501 	    
   465 	    User::Leave(KErrLocked);
   502 	    User::Leave(KErrLocked);
   466 	    }
   503 	    }
   467 
   504 
   468     // Check we are the right version
   505     // Check we are the right version
   469     if ( !User::QueryVersionSupported( TVersion( KHarvesterServerMajorVersion,
   506     if ( !User::QueryVersionSupported( TVersion( KHarvesterServerMajorVersion,
   483 // ---------------------------------------------------------------------------
   520 // ---------------------------------------------------------------------------
   484 //
   521 //
   485 TInt CHarvesterServer::RunError( TInt aError )
   522 TInt CHarvesterServer::RunError( TInt aError )
   486 	{
   523 	{
   487 	WRITELOG1( "CHarvesterServer::RunError - %d()", aError );
   524 	WRITELOG1( "CHarvesterServer::RunError - %d()", aError );
   488 	    
   525 	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_RUNERROR, "CHarvesterServer::RunError" );
       
   526 	
   489     if ( aError == KErrBadDescriptor )
   527     if ( aError == KErrBadDescriptor )
   490  		{
   528  		{
   491         // A bad descriptor error implies a badly programmed client,
   529         // A bad descriptor error implies a badly programmed client,
   492         // so panic it; otherwise report the error to the client
   530         // so panic it; otherwise report the error to the client
   493         PanicClient( Message(), KErrBadDescriptor );
   531         PanicClient( Message(), KErrBadDescriptor );
   510 // ---------------------------------------------------------------------------
   548 // ---------------------------------------------------------------------------
   511 //
   549 //
   512 void CHarvesterServer::ThreadFunctionL()
   550 void CHarvesterServer::ThreadFunctionL()
   513 	{
   551 	{
   514 	WRITELOG( "CHarvesterServer::ThreadFunctionL() - begin" );
   552 	WRITELOG( "CHarvesterServer::ThreadFunctionL() - begin" );
       
   553     OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_THREADFUNCTIONL, "CHarvesterServer::ThreadFunctionL - begin" );
   515     
   554     
   516     User::LeaveIfError( User::RenameThread( KHarvesterServerName ) );
   555     User::LeaveIfError( User::RenameThread( KHarvesterServerName ) );
   517     // Construct active scheduler
   556     // Construct active scheduler
   518     CActiveScheduler* activeScheduler = new (ELeave) CActiveScheduler;
   557     CActiveScheduler* activeScheduler = new (ELeave) CActiveScheduler;
   519     CleanupStack::PushL( activeScheduler );
   558     CleanupStack::PushL( activeScheduler );
   530     // Start handling requests
   569     // Start handling requests
   531 	CActiveScheduler::Start();
   570 	CActiveScheduler::Start();
   532 
   571 
   533 	CleanupStack::PopAndDestroy( 2, activeScheduler );
   572 	CleanupStack::PopAndDestroy( 2, activeScheduler );
   534     
   573     
       
   574 	OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_THREADFUNCTIONL, "CHarvesterServer::ThreadFunctionL - end" );
       
   575 	
   535     WRITELOG( "CHarvesterServer::ThreadFunctionL() - end" );
   576     WRITELOG( "CHarvesterServer::ThreadFunctionL() - end" );
   536 	}
   577 	}
   537 
   578 
   538 // ---------------------------------------------------------------------------
   579 // ---------------------------------------------------------------------------
   539 // ThreadFunction
   580 // ThreadFunction
   540 // ---------------------------------------------------------------------------
   581 // ---------------------------------------------------------------------------
   541 //
   582 //
   542 TInt CHarvesterServer::ThreadFunction( TAny* /*aNone*/ )
   583 TInt CHarvesterServer::ThreadFunction( TAny* /*aNone*/ )
   543 	{    
   584 	{    
   544  	WRITELOG( "CHarvesterServer::ThreadFunction() - TAny - begin" );
   585  	WRITELOG( "CHarvesterServer::ThreadFunction() - TAny - begin" );
       
   586  	OstTrace0( TRACE_NORMAL, CHARVESTERSERVER_THREADFUNCTION, "CHarvesterServer::ThreadFunction - TAny - begin" );
   545  	
   587  	
   546     CTrapCleanup* cleanupStack = CTrapCleanup::New();
   588     CTrapCleanup* cleanupStack = CTrapCleanup::New();
   547 	if ( !cleanupStack )
   589 	if ( !cleanupStack )
   548 		{
   590 		{
   549         PanicServer( KErrServerTerminated );
   591         PanicServer( KErrServerTerminated );
   554     if ( cleanupStack )
   596     if ( cleanupStack )
   555     	{
   597     	{
   556         delete cleanupStack;
   598         delete cleanupStack;
   557         cleanupStack = NULL;	
   599         cleanupStack = NULL;	
   558     	}
   600     	}
       
   601     
       
   602     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERSERVER_THREADFUNCTION, "CHarvesterServer::ThreadFunction - TAny - end" );    
   559     WRITELOG( "CHarvesterServer::ThreadFunction() - TAny - end" );
   603     WRITELOG( "CHarvesterServer::ThreadFunction() - TAny - end" );
   560     
   604     
   561     return err;
   605     return err;
   562 	}
   606 	}
   563 
   607 
   566 // ---------------------------------------------------------------------------
   610 // ---------------------------------------------------------------------------
   567 //
   611 //
   568 TInt E32Main()
   612 TInt E32Main()
   569 	{    
   613 	{    
   570     WRITELOG( "CHarvesterServer::E32Main() - begin" );
   614     WRITELOG( "CHarvesterServer::E32Main() - begin" );
   571 
   615     OstTrace0( TRACE_NORMAL, _E32MAIN, "CHarvesterServer::E32Main() - begin" );
       
   616     
   572     __UHEAP_MARK;
   617     __UHEAP_MARK;
   573 
   618 
   574     const TInt result = CHarvesterServer::ThreadFunction( NULL );
   619     const TInt result = CHarvesterServer::ThreadFunction( NULL );
   575 
   620 
   576     __UHEAP_MARKEND;
   621     __UHEAP_MARKEND;