ui/uiengine/medialists/src/glxcachemanager.cpp
changeset 26 c499df2dbb33
parent 24 99ad1390cd33
child 29 2c833fc9e98f
equal deleted inserted replaced
24:99ad1390cd33 26:c499df2dbb33
   114     {
   114     {
   115     TRACER("CGlxCacheManager::ConstructL");
   115     TRACER("CGlxCacheManager::ConstructL");
   116     
   116     
   117     iGarbageCollector = CGlxGarbageCollector::NewL( iCaches );
   117     iGarbageCollector = CGlxGarbageCollector::NewL( iCaches );
   118     iTempErrorTimer = CPeriodic::NewL(CActive::EPriorityStandard);
   118     iTempErrorTimer = CPeriodic::NewL(CActive::EPriorityStandard);
   119     iSchedulerWait = new (ELeave) CActiveSchedulerWait();
       
   120     iMaintainCacheCallback = new ( ELeave )
   119     iMaintainCacheCallback = new ( ELeave )
   121 	    CAsyncCallBack( TCallBack( MaintainCacheL, this ), CActive::EPriorityStandard );
   120 	    CAsyncCallBack( TCallBack( MaintainCacheL, this ), CActive::EPriorityStandard );
   122 	    
   121 	    
   123 #ifdef USE_S60_TNM
   122 #ifdef USE_S60_TNM
   124     iTnEngine = CThumbnailManager::NewL( *this);
   123     iTnEngine = CThumbnailManager::NewL( *this);
   132 //
   131 //
   133 CGlxCacheManager::~CGlxCacheManager()
   132 CGlxCacheManager::~CGlxCacheManager()
   134 	{
   133 	{
   135 	TRACER("CGlxCacheManager::Destructor");
   134 	TRACER("CGlxCacheManager::Destructor");
   136 	
   135 	
   137     delete iSchedulerWait;
       
   138  	iObserverList.ResetAndDestroy();
   136  	iObserverList.ResetAndDestroy();
   139  	iCaches.ResetAndDestroy();
   137  	iCaches.ResetAndDestroy();
   140  	delete iTempThumbnail;
   138  	delete iTempThumbnail;
   141  	iRequestedItemIds.Reset();
   139  	iRequestedItemIds.Reset();
   142  	iRequestedAttrs.Reset();
   140  	iRequestedAttrs.Reset();
   777                             HandleGarbageCollectionL(EFalse);
   775                             HandleGarbageCollectionL(EFalse);
   778                             CleanupStack::PopAndDestroy(path);
   776                             CleanupStack::PopAndDestroy(path);
   779                             iRequestOwner = list;
   777                             iRequestOwner = list;
   780                             CleanupStack::PopAndDestroy(attrSpecs); 
   778                             CleanupStack::PopAndDestroy(attrSpecs); 
   781                             TGlxIdSpaceId spaceId = list->IdSpaceId(iRequestedItemIndexes[0]);
   779                             TGlxIdSpaceId spaceId = list->IdSpaceId(iRequestedItemIndexes[0]);
   782                             HandleCollectionMediaL(spaceId, *iMPXMedia, KErrArgument);
   780                             HandleCollectionMediaL(spaceId, *iMPXMedia, errInImage);
   783                             CleanupStack::PopAndDestroy(imageVwrMgr);
   781                             CleanupStack::PopAndDestroy(imageVwrMgr);
   784                             return;
   782                             return;
   785                             }
   783                             }
   786 
   784 
   787                         if(!iReader)
   785                         if(!iReader)
   788                             {
   786                             {
   789                             TRAP(errInImage,iReader = CGlxImageReader::NewL(*this));
   787                             TRAP(errInImage, iReader = CGlxImageReader::NewL());
   790                             if(errInImage == KErrNone)
       
   791                                 {
       
   792                                 iSchedulerWait->Start();
       
   793                                 }
       
   794                             }
   788                             }
   795                     
   789 
   796                         for ( TInt i = 0; i < iRequestedAttrs.Count(); i++ )
   790                         for ( TInt i = 0; i < iRequestedAttrs.Count(); i++ )
   797                             {
   791                             {
   798                             if ( iRequestedAttrs[i] == KMPXMediaGeneralId )
   792                             if ( iRequestedAttrs[i] == KMPXMediaGeneralId )
   799                                 {
   793                                 {
   800                                 iMPXMedia->SetTObjectValueL<TMPXItemId>(KMPXMediaGeneralId, 
   794                                 iMPXMedia->SetTObjectValueL<TMPXItemId>(KMPXMediaGeneralId, 
   930                                 {
   924                                 {
   931                                 iMPXMedia->SetTObjectValueL(KGlxMediaGeneralSystemItem, EFalse);
   925                                 iMPXMedia->SetTObjectValueL(KGlxMediaGeneralSystemItem, EFalse);
   932                                 }
   926                                 }
   933                             else if ( iRequestedAttrs[i] == KGlxMediaGeneralDimensions )
   927                             else if ( iRequestedAttrs[i] == KGlxMediaGeneralDimensions )
   934                                 {
   928                                 {
       
   929                                 TSize dimensions = TSize();
   935                                 if(errInImage == KErrNone)
   930                                 if(errInImage == KErrNone)
   936                                     {
   931                                     {
   937                                     //need to fetch the original file dimensions
   932                                     //need to fetch the original file dimensions
   938                                     TSize dimensions(iImgSz.iWidth,iImgSz.iHeight);
   933                                     if(errInImage == KErrNone)
       
   934                                         {
       
   935                                         dimensions = iReader->GetDimensions();
       
   936                                         }
   939                                     iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
   937                                     iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
   940                                     }
   938                                     }
   941                                 else
   939                                 else
   942                                     {
   940                                     {
   943                                     TSize dimensions(0,0);
       
   944                                     iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
   941                                     iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
   945                                     }
   942                                     }
   946                                 }
   943                                 }
   947                             else if ( iRequestedAttrs[i] == KGlxMediaGeneralFramecount )
   944                             else if ( iRequestedAttrs[i] == KGlxMediaGeneralFramecount )
   948                                 {
   945                                 {
   949                                 TInt fcount = 1;
   946                                 TInt fcount = 1;
       
   947                                 if(errInImage == KErrNone)
       
   948                                     {
       
   949                                     fcount = iReader->GetFrameCount();
       
   950                                     }
       
   951                                 GLX_DEBUG2("Imageviewer Collection framecount(%d)", fcount);
   950                                 iMPXMedia->SetTObjectValueL(KGlxMediaGeneralFramecount, fcount);
   952                                 iMPXMedia->SetTObjectValueL(KGlxMediaGeneralFramecount, fcount);
   951                                 }
   953                                 }
   952                             else if ( iRequestedAttrs[i] == KMPXMediaGeneralComment )
   954                             else if ( iRequestedAttrs[i] == KMPXMediaGeneralComment )
   953                                 {
   955                                 {
   954                                 iMPXMedia->SetTextValueL(KMPXMediaGeneralComment, KNullDesC); 
   956                                 iMPXMedia->SetTextValueL(KMPXMediaGeneralComment, KNullDesC); 
  1544     TUid uid;
  1546     TUid uid;
  1545     User::LeaveIfError( session.AppForDocument( aFileName, uid, aMimeType ) );
  1547     User::LeaveIfError( session.AppForDocument( aFileName, uid, aMimeType ) );
  1546     CleanupStack::PopAndDestroy(&session);
  1548     CleanupStack::PopAndDestroy(&session);
  1547     }
  1549     }
  1548 
  1550 
  1549 // -----------------------------------------------------------------------------
       
  1550 // ImageSizeReady()
       
  1551 // -----------------------------------------------------------------------------
       
  1552 //
       
  1553 void CGlxCacheManager::ImageSizeReady(TInt aError, const TSize aSz)
       
  1554     {
       
  1555     TRACER("CGlxCacheManager::ImageSizeReady");
       
  1556     GLX_DEBUG2("CGlxCacheManager::ImageSizeReady aError=%d", aError);
       
  1557     iImgSz = TSize();
       
  1558     if(iSchedulerWait)
       
  1559         {
       
  1560         iSchedulerWait->AsyncStop();    
       
  1561         }    
       
  1562 
       
  1563     iImgSz = aSz;
       
  1564     GLX_DEBUG3("CGlxCacheManager::ImageSizeReady() iImgSz w(%d) h(%d)", 
       
  1565             iImgSz.iWidth, iImgSz.iHeight);    
       
  1566     }
       
  1567 
  1551 
  1568 //End of file
  1552 //End of file