diff -r aa2539c91954 -r 1c2bb2fc7c87 perfsrv/piprofiler/engine/src/WriterController.cpp --- a/perfsrv/piprofiler/engine/src/WriterController.cpp Fri Oct 08 14:56:39 2010 +0300 +++ b/perfsrv/piprofiler/engine/src/WriterController.cpp Tue Oct 26 16:20:32 2010 +0300 @@ -24,37 +24,44 @@ const TInt KMaxWriterPluginCount = 10; -CWriterController* CWriterController::NewL(CProfilerSampleStream& aStream) +CWriterController* CWriterController::NewL(CProfilerSampleStream& aStream, TBool aBootMode) { - CWriterController* self = new( ELeave ) CWriterController(aStream); + CWriterController* self = new( ELeave ) CWriterController(aStream, aBootMode); CleanupStack::PushL( self ); self->ConstructL( ); CleanupStack::Pop( self ); return self; } -CWriterController::CWriterController(CProfilerSampleStream& aStream) : - iStream(aStream) +CWriterController::CWriterController(CProfilerSampleStream& aStream, TBool aBootMode) : + iStream(aStream), + iBootMode(aBootMode) { } void CWriterController::ConstructL() { // initiate writer plugin list - + LOGSTRING2("boot mode %d", iBootMode); } void CWriterController::InitialiseWriterListL() { // create new writer plugin array - iPluginArray = new(ELeave) CArrayPtrFlat( KMaxWriterPluginCount ); - - // create new writer plugin loader - iPluginLoader = CWriterPluginLoader::NewL(); - iPluginLoader->SetObserver( this ); - iPluginLoader->LoadAsyncL( iPluginArray ); - + iPluginArray = new(ELeave) CArrayPtrFlat( KMaxWriterPluginCount ); + + // create new writer plugin loader + iPluginLoader = CWriterPluginLoader::NewL(iBootMode); + iPluginLoader->SetObserver( this ); + if ( iBootMode ) + { + iPluginLoader->LoadRlibraryL( iPluginArray ); + } + else + { + iPluginLoader->LoadAsyncL( iPluginArray ); + } LOGTEXT(_L(" RWriterController::InitialiseWriterList - exit")); } @@ -84,7 +91,8 @@ delete iPluginLoader; iPluginLoader = NULL; } - + + REComSession::FinalClose(); }