imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailrequestactive.cpp
branchRCL_3
changeset 22 9d4d3445ce6e
parent 21 6257223ede8a
child 23 3d743e824514
equal deleted inserted replaced
21:6257223ede8a 22:9d4d3445ce6e
    29 #include "thumbnaildataimpl.h"
    29 #include "thumbnaildataimpl.h"
    30 #include "thumbnailpanic.h"
    30 #include "thumbnailpanic.h"
    31 #include "thumbnaillog.h"
    31 #include "thumbnaillog.h"
    32 
    32 
    33 #include "thumbnailmanagerimpl.h"
    33 #include "thumbnailmanagerimpl.h"
    34 #include "OstTraceDefinitions.h"
       
    35 #ifdef OST_TRACE_COMPILER_IN_USE
       
    36 #include "thumbnailrequestactiveTraces.h"
       
    37 #endif
       
    38 
       
    39 
    34 
    40 // ======== MEMBER FUNCTIONS ========
    35 // ======== MEMBER FUNCTIONS ========
    41 
    36 
    42 // ---------------------------------------------------------------------------
    37 // ---------------------------------------------------------------------------
    43 // CThumbnailRequestActive::~CThumbnailRequestActive()
    38 // CThumbnailRequestActive::~CThumbnailRequestActive()
   103     ,iRetry(0)
    98     ,iRetry(0)
   104 #endif
    99 #endif
   105     {
   100     {
   106     CActiveScheduler::Add( this );
   101     CActiveScheduler::Add( this );
   107     TN_DEBUG2( "CThumbnaiRequestActive::CThumbnailRequestActive() AO's priority = %d", Priority());
   102     TN_DEBUG2( "CThumbnaiRequestActive::CThumbnailRequestActive() AO's priority = %d", Priority());
   108     OstTrace1( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_CTHUMBNAILREQUESTACTIVE, "CThumbnailRequestActive::CThumbnailRequestActive - AO's priority;Priority()=%d", Priority() );
       
   109     
   103     
   110     iBitmap = NULL;
   104     iBitmap = NULL;
   111     iRequestCompleted = EFalse;
   105     iRequestCompleted = EFalse;
   112     }
   106     }
   113 
   107 
   136 // ---------------------------------------------------------------------------
   130 // ---------------------------------------------------------------------------
   137 //
   131 //
   138 void CThumbnailRequestActive::StartL()
   132 void CThumbnailRequestActive::StartL()
   139     {
   133     {
   140     TN_DEBUG3( "CThumbnailRequestActive::StartL(0x%08x) reqid = %d", this, iRequestId );
   134     TN_DEBUG3( "CThumbnailRequestActive::StartL(0x%08x) reqid = %d", this, iRequestId );
   141     OstTrace1( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_STARTL, "CThumbnailRequestActive::StartL;iRequestId=%u", iRequestId );
       
   142     
   135     
   143     iRequestActive = ETrue;
   136     iRequestActive = ETrue;
   144 
   137 
   145 #ifdef _DEBUG
   138 #ifdef _DEBUG
   146     TTime stop;
   139     TTime stop;
   147     stop.UniversalTime();
   140     stop.UniversalTime();
   148     TN_DEBUG3( "CThumbnailRequestActive::StartL() req id = %d, queuing time %d ms",
   141     TN_DEBUG3( "CThumbnailRequestActive::StartL() req id = %d, queuing time %d ms",
   149                iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
       
   150     OstTraceExt2( TRACE_NORMAL, DUP1_CTHUMBNAILREQUESTACTIVE_STARTL, "CThumbnailRequestActive::StartL - req id = %d, queuing time %d ms",
       
   151                iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   142                iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   152 #endif
   143 #endif
   153     
   144     
   154     switch (iRequestType)
   145     switch (iRequestType)
   155         {
   146         {
   164             // custom thumbnails are never stored in db  
   155             // custom thumbnails are never stored in db  
   165             if (iParams.iThumbnailSize == ECustomThumbnailSize &&
   156             if (iParams.iThumbnailSize == ECustomThumbnailSize &&
   166                 iParams.iOriginalControlFlags != EThumbnailGeneratePersistentSizesOnly)
   157                 iParams.iOriginalControlFlags != EThumbnailGeneratePersistentSizesOnly)
   167                 {
   158                 {
   168                 TN_DEBUG1( "CThumbnaiRequestActive::StartL()- custom size request" );
   159                 TN_DEBUG1( "CThumbnaiRequestActive::StartL()- custom size request" );
   169                 OstTrace0( TRACE_NORMAL, DUP2_CTHUMBNAILREQUESTACTIVE_STARTL, "CThumbnailRequestActive::StartL - custom size request" );
       
   170                   
   160                   
   171                 iFile.Close();
   161                 iFile.Close();
   172                 User::LeaveIfError( iFile.Open( iFs, iPath, EFileShareReadersOrWriters ) );  
   162                 User::LeaveIfError( iFile.Open( iFs, iPath, EFileShareReadersOrWriters ) );  
   173                 
   163                 
   174                 TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iPath );
   164                 TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iPath );
   175                 OstTraceExt1( TRACE_NORMAL, DUP3_CTHUMBNAILREQUESTACTIVE_STARTL, "CThumbnailRequestActive::StartL;iPath=%S", iPath );
       
   176                 
   165                 
   177                 CleanupClosePushL( iFile );
   166                 CleanupClosePushL( iFile );
   178                 
   167                 
   179                 if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
   168                 if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
   180                     {
   169                     {
   213             // open file handle
   202             // open file handle
   214             iFile.Close();
   203             iFile.Close();
   215             User::LeaveIfError( iFile.Open( iFs, iTargetUri, EFileShareReadersOrWriters ) );  
   204             User::LeaveIfError( iFile.Open( iFs, iTargetUri, EFileShareReadersOrWriters ) );  
   216             
   205             
   217             TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iTargetUri );
   206             TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iTargetUri );
   218             OstTraceExt1( TRACE_NORMAL, DUP4_CTHUMBNAILREQUESTACTIVE_STARTL, "CThumbnailRequestActive::StartL - file handle opened;iTargetUri=%S", iTargetUri );
       
   219             
   207             
   220             CleanupClosePushL( iFile );
   208             CleanupClosePushL( iFile );
   221             
   209             
   222             if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
   210             if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
   223                 {
   211                 {
   254             // open file handle
   242             // open file handle
   255             iFile.Close();
   243             iFile.Close();
   256             User::LeaveIfError( iFile.Open( iFs, iParams.iFileName, EFileShareReadersOrWriters ) );  
   244             User::LeaveIfError( iFile.Open( iFs, iParams.iFileName, EFileShareReadersOrWriters ) );  
   257             
   245             
   258             TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iParams.iFileName );
   246             TN_DEBUG2( "CThumbnailRequestActive::StartL() - file handle opened for %S", &iParams.iFileName );
   259             OstTraceExt1( TRACE_NORMAL, DUP5_CTHUMBNAILREQUESTACTIVE_STARTL, "CThumbnailRequestActive::StartL;iParams.iFileName=%S", iParams.iFileName );
       
   260             
   247             
   261             CleanupClosePushL( iFile );
   248             CleanupClosePushL( iFile );
   262             
   249             
   263             if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
   250             if ( iParams.iQualityPreference == CThumbnailManager::EOptimizeForQualityWithPreview )
   264                 {
   251                 {
   291 // ---------------------------------------------------------------------------
   278 // ---------------------------------------------------------------------------
   292 //
   279 //
   293 void CThumbnailRequestActive::RunL()
   280 void CThumbnailRequestActive::RunL()
   294     {
   281     {
   295     TN_DEBUG2( "CThumbnailRequestActive::RunL() - request ID: %d", iParams.iRequestId );
   282     TN_DEBUG2( "CThumbnailRequestActive::RunL() - request ID: %d", iParams.iRequestId );
   296     OstTrace1( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;iParams.iRequestId=%u", iParams.iRequestId );
       
   297  
   283  
   298     if ( iParams.iControlFlags == EThumbnailPreviewThumbnail )
   284     if ( iParams.iControlFlags == EThumbnailPreviewThumbnail )
   299         {
   285         {
   300         iRequestCompleted = EFalse;
   286         iRequestCompleted = EFalse;
   301 		iProcessingPreview = ETrue;
   287 		iProcessingPreview = ETrue;
   325 #ifdef _DEBUG
   311 #ifdef _DEBUG
   326     TTime stop;
   312     TTime stop;
   327     stop.UniversalTime();
   313     stop.UniversalTime();
   328     TN_DEBUG3( "CThumbnailRequestActive::RunL() total execution time of req %d is %d ms",
   314     TN_DEBUG3( "CThumbnailRequestActive::RunL() total execution time of req %d is %d ms",
   329                 iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   315                 iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   330     OstTraceExt2( TRACE_NORMAL, DUP1_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - total execution time of req %d is %d ms",
       
   331                 iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
       
   332 #endif
   316 #endif
   333         }
   317         }
   334     else if (iCanceled || iRequestType == EReqRenameThumbnails)
   318     else if (iCanceled || iRequestType == EReqRenameThumbnails)
   335         {
   319         {
   336         if (iCanceled)
   320         if (iCanceled)
   351 #ifdef _DEBUG
   335 #ifdef _DEBUG
   352     TTime stop;
   336     TTime stop;
   353     stop.UniversalTime();
   337     stop.UniversalTime();
   354     TN_DEBUG3( "CThumbnailRequestActive::RunL() total execution time of req %d is %d ms",
   338     TN_DEBUG3( "CThumbnailRequestActive::RunL() total execution time of req %d is %d ms",
   355                 iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   339                 iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   356     OstTraceExt2( TRACE_NORMAL, DUP2_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - total execution time of req %d is %d ms",
       
   357                 iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
       
   358 #endif
   340 #endif
   359         }
   341         }
   360     else if ( iStatus.Int() == KThumbnailErrThumbnailNotFound && iParams.iFileName.Length() && 
   342     else if ( iStatus.Int() == KThumbnailErrThumbnailNotFound && iParams.iFileName.Length() && 
   361          !( iParams.iFlags& CThumbnailManager::EDoNotCreate ))
   343          !( iParams.iFlags& CThumbnailManager::EDoNotCreate ))
   362         {
   344         {
   363         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - no thumbnail found - lets try with file handle %S", &iParams.iFileName );
   345         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - no thumbnail found - lets try with file handle %S", &iParams.iFileName );
   364         OstTraceExt1( TRACE_NORMAL, DUP3_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - no thumbnail found - lets try with file handle;iParams.iFileName=%S", iParams.iFileName );
       
   365         iRequestCompleted = EFalse;
   346         iRequestCompleted = EFalse;
   366         
   347         
   367         // We tried to get thumbnail using file path, but it was not found in
   348         // We tried to get thumbnail using file path, but it was not found in
   368         // the database. We need to open the file now (on the client side) and
   349         // the database. We need to open the file now (on the client side) and
   369         // use file handle.     
   350         // use file handle.     
   370         iFile.Close();
   351         iFile.Close();
   371         TInt err = iFile.Open( iFs, iParams.iFileName, EFileShareReadersOrWriters );
   352         TInt err = iFile.Open( iFs, iParams.iFileName, EFileShareReadersOrWriters );
   372         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - file handle open err = %d", err );
   353         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - file handle open err = %d", err );
   373         OstTrace1( TRACE_NORMAL, DUP4_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - file handle open err;err=%d", err );
       
   374         User::LeaveIfError( err );
   354         User::LeaveIfError( err );
   375         
   355         
   376         CleanupClosePushL( iFile );
   356         CleanupClosePushL( iFile );
   377         
   357         
   378         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - file handle opened for %S", &iParams.iFileName );
   358         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - file handle opened for %S", &iParams.iFileName );
   379         OstTraceExt1( TRACE_NORMAL, DUP5_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;iParams.iFileName=%S", iParams.iFileName );
       
   380         
   359         
   381         iSession.RequestThumbnailL( iFile, iParams.iFileName, iParamsPckg, iStatus );
   360         iSession.RequestThumbnailL( iFile, iParams.iFileName, iParamsPckg, iStatus );
   382         CleanupStack::PopAndDestroy( &iFile );
   361         CleanupStack::PopAndDestroy( &iFile );
   383         
   362         
   384         iTimer->Start( KClientRequestTimeout, KClientRequestTimeout, 
   363         iTimer->Start( KClientRequestTimeout, KClientRequestTimeout, 
   394         }
   373         }
   395     //1st round thumb ready from exif (stored)
   374     //1st round thumb ready from exif (stored)
   396     else if (iParams.iOriginalControlFlags == EThumbnailGeneratePersistentSizesOnly && !iProcessingPreview)
   375     else if (iParams.iOriginalControlFlags == EThumbnailGeneratePersistentSizesOnly && !iProcessingPreview)
   397 	    {
   376 	    {
   398 	    TN_DEBUG1( "CThumbnaiRequestActive::RunL()- generate persistent sizes thumbnailready" );
   377 	    TN_DEBUG1( "CThumbnaiRequestActive::RunL()- generate persistent sizes thumbnailready" );
   399 	    OstTrace0( TRACE_NORMAL, DUP6_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - generate persistent sizes thumbnailready" );
       
   400 	    iBitmapHandle = iParams.iBitmapHandle;
   378 	    iBitmapHandle = iParams.iBitmapHandle;
   401 	    
   379 	    
   402 	    TN_DEBUG2( "CThumbnaiRequestActive::RunL() - iObserver.ThumbnailReady %d", iParams.iRequestId );
   380 	    TN_DEBUG2( "CThumbnaiRequestActive::RunL() - iObserver.ThumbnailReady %d", iParams.iRequestId );
   403 	    OstTrace1( TRACE_NORMAL, DUP7_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;iParams.iRequestId=%u", iParams.iRequestId );
       
   404 	    iObserver.ThumbnailReady( iStatus.Int(), *iCallbackThumbnail, iParams.iRequestId );
   381 	    iObserver.ThumbnailReady( iStatus.Int(), *iCallbackThumbnail, iParams.iRequestId );
   405 	  
   382 	  
   406 	    ReleaseServerBitmap();
   383 	    ReleaseServerBitmap();
   407 	    
   384 	    
   408 	    iFile.Close();
   385 	    iFile.Close();
   413         #ifdef _DEBUG
   390         #ifdef _DEBUG
   414             TTime stop;
   391             TTime stop;
   415             stop.UniversalTime();
   392             stop.UniversalTime();
   416             TN_DEBUG3( "CThumbnailRequestActive::RunL() total execution time %d, %d ms",
   393             TN_DEBUG3( "CThumbnailRequestActive::RunL() total execution time %d, %d ms",
   417                        iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   394                        iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   418             OstTraceExt2( TRACE_NORMAL, DUP8_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - total execution time %d, %d ms",
       
   419                        iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
       
   420             
       
   421         #endif
   395         #endif
   422 	    }
   396 	    }
   423     //1st round preview ready from too low quality exif/exif not found (not-stored)
   397     //1st round preview ready from too low quality exif/exif not found (not-stored)
   424     //relauch using normal decoding
   398     //relauch using normal decoding
   425     else if (iParams.iOriginalControlFlags == EThumbnailGeneratePersistentSizesOnly && iProcessingPreview)
   399     else if (iParams.iOriginalControlFlags == EThumbnailGeneratePersistentSizesOnly && iProcessingPreview)
   426         {
   400         {
   427         TN_DEBUG1( "CThumbnaiRequestActive::RunL()- generate persistent sizes thumbnailpreviewready" );
   401         TN_DEBUG1( "CThumbnaiRequestActive::RunL()- generate persistent sizes thumbnailpreviewready" );
   428         OstTrace0( TRACE_NORMAL, DUP9_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - generate persistent sizes thumbnailpreviewready" );
       
   429         iBitmapHandle = iParams.iBitmapHandle;
   402         iBitmapHandle = iParams.iBitmapHandle;
   430         
   403         
   431         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - iObserver.ThumbnailPreviewReady %d", iParams.iRequestId );
   404         TN_DEBUG2( "CThumbnaiRequestActive::RunL() - iObserver.ThumbnailPreviewReady %d", iParams.iRequestId );
   432         OstTrace1( TRACE_NORMAL, DUP10_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;iParams.iRequestId=%u", iParams.iRequestId );
       
   433         iObserver.ThumbnailPreviewReady( *iCallbackThumbnail, iParams.iRequestId );
   405         iObserver.ThumbnailPreviewReady( *iCallbackThumbnail, iParams.iRequestId );
   434         
   406         
   435         iProcessingPreview = EFalse;
   407         iProcessingPreview = EFalse;
   436       
   408       
   437         ReleaseServerBitmap();
   409         ReleaseServerBitmap();
   459     	#endif
   431     	#endif
   460         }
   432         }
   461     else
   433     else
   462         {
   434         {
   463         TN_DEBUG1( "CThumbnailRequestActive::RunL() - succesful" );
   435         TN_DEBUG1( "CThumbnailRequestActive::RunL() - succesful" );
   464         OstTrace0( TRACE_NORMAL, DUP11_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - succesful" );
       
   465         
   436         
   466         // Success
   437         // Success
   467         iBitmapHandle = iParams.iBitmapHandle;
   438         iBitmapHandle = iParams.iBitmapHandle;
   468         
   439         
   469         if( iBitmapHandle )
   440         if( iBitmapHandle )
   474             CleanupStack::Pop( bitmap );
   445             CleanupStack::Pop( bitmap );
   475             
   446             
   476             // reduce bpp value (displaymode to match reqested bits per pixel)
   447             // reduce bpp value (displaymode to match reqested bits per pixel)
   477             #ifdef _DEBUG
   448             #ifdef _DEBUG
   478             TN_DEBUG2( "CThumbnailRequestActive::RunL() - displaymode is %d", bitmap->DisplayMode());
   449             TN_DEBUG2( "CThumbnailRequestActive::RunL() - displaymode is %d", bitmap->DisplayMode());
   479             OstTrace1( TRACE_NORMAL, DUP12_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;bitmap->DisplayMode()=%u", bitmap->DisplayMode() );
       
   480             #endif
   450             #endif
   481             
   451             
   482             if( bitmap->DisplayMode() > iParams.iDisplayMode )
   452             if( bitmap->DisplayMode() > iParams.iDisplayMode )
   483                 {
   453                 {
   484                 bitmap->SetDisplayMode( iParams.iDisplayMode );
   454                 bitmap->SetDisplayMode( iParams.iDisplayMode );
   485                 #ifdef _DEBUG
   455                 #ifdef _DEBUG
   486                 TN_DEBUG2( "CThumbnailRequestActive::RunL() - displaymode is now %d", bitmap->DisplayMode());
   456                 TN_DEBUG2( "CThumbnailRequestActive::RunL() - displaymode is now %d", bitmap->DisplayMode());
   487                 OstTrace1( TRACE_NORMAL, DUP13_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;bitmap->DisplayMode()=%u", bitmap->DisplayMode() );
       
   488                 #endif
   457                 #endif
   489                 }
   458                 }
   490             
   459             
   491             iCallbackThumbnail->Set( bitmap, iClientData );
   460             iCallbackThumbnail->Set( bitmap, iClientData );
   492             bitmap = NULL; // Owned by iCallbackThumbnail or client now
   461             bitmap = NULL; // Owned by iCallbackThumbnail or client now
   493             }
   462             }
   494 
   463 
   495         if ( iProcessingPreview )
   464         if ( iProcessingPreview )
   496             {
   465             {
   497             TN_DEBUG2( "CThumbnailRequestActive::RunL() - iObserver.ThumbnailPreviewReady %d", iParams.iRequestId );
   466             TN_DEBUG2( "CThumbnailRequestActive::RunL() - iObserver.ThumbnailPreviewReady %d", iParams.iRequestId );
   498 			OstTrace1( TRACE_NORMAL, DUP14_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL - iObserver.ThumbnailPreviewReady;iParams.iRequestId=%u", iParams.iRequestId );
       
   499 			
   467 			
   500             //increase priority of 2nd round (both, AO and request itself)
   468             //increase priority of 2nd round (both, AO and request itself)
   501             this->SetPriority(this->Priority() + 1);
   469             this->SetPriority(this->Priority() + 1);
   502             iParams.iPriority++;
   470             iParams.iPriority++;
   503             iObserver.ThumbnailPreviewReady( *iCallbackThumbnail, iParams.iRequestId );
   471             iObserver.ThumbnailPreviewReady( *iCallbackThumbnail, iParams.iRequestId );
   510             Get2ndPhaseThumbnailL();
   478             Get2ndPhaseThumbnailL();
   511             }
   479             }
   512         else
   480         else
   513             {
   481             {
   514             TN_DEBUG2( "CThumbnailRequestActive::RunL() - iObserver.ThumbnailReady %d", iParams.iRequestId );
   482             TN_DEBUG2( "CThumbnailRequestActive::RunL() - iObserver.ThumbnailReady %d", iParams.iRequestId );
   515             OstTrace1( TRACE_NORMAL, DUP15_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;iParams.iRequestId=%u", iParams.iRequestId );
       
   516             
   483             
   517             iObserver.ThumbnailReady( iStatus.Int(), * iCallbackThumbnail, iParams.iRequestId );
   484             iObserver.ThumbnailReady( iStatus.Int(), * iCallbackThumbnail, iParams.iRequestId );
   518             ReleaseServerBitmap();    
   485             ReleaseServerBitmap();    
   519             
   486             
   520             iFile.Close();
   487             iFile.Close();
   523             iRequestQueue->RequestComplete(this);
   490             iRequestQueue->RequestComplete(this);
   524             
   491             
   525 #ifdef _DEBUG
   492 #ifdef _DEBUG
   526         TTime stop;
   493         TTime stop;
   527         stop.UniversalTime();
   494         stop.UniversalTime();
   528         TInt tookTime = (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000;
       
   529         TN_DEBUG4( "CThumbnailRequestActive::RunL(0x%08x) total execution time of req %d is %d ms",
   495         TN_DEBUG4( "CThumbnailRequestActive::RunL(0x%08x) total execution time of req %d is %d ms",
   530                 this, iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   496                 this, iParams.iRequestId, (TInt)stop.MicroSecondsFrom(iStartExecTime).Int64()/1000 );
   531         OstTrace1( TRACE_NORMAL, DUP16_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;this=%o", this );
       
   532         OstTraceExt2( TRACE_NORMAL, DUP17_CTHUMBNAILREQUESTACTIVE_RUNL, "CThumbnailRequestActive::RunL;iParams.iRequestId=%u;tookTime=%d", iParams.iRequestId, tookTime );
       
   533 #endif
   497 #endif
   534             }
   498             }
   535         }
   499         }
   536     
   500     
   537     delete iBitmap;
   501     delete iBitmap;
   550 // ---------------------------------------------------------------------------
   514 // ---------------------------------------------------------------------------
   551 //
   515 //
   552 TInt CThumbnailRequestActive::RunError( TInt aError )
   516 TInt CThumbnailRequestActive::RunError( TInt aError )
   553     {
   517     {
   554     TN_DEBUG1( "CThumbnailRequestActive::RunError");
   518     TN_DEBUG1( "CThumbnailRequestActive::RunError");
   555     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_RUNERROR, "CThumbnailRequestActive::RunError" );
       
   556     
   519     
   557     iTimer->Cancel();
   520     iTimer->Cancel();
   558     
   521     
   559     // If RunL() left, the client did not get any callbacks yet.
   522     // If RunL() left, the client did not get any callbacks yet.
   560     // We need to notify it of the error now.
   523     // We need to notify it of the error now.
   570 // ---------------------------------------------------------------------------
   533 // ---------------------------------------------------------------------------
   571 //
   534 //
   572 void CThumbnailRequestActive::DoCancel()
   535 void CThumbnailRequestActive::DoCancel()
   573     {
   536     {
   574     TN_DEBUG1( "CThumbnailRequestActive::DoCancel");
   537     TN_DEBUG1( "CThumbnailRequestActive::DoCancel");
   575     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_DOCANCEL, "CThumbnailRequestActive::DoCancel" );
       
   576     iTimer->Cancel();
   538     iTimer->Cancel();
   577     
   539     
   578     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   540     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   579 
   541 
   580     iCanceled = ETrue;
   542     iCanceled = ETrue;
   588 // ---------------------------------------------------------------------------
   550 // ---------------------------------------------------------------------------
   589 //
   551 //
   590 void CThumbnailRequestActive::AsyncCancel()
   552 void CThumbnailRequestActive::AsyncCancel()
   591     {
   553     {
   592     TN_DEBUG1( "CThumbnailRequestActive::AsyncCancel");
   554     TN_DEBUG1( "CThumbnailRequestActive::AsyncCancel");
   593     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_ASYNCCANCEL, "CThumbnailRequestActive::AsyncCancel" );
       
   594 
   555 
   595     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   556     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   596     
   557     
   597     iCanceled = ETrue;
   558     iCanceled = ETrue;
   598     iSession.CancelRequest( iRequestId );
   559     iSession.CancelRequest( iRequestId );
   610 void CThumbnailRequestActive::ReleaseServerBitmap()
   571 void CThumbnailRequestActive::ReleaseServerBitmap()
   611     {
   572     {
   612     if ( iBitmapHandle && iSession.Handle())
   573     if ( iBitmapHandle && iSession.Handle())
   613         {
   574         {
   614     	TN_DEBUG1( "CThumbnailRequestActive::ReleaseServerBitmap");
   575     	TN_DEBUG1( "CThumbnailRequestActive::ReleaseServerBitmap");
   615     	OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_RELEASESERVERBITMAP, "CThumbnailRequestActive::ReleaseServerBitmap" );
       
   616     
   576     
   617         iSession.ReleaseBitmap( iBitmapHandle );
   577         iSession.ReleaseBitmap( iBitmapHandle );
   618         iBitmapHandle = 0;
   578         iBitmapHandle = 0;
   619         }
   579         }
   620     }
   580     }
   626 // ---------------------------------------------------------------------------
   586 // ---------------------------------------------------------------------------
   627 //
   587 //
   628 void CThumbnailRequestActive::HandleError()
   588 void CThumbnailRequestActive::HandleError()
   629     {
   589     {
   630     TN_DEBUG1( "CThumbnailRequestActive::HandleError");
   590     TN_DEBUG1( "CThumbnailRequestActive::HandleError");
   631     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_HANDLEERROR, "CThumbnailRequestActive::HandleError" );
       
   632     
   591     
   633     if ( iError )
   592     if ( iError )
   634         {
   593         {
   635         if( iError == KErrServerTerminated)
   594         if( iError == KErrServerTerminated)
   636             {
   595             {
   637             iSession.Close();
   596             iSession.Close();
   638             TInt connErr = iSession.Connect();
   597             TInt connErr = iSession.Connect();
   639             if (connErr != KErrNone)
   598             if (connErr != KErrNone)
   640                 {
   599                 {
   641                 TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - session reconnect err %d", connErr );
   600                 TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - session reconnect err %d", connErr );
   642                 OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILREQUESTACTIVE_HANDLEERROR, "CThumbnailRequestActive::HandleError;err=%d", connErr );
       
   643                 }
   601                 }
   644             else
   602             else
   645                 {
   603                 {
   646                 TN_DEBUG1( "CThumbnailRequestActive::HandleError() - session reconnected");
   604                 TN_DEBUG1( "CThumbnailRequestActive::HandleError() - session reconnected");
   647                 OstTrace0( TRACE_NORMAL, DUP2_CTHUMBNAILREQUESTACTIVE_HANDLEERROR, "CThumbnailRequestActive::HandleError - session reconnected" );
       
   648                 }
   605                 }
   649             }
   606             }
   650 
   607 
   651         if (iRequestObserver && iRequestType == EReqDeleteThumbnails)
   608         if (iRequestObserver && iRequestType == EReqDeleteThumbnails)
   652              {
   609              {
   653              TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - iRequestObserver->ThumbnailRequestReady %d", iParams.iRequestId );
   610              TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - iRequestObserver->ThumbnailRequestReady %d", iParams.iRequestId );
   654              OstTrace1( TRACE_NORMAL, DUP3_CTHUMBNAILREQUESTACTIVE_HANDLEERROR, "CThumbnailRequestActive::HandleError;iParams.iRequestId=%u", iParams.iRequestId );
       
   655              iRequestObserver->ThumbnailRequestReady(iError, ERequestDeleteThumbnails ,iParams.iRequestId);
   611              iRequestObserver->ThumbnailRequestReady(iError, ERequestDeleteThumbnails ,iParams.iRequestId);
   656              }
   612              }
   657         else
   613         else
   658             {			
   614             {			
   659 			 iCallbackThumbnail->Set( NULL, iClientData );
   615 			 iCallbackThumbnail->Set( NULL, iClientData );
   670                   
   626                   
   671                 if(iRetry < KMaxRequestRetryCount )
   627                 if(iRetry < KMaxRequestRetryCount )
   672                     {
   628                     {
   673                     iRetry++;
   629                     iRetry++;
   674                     TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - KErrServerTerminated, retry %d", iRetry);
   630                     TN_DEBUG2( "CThumbnaiRequestActive::HandleError() - KErrServerTerminated, retry %d", iRetry);
   675                     OstTrace1( TRACE_NORMAL, DUP4_CTHUMBNAILREQUESTACTIVE_HANDLEERROR, "CThumbnailRequestActive::HandleError - KErrServerTerminated;iRetry=%d", iRetry );
       
   676                     iError = KErrNone;
   631                     iError = KErrNone;
   677                     TRAPD(err, StartL());
   632                     TRAPD(err, StartL());
   678                     return;
   633                     return;
   679                     }
   634                     }
   680 	            }
   635 	            }
   681 #endif
   636 #endif
   682 	        TN_DEBUG3( "CThumbnaiRequestActive::HandleError() - iObserver.ThumbnailReady req=%d err=%d", iParams.iRequestId, iError );
   637 	        TN_DEBUG3( "CThumbnaiRequestActive::HandleError() - iObserver.ThumbnailReady req=%d err=%d", iParams.iRequestId, iError );
   683 	        OstTrace1( TRACE_NORMAL, DUP5_CTHUMBNAILREQUESTACTIVE_HANDLEERROR, "CThumbnailRequestActive::HandleError - iObserver.ThumbnailReady %u", iParams.iRequestId );
       
   684 	        iObserver.ThumbnailReady( iError, *iCallbackThumbnail, iParams.iRequestId );
   638 	        iObserver.ThumbnailReady( iError, *iCallbackThumbnail, iParams.iRequestId );
   685 	            
   639 	            
   686             }
   640             }
   687         
   641         
   688         iError = KErrNone;
   642         iError = KErrNone;
   703 // CThumbnailRequestActive::GetThumbnailL()
   657 // CThumbnailRequestActive::GetThumbnailL()
   704 // Get a thumbnail for an object file.
   658 // Get a thumbnail for an object file.
   705 // ---------------------------------------------------------------------------
   659 // ---------------------------------------------------------------------------
   706 //
   660 //
   707 void CThumbnailRequestActive::GetThumbnailL( const RFile64& aFile, TThumbnailId aThumbnailId,
   661 void CThumbnailRequestActive::GetThumbnailL( const RFile64& aFile, TThumbnailId aThumbnailId,
   708     const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
   662     CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
   709     ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
   663     ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
   710     TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
   664     TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
   711     const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
   665     const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
   712     {
   666     {
   713     iRequestType = EReqGetThumbnailHandle;
   667     iRequestType = EReqGetThumbnailHandle;
   724     iClientData = aClientData;
   678     iClientData = aClientData;
   725     iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
   679     iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
   726     						EThumbnailGeneratePersistentSizesOnly :
   680     						EThumbnailGeneratePersistentSizesOnly :
   727     						EThumbnailNoControlFlags);    
   681     						EThumbnailNoControlFlags);    
   728     iParams.iOriginalControlFlags = iParams.iControlFlags;
   682     iParams.iOriginalControlFlags = iParams.iControlFlags;
   729     iParams.iMimeType = TDataType( aMimeType );
       
   730     iParams.iBitmapHandle = 0;
   683     iParams.iBitmapHandle = 0;
   731     iParams.iSize = aSize;
   684     iParams.iSize = aSize;
   732     iParams.iDisplayMode = aDisplayMode;
   685     iParams.iDisplayMode = aDisplayMode;
   733     User::LeaveIfError( aFile.FullName( iParams.iFileName ));
   686     User::LeaveIfError( aFile.FullName( iParams.iFileName ));
   734     iParams.iRequestId = iRequestId;
   687     iParams.iRequestId = iRequestId;
   759 // CThumbnailRequestActive::GetThumbnailL()
   712 // CThumbnailRequestActive::GetThumbnailL()
   760 // Get a thumbnail opening an object file later.
   713 // Get a thumbnail opening an object file later.
   761 // ---------------------------------------------------------------------------
   714 // ---------------------------------------------------------------------------
   762 //
   715 //
   763 void CThumbnailRequestActive::GetThumbnailL( TThumbnailId aThumbnailId,
   716 void CThumbnailRequestActive::GetThumbnailL( TThumbnailId aThumbnailId,
   764     const TDesC& aPath, const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags, 
   717     const TDesC& aPath, CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
   765     CThumbnailManager::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
   718     ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
   766     TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
   719     TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
   767     const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
   720     const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
   768     {
   721     {
   769     iRequestType = EReqGetThumbnailHandleLater;
   722     iRequestType = EReqGetThumbnailHandleLater;
   770 
   723 
   771     iClientData = aClientData;
   724     iClientData = aClientData;
   772     iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
   725     iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
   773                             EThumbnailGeneratePersistentSizesOnly :
   726                             EThumbnailGeneratePersistentSizesOnly :
   774                             EThumbnailNoControlFlags);
   727                             EThumbnailNoControlFlags);
   775     iParams.iOriginalControlFlags = iParams.iControlFlags;
   728     iParams.iOriginalControlFlags = iParams.iControlFlags;
   776     iParams.iMimeType = TDataType( aMimeType );
       
   777     iParams.iBitmapHandle = 0;
   729     iParams.iBitmapHandle = 0;
   778     iParams.iSize = aSize;
   730     iParams.iSize = aSize;
   779     iParams.iDisplayMode = aDisplayMode;
   731     iParams.iDisplayMode = aDisplayMode;
   780     iParams.iFileName = aPath;
   732     iParams.iFileName = aPath;
   781     iParams.iRequestId = iRequestId;
   733     iParams.iRequestId = iRequestId;
   804 // CThumbnailRequestActive::GetThumbnailL()
   756 // CThumbnailRequestActive::GetThumbnailL()
   805 // Get a thumbnail for an object file.
   757 // Get a thumbnail for an object file.
   806 // ---------------------------------------------------------------------------
   758 // ---------------------------------------------------------------------------
   807 //
   759 //
   808 void CThumbnailRequestActive::GetThumbnailL( const TDesC& aPath, TThumbnailId aThumbnailId,
   760 void CThumbnailRequestActive::GetThumbnailL( const TDesC& aPath, TThumbnailId aThumbnailId,
   809     const TDesC8& aMimeType, CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
   761     CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager
   810     ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
   762     ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const
   811     TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
   763     TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly,
   812     const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
   764     const TDesC& aTargetUri, TThumbnailSize aThumbnailSize)
   813     {
   765     {
   814     iRequestType = EReqGetThumbnailPath;
   766     iRequestType = EReqGetThumbnailPath;
   816     iClientData = aClientData;
   768     iClientData = aClientData;
   817     iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
   769     iParams.iControlFlags = (aGeneratePersistentSizesOnly ?
   818     						EThumbnailGeneratePersistentSizesOnly :
   770     						EThumbnailGeneratePersistentSizesOnly :
   819     						EThumbnailNoControlFlags);
   771     						EThumbnailNoControlFlags);
   820     iParams.iOriginalControlFlags = iParams.iControlFlags;
   772     iParams.iOriginalControlFlags = iParams.iControlFlags;
   821     iParams.iMimeType = TDataType( aMimeType );
       
   822     iParams.iBitmapHandle = 0;
   773     iParams.iBitmapHandle = 0;
   823     iParams.iSize = aSize;
   774     iParams.iSize = aSize;
   824     iParams.iDisplayMode = aDisplayMode;
   775     iParams.iDisplayMode = aDisplayMode;
   825     iParams.iRequestId = iRequestId;
   776     iParams.iRequestId = iRequestId;
   826     iParams.iPriority = aPriority;
   777     iParams.iPriority = aPriority;
   945         }
   896         }
   946     else if (!iParams.iVirtualUri)
   897     else if (!iParams.iVirtualUri)
   947         {
   898         {
   948         // memory low, create thumbs using filehandle
   899         // memory low, create thumbs using filehandle
   949         TN_DEBUG1( "CThumbnaiRequestActive::SetThumbnailbyBitmap() - memory low, create thumbs using filehandle!" );
   900         TN_DEBUG1( "CThumbnaiRequestActive::SetThumbnailbyBitmap() - memory low, create thumbs using filehandle!" );
   950         OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_SETTHUMBNAILL, "CThumbnailRequestActive::SetThumbnailL - memory low, create thumbs using filehandle!" );
       
   951         delete aBitmap;
   901         delete aBitmap;
   952         aBitmap = NULL;
   902         aBitmap = NULL;
   953         iParams.iPriority = aPriority - 1;
   903         iParams.iPriority = aPriority - 1;
   954         iRequestType = EReqGetThumbnailHandleLater;
   904         iRequestType = EReqGetThumbnailHandleLater;
   955         }
   905         }
  1073 // ---------------------------------------------------------------------------
  1023 // ---------------------------------------------------------------------------
  1074 //
  1024 //
  1075 void CThumbnailRequestActive::Get2ndPhaseThumbnailL()
  1025 void CThumbnailRequestActive::Get2ndPhaseThumbnailL()
  1076     {
  1026     {
  1077     TN_DEBUG2( "CThumbnailRequestActive::Get2ndPhaseThumbnailL() %d", iParams.iRequestId );
  1027     TN_DEBUG2( "CThumbnailRequestActive::Get2ndPhaseThumbnailL() %d", iParams.iRequestId );
  1078     OstTrace1( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_GET2NDPHASETHUMBNAILL, "CThumbnailRequestActive::Get2ndPhaseThumbnailL;iParams.iRequestId=%u", iParams.iRequestId );
       
  1079     
  1028     
  1080     iParams.iQualityPreference = CThumbnailManager::EOptimizeForQuality;
  1029     iParams.iQualityPreference = CThumbnailManager::EOptimizeForQuality;
  1081     iParams.iControlFlags = EThumbnailNoControlFlags;
  1030     iParams.iControlFlags = EThumbnailNoControlFlags;
  1082     
  1031     
  1083     if ( iMyFileHandle.SubSessionHandle())
  1032     if ( iMyFileHandle.SubSessionHandle())
  1098 // ---------------------------------------------------------------------------
  1047 // ---------------------------------------------------------------------------
  1099 //
  1048 //
  1100 void CThumbnailRequestActive::ChangePriority( const TInt aNewPriority )
  1049 void CThumbnailRequestActive::ChangePriority( const TInt aNewPriority )
  1101     {
  1050     {
  1102     TN_DEBUG1( "CThumbnailRequestActive::ChangePriority");
  1051     TN_DEBUG1( "CThumbnailRequestActive::ChangePriority");
  1103     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_CHANGEPRIORITY, "CThumbnailRequestActive::ChangePriority" );
       
  1104     
  1052     
  1105     iParams.iPriority = aNewPriority;
  1053     iParams.iPriority = aNewPriority;
  1106     
  1054     
  1107     if (!IsActive())
  1055     if (!IsActive())
  1108         {
  1056         {
  1120 // ---------------------------------------------------------------------------
  1068 // ---------------------------------------------------------------------------
  1121 //
  1069 //
  1122 void CThumbnailRequestActive::StartError( const TInt aErr )
  1070 void CThumbnailRequestActive::StartError( const TInt aErr )
  1123     {
  1071     {
  1124     TN_DEBUG1( "CThumbnailRequestActive::StartError");
  1072     TN_DEBUG1( "CThumbnailRequestActive::StartError");
  1125     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_STARTERROR, "CThumbnailRequestActive::StartError" );
       
  1126     
  1073     
  1127     iStartError = aErr;
  1074     iStartError = aErr;
  1128     iRequestActive = ETrue;
  1075     iRequestActive = ETrue;
  1129     
  1076     
  1130     if (!iTimer->IsActive())
  1077     if (!iTimer->IsActive())
  1139 // ---------------------------------------------------------------------------
  1086 // ---------------------------------------------------------------------------
  1140 //
  1087 //
  1141 TInt CThumbnailRequestActive::TimerCallBack(TAny* aAny)
  1088 TInt CThumbnailRequestActive::TimerCallBack(TAny* aAny)
  1142     {
  1089     {
  1143     TN_DEBUG1( "CThumbnailRequestActive::TimerCallBack() - request timeout");
  1090     TN_DEBUG1( "CThumbnailRequestActive::TimerCallBack() - request timeout");
  1144     OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_TIMERCALLBACK, "CThumbnailRequestActive::TimerCallBack" );
       
  1145     
  1091     
  1146     CThumbnailRequestActive* self = static_cast<CThumbnailRequestActive*>( aAny );
  1092     CThumbnailRequestActive* self = static_cast<CThumbnailRequestActive*>( aAny );
  1147     
  1093     
  1148     self->iTimer->Cancel();
  1094     self->iTimer->Cancel();
  1149     
  1095     
  1159         }
  1105         }
  1160     
  1106     
  1161     self->HandleError();
  1107     self->HandleError();
  1162     
  1108     
  1163     TN_DEBUG1( "CThumbnailRequestActive::TimerCallBack() - end");
  1109     TN_DEBUG1( "CThumbnailRequestActive::TimerCallBack() - end");
  1164     OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILREQUESTACTIVE_TIMERCALLBACK, "CThumbnailRequestActive::TimerCallBack - end" );
       
  1165     
  1110     
  1166     return KErrNone;
  1111     return KErrNone;
  1167     }
  1112     }
  1168 
  1113 
  1169 // ---------------------------------------------------------------------------
  1114 // ---------------------------------------------------------------------------
  1182         }
  1127         }
  1183     // virtual URI
  1128     // virtual URI
  1184     else
  1129     else
  1185         {
  1130         {
  1186         TN_DEBUG1( "CThumbnailRequestActive::IsVirtualUri() - yes");
  1131         TN_DEBUG1( "CThumbnailRequestActive::IsVirtualUri() - yes");
  1187         OstTrace0( TRACE_NORMAL, CTHUMBNAILREQUESTACTIVE_ISVIRTUALURI, "CThumbnailRequestActive::IsVirtualUri - yes" );
       
  1188         return ETrue;
  1132         return ETrue;
  1189         }    
  1133         }    
  1190     }
  1134     }
  1191 
  1135 
  1192 // End of file
  1136 // End of file