imagehandlingutilities/thumbnailmanager/thumbnailclient/src/thumbnailmanagerimpl.cpp
branchRCL_3
changeset 41 9d4d3445ce6e
parent 40 6257223ede8a
child 47 3d743e824514
equal deleted inserted replaced
40:6257223ede8a 41:9d4d3445ce6e
    31 #include "thumbnailmanageruids.hrh"
    31 #include "thumbnailmanageruids.hrh"
    32 #include "thumbnailmanagerprivatecrkeys.h"
    32 #include "thumbnailmanagerprivatecrkeys.h"
    33 #include "thumbnailpanic.h"
    33 #include "thumbnailpanic.h"
    34 
    34 
    35 #include "thumbnaildata.h"
    35 #include "thumbnaildata.h"
    36 #include "OstTraceDefinitions.h"
       
    37 #ifdef OST_TRACE_COMPILER_IN_USE
       
    38 #include "thumbnailmanagerimplTraces.h"
       
    39 #endif
       
    40 
    36 
    41 
    37 
    42 const TInt KThumbnailMimeTypeListGranularity = 8;
    38 const TInt KThumbnailMimeTypeListGranularity = 8;
    43 
    39 
    44 
    40 
    50 // ---------------------------------------------------------------------------
    46 // ---------------------------------------------------------------------------
    51 //
    47 //
    52 CThumbnailManagerImpl::~CThumbnailManagerImpl()
    48 CThumbnailManagerImpl::~CThumbnailManagerImpl()
    53     {
    49     {
    54     TN_DEBUG1( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - start" );
    50     TN_DEBUG1( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - start" );
    55 	OstTrace0( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_CTHUMBNAILMANAGERIMPL, "CThumbnailManagerImpl::~CThumbnailManagerImpl - start" );
       
    56 	
    51 	
    57     delete iRequestQueue;  
    52     delete iRequestQueue;  
    58     iRequestQueue = NULL;
    53     iRequestQueue = NULL;
    59     
    54     
    60     iSession.Close();
    55     iSession.Close();
    65     if ( sessionCount > 0)
    60     if ( sessionCount > 0)
    66         { 
    61         { 
    67         if( --sessionCount == 0 )
    62         if( --sessionCount == 0 )
    68             {
    63             {
    69 		    TN_DEBUG1( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - Disconnect FBS" );
    64 		    TN_DEBUG1( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - Disconnect FBS" );
    70             OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILMANAGERIMPL_CTHUMBNAILMANAGERIMPL, "CThumbnailManagerImpl::~CThumbnailManagerImpl - Disconnect FBS" );
       
    71             iFbsSession.Disconnect();
    65             iFbsSession.Disconnect();
    72             }
    66             }
    73 	    TN_DEBUG2( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - update sessionCount == %d to TLS", sessionCount );
    67 	    TN_DEBUG2( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - update sessionCount == %d to TLS", sessionCount );
    74         OstTrace1( TRACE_NORMAL, DUP2_CTHUMBNAILMANAGERIMPL_CTHUMBNAILMANAGERIMPL, "CThumbnailManagerImpl::~CThumbnailManagerImpl - update sessionCount == %d to TLS", sessionCount );
       
    75         Dll::SetTls( (TAny*)sessionCount );
    68         Dll::SetTls( (TAny*)sessionCount );
    76         }
    69         }
    77 
    70 
    78     delete iMimeTypeList;
    71     delete iMimeTypeList;
    79     iMimeTypeList = NULL;
    72     iMimeTypeList = NULL;
    80 	
    73 	
    81 	TN_DEBUG1( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - end" );
    74 	TN_DEBUG1( "CThumbnailManagerImpl::~CThumbnailManagerImpl() - end" );
    82     OstTrace0( TRACE_NORMAL, DUP3_CTHUMBNAILMANAGERIMPL_CTHUMBNAILMANAGERIMPL, "CThumbnailManagerImpl::~CThumbnailManagerImpl - end" );
       
    83     }
    75     }
    84 
    76 
    85 
    77 
    86 // ---------------------------------------------------------------------------
    78 // ---------------------------------------------------------------------------
    87 // CThumbnailManagerImpl::NewLC()
    79 // CThumbnailManagerImpl::NewLC()
   108     KThumbnailDefaultDisplayMode ), iFlags( EDefaultFlags ), iQualityPreference
   100     KThumbnailDefaultDisplayMode ), iFlags( EDefaultFlags ), iQualityPreference
   109     ( EOptimizeForQuality ), iRequestId( 0 )
   101     ( EOptimizeForQuality ), iRequestId( 0 )
   110     {
   102     {
   111     // No implementation required
   103     // No implementation required
   112     TN_DEBUG1( "CThumbnailManagerImpl::CThumbnailManagerImpl()" );
   104     TN_DEBUG1( "CThumbnailManagerImpl::CThumbnailManagerImpl()" );
   113     OstTrace0( TRACE_NORMAL, DUP4_CTHUMBNAILMANAGERIMPL_CTHUMBNAILMANAGERIMPL, "CThumbnailManagerImpl::CThumbnailManagerImpl" );
       
   114     }
   105     }
   115 
   106 
   116 
   107 
   117 // ---------------------------------------------------------------------------
   108 // ---------------------------------------------------------------------------
   118 // CThumbnailManagerImpl::ConstructL()
   109 // CThumbnailManagerImpl::ConstructL()
   120 // ---------------------------------------------------------------------------
   111 // ---------------------------------------------------------------------------
   121 //
   112 //
   122 void CThumbnailManagerImpl::ConstructL()
   113 void CThumbnailManagerImpl::ConstructL()
   123     {
   114     {
   124     TN_DEBUG1( "CThumbnailManagerImpl::ConstructL - start");
   115     TN_DEBUG1( "CThumbnailManagerImpl::ConstructL - start");
   125     OstTrace0( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_CONSTRUCTL, "CThumbnailManagerImpl::ConstructL - start" );
       
   126     
   116     
   127     User::LeaveIfError( iSession.Connect());
   117     User::LeaveIfError( iSession.Connect());
   128     User::LeaveIfError( iFs.Connect());
   118     User::LeaveIfError( iFs.Connect());
   129     User::LeaveIfError( iFs.ShareProtected());
   119     User::LeaveIfError( iFs.ShareProtected());
   130 
   120 
   133         // We need to connect to Fbs (first user in this thread)
   123         // We need to connect to Fbs (first user in this thread)
   134         // Maintain a reference count in TLS
   124         // Maintain a reference count in TLS
   135         User::LeaveIfError( iFbsSession.Connect()); 
   125         User::LeaveIfError( iFbsSession.Connect()); 
   136         Dll::SetTls( (TAny*)1 ); 
   126         Dll::SetTls( (TAny*)1 ); 
   137         TN_DEBUG2( "CThumbnailManagerImpl::ConstructL() - update sessionCount == %d to TLS", 1 );
   127         TN_DEBUG2( "CThumbnailManagerImpl::ConstructL() - update sessionCount == %d to TLS", 1 );
   138         OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILMANAGERIMPL_CONSTRUCTL, "CThumbnailManagerImpl::ConstructL - update sessionCount == %d to TLS", 1 );
       
   139         }
   128         }
   140     else
   129     else
   141         {
   130         {
   142         TInt sessionCount = (TInt)Dll::Tls(); 
   131         TInt sessionCount = (TInt)Dll::Tls(); 
   143         if( sessionCount++ > 0 )
   132         if( sessionCount++ > 0 )
   144             {
   133             {
   145             // Increase the reference count in TLS
   134             // Increase the reference count in TLS
   146             Dll::SetTls( (TAny*)sessionCount );
   135             Dll::SetTls( (TAny*)sessionCount );
   147             TN_DEBUG2( "CThumbnailManagerImpl::ConstructL() - update sessionCount == %d to TLS", sessionCount );
   136             TN_DEBUG2( "CThumbnailManagerImpl::ConstructL() - update sessionCount == %d to TLS", sessionCount );
   148             OstTrace1( TRACE_NORMAL, DUP2_CTHUMBNAILMANAGERIMPL_CONSTRUCTL, "CThumbnailManagerImpl::ConstructL - update sessionCount == %d to TLS", sessionCount );
       
   149             } 
   137             } 
   150         else
   138         else
   151             {
   139             {
   152             // Fbs connection was available in the beginning, no need to
   140             // Fbs connection was available in the beginning, no need to
   153             // increase the reference count
   141             // increase the reference count
   154             TN_DEBUG1( "CThumbnailManagerImpl::ConstructL - no need to update sessionCount");
   142             TN_DEBUG1( "CThumbnailManagerImpl::ConstructL - no need to update sessionCount");
   155             OstTrace0( TRACE_NORMAL, DUP3_CTHUMBNAILMANAGERIMPL_CONSTRUCTL, "CThumbnailManagerImpl::ConstructL - no need to update sessionCount" );
       
   156             }
   143             }
   157         }
   144         }
   158     
   145     
   159     // request processor
   146     // request processor
   160     iRequestQueue = CThumbnailRequestQueue::NewL();
   147     iRequestQueue = CThumbnailRequestQueue::NewL();
   161     
   148     
   162     TN_DEBUG1( "CThumbnailManagerImpl::ConstructL - end");
   149     TN_DEBUG1( "CThumbnailManagerImpl::ConstructL - end");
   163     OstTrace0( TRACE_NORMAL, DUP4_CTHUMBNAILMANAGERIMPL_CONSTRUCTL, "CThumbnailManagerImpl::ConstructL - end" );
       
   164     }
   150     }
   165 
   151 
   166 
   152 
   167 // ---------------------------------------------------------------------------
   153 // ---------------------------------------------------------------------------
   168 // CThumbnailManagerImpl::GetThumbnailL
   154 // CThumbnailManagerImpl::GetThumbnailL
   173     CThumbnailObjectSource& aObjectSource, TAny* aClientData /*= NULL*/, const
   159     CThumbnailObjectSource& aObjectSource, TAny* aClientData /*= NULL*/, const
   174     TInt aPriority, TBool aGeneratePersistentSizesOnly)
   160     TInt aPriority, TBool aGeneratePersistentSizesOnly)
   175     {
   161     {
   176     iRequestId++;
   162     iRequestId++;
   177     TN_DEBUG4( "CThumbnailManagerImpl::GetThumbnailL() URI==%S, iThumbnailSize==%d, req %d", &aObjectSource.Uri(), iThumbnailSize, iRequestId );
   163     TN_DEBUG4( "CThumbnailManagerImpl::GetThumbnailL() URI==%S, iThumbnailSize==%d, req %d", &aObjectSource.Uri(), iThumbnailSize, iRequestId );
   178     OstTraceExt3( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_GETTHUMBNAILL, "CThumbnailManagerImpl::GetThumbnailL;aObjectSource.Uri()=%S;iThumbnailSize=%d;iRequestId=%d", aObjectSource.Uri(), iThumbnailSize, iRequestId );
       
   179     
   164     
   180     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   165     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   181 
   166 
   182     TInt priority = ValidatePriority(aPriority);
   167     TInt priority = ValidatePriority(aPriority);
   183     
   168     
   185         ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
   170         ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
   186     CleanupStack::PushL( getThumbnailActive );
   171     CleanupStack::PushL( getThumbnailActive );
   187     
   172     
   188     if(aObjectSource.Id() > 0)
   173     if(aObjectSource.Id() > 0)
   189         {
   174         {
   190         getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), 
   175         getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags,
   191             aObjectSource.MimeType(),iFlags, iQualityPreference, iSize, iDisplayMode, 
   176             iQualityPreference, iSize, iDisplayMode, priority, aClientData, aGeneratePersistentSizesOnly,
   192             priority, aClientData, aGeneratePersistentSizesOnly, KNullDesC, iThumbnailSize);
   177             KNullDesC, iThumbnailSize);
   193         }
   178         }
   194     else if ( aObjectSource.Uri().Length())
   179     else if ( aObjectSource.Uri().Length())
   195         {
   180         {
   196         getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(),
   181         getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags,
   197             aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode, 
   182             iQualityPreference, iSize, iDisplayMode, priority, aClientData, aGeneratePersistentSizesOnly,
   198             priority, aClientData, aGeneratePersistentSizesOnly, KNullDesC, iThumbnailSize );
   183             KNullDesC, iThumbnailSize );
   199         }
   184         }
   200     else
   185     else
   201         {
   186         {
   202         getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(), 
   187         getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(), iFlags,
   203             aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode, 
   188             iQualityPreference, iSize, iDisplayMode, priority, aClientData, aGeneratePersistentSizesOnly,
   204             priority, aClientData, aGeneratePersistentSizesOnly, KNullDesC, iThumbnailSize );
   189             KNullDesC, iThumbnailSize );
   205         }
   190         }
   206     
   191     
   207     iRequestQueue->AddRequestL( getThumbnailActive );
   192     iRequestQueue->AddRequestL( getThumbnailActive );
   208     CleanupStack::Pop( getThumbnailActive );
   193     CleanupStack::Pop( getThumbnailActive );
   209     
   194     
   210     iRequestQueue->Process();
   195     iRequestQueue->Process();
   211     
   196     
   212     TN_DEBUG2( "CThumbnailManagerImpl::GetThumbnailL() - request ID: %d", iRequestId );
   197     TN_DEBUG2( "CThumbnailManagerImpl::GetThumbnailL() - request ID: %d", iRequestId );
   213     OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILMANAGERIMPL_GETTHUMBNAILL, "CThumbnailManagerImpl::GetThumbnailL;iRequestId=%u", iRequestId );
       
   214     
   198     
   215     return iRequestId;
   199     return iRequestId;
   216     }
   200     }
   217     
   201     
   218 // ---------------------------------------------------------------------------
   202 // ---------------------------------------------------------------------------
   236 TThumbnailRequestId CThumbnailManagerImpl::GetThumbnailL( const TThumbnailId
   220 TThumbnailRequestId CThumbnailManagerImpl::GetThumbnailL( const TThumbnailId
   237     aThumbnailId, TAny* aClientData /*= NULL*/, TInt aPriority)
   221     aThumbnailId, TAny* aClientData /*= NULL*/, TInt aPriority)
   238     {
   222     {
   239     iRequestId++;
   223     iRequestId++;
   240     TN_DEBUG4( "CThumbnailManagerImpl::GetThumbnailL() aThumbnailId==%d, iThumbnailSize==%d, req %d", aThumbnailId, iThumbnailSize, iRequestId );
   224     TN_DEBUG4( "CThumbnailManagerImpl::GetThumbnailL() aThumbnailId==%d, iThumbnailSize==%d, req %d", aThumbnailId, iThumbnailSize, iRequestId );
   241     OstTraceExt3( TRACE_NORMAL, DUP2_CTHUMBNAILMANAGERIMPL_GETTHUMBNAILL, "CThumbnailManagerImpl::GetThumbnailL;aThumbnailId=%u;iThumbnailSize=%u;iRequestId=%u", aThumbnailId, iThumbnailSize, iRequestId );
       
   242 
   225 
   243     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   226     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   244 
   227 
   245     TInt priority = ValidatePriority(aPriority);
   228     TInt priority = ValidatePriority(aPriority);
   246     
   229     
   247     CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL
   230     CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL
   248         ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
   231         ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
   249     CleanupStack::PushL( getThumbnailActive );
   232     CleanupStack::PushL( getThumbnailActive );
   250     
   233     
   251     getThumbnailActive->GetThumbnailL( KNullDesC, aThumbnailId, KNullDesC8,
   234     getThumbnailActive->GetThumbnailL( KNullDesC, aThumbnailId, iFlags,
   252             iFlags, iQualityPreference, iSize, iDisplayMode, priority, aClientData,
   235                        iQualityPreference, iSize, iDisplayMode, priority, aClientData,
   253             EFalse, KNullDesC, iThumbnailSize );
   236                        EFalse, KNullDesC, iThumbnailSize );
   254     
   237     
   255     iRequestQueue->AddRequestL( getThumbnailActive );
   238     iRequestQueue->AddRequestL( getThumbnailActive );
   256     CleanupStack::Pop( getThumbnailActive );
   239     CleanupStack::Pop( getThumbnailActive );
   257     
   240     
   258     iRequestQueue->Process();
   241     iRequestQueue->Process();
   259     
   242     
   260     TN_DEBUG2( "CThumbnailManagerImpl::GetThumbnailL() - request ID: %d", iRequestId );
   243     TN_DEBUG2( "CThumbnailManagerImpl::GetThumbnailL() - request ID: %d", iRequestId );
   261     OstTrace1( TRACE_NORMAL, DUP3_CTHUMBNAILMANAGERIMPL_GETTHUMBNAILL, "CThumbnailManagerImpl::GetThumbnailL;iRequestId=%u", iRequestId );
       
   262     
   244     
   263     return iRequestId;
   245     return iRequestId;
   264     }
   246     }
   265 
   247 
   266 
   248 
   283         ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
   265         ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue );
   284     CleanupStack::PushL( getThumbnailActive );
   266     CleanupStack::PushL( getThumbnailActive );
   285 
   267 
   286     if ( aObjectSource.Uri().Length())
   268     if ( aObjectSource.Uri().Length())
   287         {
   269         {
   288         getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), 
   270         getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags,
   289             aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode, 
   271             iQualityPreference, iSize, iDisplayMode, priority, aClientData,
   290             priority, aClientData, EFalse, aTargetUri, iThumbnailSize );
   272             EFalse, aTargetUri, iThumbnailSize );
   291         }
   273         }
   292     else
   274     else
   293         {
   275         {
   294         getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(), 
   276         getThumbnailActive->GetThumbnailL( aObjectSource.FileHandle(), aObjectSource.Id(), 
   295             aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode,
   277             iFlags, iQualityPreference, iSize, iDisplayMode, priority, aClientData,
   296             priority, aClientData, EFalse, aTargetUri, iThumbnailSize );
   278             EFalse, aTargetUri, iThumbnailSize );
   297         }
   279         }
   298     
   280     
   299     iRequestQueue->AddRequestL( getThumbnailActive );
   281     iRequestQueue->AddRequestL( getThumbnailActive );
   300     CleanupStack::Pop( getThumbnailActive );
   282     CleanupStack::Pop( getThumbnailActive );
   301     
   283     
   302     iRequestQueue->Process();
   284     iRequestQueue->Process();
   303     
   285     
   304     TN_DEBUG2( "CThumbnailManagerImpl::ImportThumbnailL() - request ID: %d", iRequestId );
   286     TN_DEBUG2( "CThumbnailManagerImpl::ImportThumbnailL() - request ID: %d", iRequestId );
   305     OstTrace1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_IMPORTTHUMBNAILL, "CThumbnailManagerImpl::ImportThumbnailL;iRequestId=%u", iRequestId );
       
   306     
   287     
   307     return iRequestId;
   288     return iRequestId;
   308     }
   289     }
   309 
   290 
   310 // ---------------------------------------------------------------------------
   291 // ---------------------------------------------------------------------------
   355     CleanupStack::Pop( getThumbnailActive );
   336     CleanupStack::Pop( getThumbnailActive );
   356 
   337 
   357     iRequestQueue->Process();
   338     iRequestQueue->Process();
   358     
   339     
   359     TN_DEBUG2( "CThumbnailManagerImpl::SetThumbnailL() - request ID: %d", iRequestId );
   340     TN_DEBUG2( "CThumbnailManagerImpl::SetThumbnailL() - request ID: %d", iRequestId );
   360     OstTrace1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_SETTHUMBNAILL, "CThumbnailManagerImpl::SetThumbnailL;iRequestId=%u", iRequestId );
       
   361     
   341     
   362     return iRequestId;
   342     return iRequestId;
   363     }
   343     }
   364 
   344 
   365 // ---------------------------------------------------------------------------
   345 // ---------------------------------------------------------------------------
   370 TThumbnailRequestId CThumbnailManagerImpl::CreateThumbnails(
   350 TThumbnailRequestId CThumbnailManagerImpl::CreateThumbnails(
   371 	CThumbnailObjectSource& aObjectSource, TInt aPriority )
   351 	CThumbnailObjectSource& aObjectSource, TInt aPriority )
   372 	{
   352 	{
   373 	TRAPD(err,
   353 	TRAPD(err,
   374 		TN_DEBUG2( "CThumbnailManagerImpl::CreateThumbnails() aObjectSource==%S ", &aObjectSource.Uri() );
   354 		TN_DEBUG2( "CThumbnailManagerImpl::CreateThumbnails() aObjectSource==%S ", &aObjectSource.Uri() );
   375 		OstTraceExt1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_CREATETHUMBNAILS, "CThumbnailManagerImpl::CreateThumbnails;aObjectSource.Uri()=%S", aObjectSource.Uri() );
       
   376 		iRequestId++;
   355 		iRequestId++;
   377 
   356 
   378 		__ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   357 		__ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   379 
   358 
   380 		TInt priority = ValidatePriority(aPriority);
   359 		TInt priority = ValidatePriority(aPriority);
   393 						 aObjectSource.Uri(), EUnknownThumbnailSize, EFalse);
   372 						 aObjectSource.Uri(), EUnknownThumbnailSize, EFalse);
   394 			}
   373 			}
   395 		else if( !aObjectSource.Buffer() )
   374 		else if( !aObjectSource.Buffer() )
   396 			{        
   375 			{        
   397 			getThumbnailActive->GetThumbnailL( aObjectSource.Id(), 
   376 			getThumbnailActive->GetThumbnailL( aObjectSource.Id(), 
   398 						 aObjectSource.Uri(), aObjectSource.MimeType(), iFlags, 
   377 						 aObjectSource.Uri(), iFlags, iQualityPreference, iSize,
   399 						 iQualityPreference, iSize, iDisplayMode, priority, NULL, 
   378 						 iDisplayMode, priority, NULL, ETrue, aObjectSource.Uri(), 
   400 						 ETrue, aObjectSource.Uri(), EUnknownThumbnailSize);      
   379 						 EUnknownThumbnailSize);      
   401 			}
   380 			}
   402 		else
   381 		else
   403 			{
   382 			{
   404 			// from buffer
   383 			// from buffer
   405 			getThumbnailActive->SetThumbnailL( aObjectSource.GetBufferOwnership(),
   384 			getThumbnailActive->SetThumbnailL( aObjectSource.GetBufferOwnership(),
   413 		CleanupStack::Pop( getThumbnailActive );
   392 		CleanupStack::Pop( getThumbnailActive );
   414 		
   393 		
   415 		iRequestQueue->Process();
   394 		iRequestQueue->Process();
   416 		
   395 		
   417 		TN_DEBUG2( "CThumbnailManagerImpl::CreateThumbnails() - request ID: %d", iRequestId );
   396 		TN_DEBUG2( "CThumbnailManagerImpl::CreateThumbnails() - request ID: %d", iRequestId );
   418 		OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILMANAGERIMPL_CREATETHUMBNAILS, "CThumbnailManagerImpl::CreateThumbnails;iRequestId=%u", iRequestId );
       
   419 	);
   397 	);
   420 	
   398 	
   421 	if( err != KErrNone)
   399 	if( err != KErrNone)
   422 	    {
   400 	    {
   423 	    return err;
   401 	    return err;
   537     aObjectSource )
   515     aObjectSource )
   538     {
   516     {
   539 	TRAP_IGNORE(
   517 	TRAP_IGNORE(
   540 		iRequestId++;
   518 		iRequestId++;
   541 		TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() URI==%S ", &aObjectSource.Uri() );
   519 		TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() URI==%S ", &aObjectSource.Uri() );
   542 		OstTraceExt1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_DELETETHUMBNAILS, "CThumbnailManagerImpl::DeleteThumbnails;aObjectSource.Uri()=%S", aObjectSource.Uri() );
       
   543 
   520 
   544 		__ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   521 		__ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   545 		
   522 		
   546 		CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL
   523 		CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL
   547 			( iFs, iSession, iObserver, iRequestObserver, iRequestId, CActive::EPriorityIdle, 
   524 			( iFs, iSession, iObserver, iRequestObserver, iRequestId, CActive::EPriorityIdle, 
   581 void CThumbnailManagerImpl::DeleteThumbnails( const TThumbnailId aItemId )
   558 void CThumbnailManagerImpl::DeleteThumbnails( const TThumbnailId aItemId )
   582     {
   559     {
   583 	TRAP_IGNORE(
   560 	TRAP_IGNORE(
   584 		iRequestId++;
   561 		iRequestId++;
   585 		TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() aItemId==%d ", aItemId );
   562 		TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() aItemId==%d ", aItemId );
   586 		OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILMANAGERIMPL_DELETETHUMBNAILS, "CThumbnailManagerImpl::DeleteThumbnails;aItemId=%u", aItemId );
       
   587 		
   563 		
   588 		__ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   564 		__ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   589 		
   565 		
   590 		CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL
   566 		CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL
   591 			( iFs, iSession, iObserver, iRequestObserver, iRequestId, CActive::EPriorityIdle, 
   567 			( iFs, iSession, iObserver, iRequestObserver, iRequestId, CActive::EPriorityIdle, 
   612 TInt CThumbnailManagerImpl::CancelRequest( const TThumbnailRequestId aId )
   588 TInt CThumbnailManagerImpl::CancelRequest( const TThumbnailRequestId aId )
   613     {
   589     {
   614     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   590     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   615     
   591     
   616     TN_DEBUG2( "CThumbnailManagerImpl::CancelRequest() - request ID: %d", aId );
   592     TN_DEBUG2( "CThumbnailManagerImpl::CancelRequest() - request ID: %d", aId );
   617     OstTrace1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_CANCELREQUEST, "CThumbnailManagerImpl::CancelRequest;aId=%u", aId );
       
   618     
   593     
   619     return iRequestQueue->CancelRequest(aId);
   594     return iRequestQueue->CancelRequest(aId);
   620     }
   595     }
   621 
   596 
   622 
   597 
   631     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   606     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   632     
   607     
   633     TInt priority = ValidatePriority(aNewPriority);
   608     TInt priority = ValidatePriority(aNewPriority);
   634     
   609     
   635     TN_DEBUG2( "CThumbnailManagerImpl::ChangePriority() - request ID: %d", aId );
   610     TN_DEBUG2( "CThumbnailManagerImpl::ChangePriority() - request ID: %d", aId );
   636     OstTrace1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_CHANGEPRIORITY, "CThumbnailManagerImpl::ChangePriority;aId=%u", aId );
       
   637     
   611     
   638     return iRequestQueue->ChangePriority(aId, priority);
   612     return iRequestQueue->ChangePriority(aId, priority);
   639     }
   613     }
   640 
   614 
   641 // ---------------------------------------------------------------------------
   615 // ---------------------------------------------------------------------------
   670                                                const TInt aOrientation, const TInt64 aModified, 
   644                                                const TInt aOrientation, const TInt64 aModified, 
   671                                                TInt aPriority )
   645                                                TInt aPriority )
   672     {
   646     {
   673     iRequestId++;
   647     iRequestId++;
   674     TN_DEBUG4( "CThumbnailManagerImpl::UpdateThumbnailsL() URI==%S, aItemId==%d, req %d", &aPath, aItemId, iRequestId); 
   648     TN_DEBUG4( "CThumbnailManagerImpl::UpdateThumbnailsL() URI==%S, aItemId==%d, req %d", &aPath, aItemId, iRequestId); 
   675     OstTraceExt3( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_UPDATETHUMBNAILSL, "CThumbnailManagerImpl::UpdateThumbnailsL;aPath=%S;aItemId=%d;iRequestId=%d", aPath, aItemId, iRequestId );
       
   676     
   649     
   677     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   650     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   678     
   651     
   679     TInt priority = ValidatePriority(aPriority);
   652     TInt priority = ValidatePriority(aPriority);
   680     
   653     
   699 TThumbnailRequestId CThumbnailManagerImpl::RenameThumbnailsL( const TDesC& aCurrentPath, 
   672 TThumbnailRequestId CThumbnailManagerImpl::RenameThumbnailsL( const TDesC& aCurrentPath, 
   700         const TDesC& aNewPath, TInt aPriority )
   673         const TDesC& aNewPath, TInt aPriority )
   701     {
   674     {
   702     iRequestId++;
   675     iRequestId++;
   703     TN_DEBUG3( "CThumbnailManagerImpl::RenameThumbnailsL() URI==%S, req %d", &aCurrentPath, iRequestId); 
   676     TN_DEBUG3( "CThumbnailManagerImpl::RenameThumbnailsL() URI==%S, req %d", &aCurrentPath, iRequestId); 
   704      OstTraceExt1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_RENAMETHUMBNAILSL, "CThumbnailManagerImpl::RenameThumbnailsL;aCurrentPath=%S", aCurrentPath );
       
   705     
   677     
   706     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   678     __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId ));
   707     
   679     
   708     TInt priority = ValidatePriority(aPriority);
   680     TInt priority = ValidatePriority(aPriority);
   709     
   681     
   755 TInt CThumbnailManagerImpl::ValidatePriority( const TInt aPriority )
   727 TInt CThumbnailManagerImpl::ValidatePriority( const TInt aPriority )
   756     {
   728     {
   757     if (aPriority < CActive::EPriorityIdle)
   729     if (aPriority < CActive::EPriorityIdle)
   758         {
   730         {
   759         TN_DEBUG2( "CThumbnailManagerImpl::ValidatePriority() - priority %d too low for CActive", aPriority );
   731         TN_DEBUG2( "CThumbnailManagerImpl::ValidatePriority() - priority %d too low for CActive", aPriority );
   760         OstTrace1( TRACE_NORMAL, CTHUMBNAILMANAGERIMPL_VALIDATEPRIORITY, "CThumbnailManagerImpl::ValidatePriority  - priority too low for CActive;aPriority=%d", aPriority );
       
   761         return CActive::EPriorityIdle;
   732         return CActive::EPriorityIdle;
   762         }
   733         }
   763     else if (aPriority > CActive::EPriorityHigh)
   734     else if (aPriority > CActive::EPriorityHigh)
   764         {
   735         {
   765         TN_DEBUG2( "CThumbnailManagerImpl::ValidatePriority() - priority %d too high for CActive", aPriority );
   736         TN_DEBUG2( "CThumbnailManagerImpl::ValidatePriority() - priority %d too high for CActive", aPriority );
   766         OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILMANAGERIMPL_VALIDATEPRIORITY, "CThumbnailManagerImpl::ValidatePriority - priority too high for CActive;aPriority=%d", aPriority );
       
   767         return CActive::EPriorityHigh;
   737         return CActive::EPriorityHigh;
   768         }
   738         }
   769     else
   739     else
   770         {
   740         {
   771         return aPriority;
   741         return aPriority;