mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp
branchRCL_3
changeset 20 4a793f564d72
parent 19 0aa8cc770c8a
child 21 74aa6861c87d
equal deleted inserted replaced
19:0aa8cc770c8a 20:4a793f564d72
   452         /**
   452         /**
   453          * try to query thumbnail from TNM, and then store thumbnail to cache
   453          * try to query thumbnail from TNM, and then store thumbnail to cache
   454          */
   454          */
   455         TEntry fileEntry;
   455         TEntry fileEntry;
   456         TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   456         TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   457         CMTPImageDpThumbnailCreator* tnc = iDataProvider.ThumbnailManager();
   457         if (err == KErrNone)
   458         if (err == KErrNone && tnc != NULL)
   458             {
   459             {
       
   460             
       
   461             if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
   459             if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
   462                 {
   460                 {
   463                 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
   461                 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
   464                 }
   462                 }
   465             else
   463             else
   466                 {
   464                 {
   467                 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   465                 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   468                 }
   466                 }
   469             
   467             
   470             /**
   468             /**
   471              * trap the leave to avoid return general error when PC get object property list
   469              * trap the leave to avoid return general error when PC get object property list
   472              */
   470              */
   473             TRAP(err, tnc->GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err));
   471             TRAP(err, iDataProvider.ThumbnailManager().GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err));
   474             if (err == KErrNone)
   472             if (err == KErrNone)
   475                 {
   473                 {
   476                 iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle);                        
   474                 iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle);                        
   477                 if (iThumbnailCache.iThumbnailData != NULL)
   475                 if (iThumbnailCache.iThumbnailData != NULL)
   478                     {
   476                     {
   483                     {
   481                     {
   484                     //trigger initiator to re-query thumbnail again if the thumbnail size of response is zero
   482                     //trigger initiator to re-query thumbnail again if the thumbnail size of response is zero
   485                     aValue = KThumbCompressedSize;
   483                     aValue = KThumbCompressedSize;
   486                     }
   484                     }
   487                 }
   485                 }
   488             }
       
   489         else
       
   490             {
       
   491             aValue = KThumbCompressedSize;
       
   492             }
   486             }
   493         }
   487         }
   494         break;       
   488         break;       
   495        
   489        
   496     case EMTPObjectPropCodeRepresentativeSampleHeight:
   490     case EMTPObjectPropCodeRepresentativeSampleHeight:
   603             /**
   597             /**
   604              * try to query thumbnail from TNM, and then store thumbnail to cache
   598              * try to query thumbnail from TNM, and then store thumbnail to cache
   605              */
   599              */
   606             TEntry fileEntry;
   600             TEntry fileEntry;
   607             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   601             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   608             CMTPImageDpThumbnailCreator* tnc = iDataProvider.ThumbnailManager();
   602             if (err == KErrNone)
   609             if (err == KErrNone && tnc != NULL)
       
   610                 {
   603                 {
   611                 
   604                 
   612                 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
   605                 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
   613                     {
   606                     {
   614                     tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
   607                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
   615                     }
   608                     }
   616                 else
   609                 else
   617                     {
   610                     {
   618                     tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   611                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   619                     }
   612                     }
   620                 
   613                 
   621                 /**
   614                 /**
   622                  * trap the leave to avoid return general error when PC get object property list
   615                  * trap the leave to avoid return general error when PC get object property list
   623                  */
   616                  */
   624                 TRAP(err, tnc->GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err));
   617                 TRAP(err, iDataProvider.ThumbnailManager().GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err));
   625                 if (err == KErrNone)
   618                 if (err == KErrNone)
   626                     {
   619                     {
   627                     iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle);                        
   620                     iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle);                        
   628                     if (iThumbnailCache.iThumbnailData != NULL)
   621                     if (iThumbnailCache.iThumbnailData != NULL)
   629                         {
   622                         {