mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp
changeset 20 6e82ae192c3a
parent 18 1b39655331a3
child 22 a5c0bb5018eb
child 23 f5809cfbf6d5
child 29 3ae5cb0b4c02
equal deleted inserted replaced
18:1b39655331a3 20:6e82ae192c3a
   420         break;
   420         break;
   421         }
   421         }
   422     __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL"));
   422     __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL"));
   423     }
   423     }
   424 
   424 
   425 void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, TUint32 &aValue)
   425 void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, TUint32 &aValue, TBool alwaysCreate/* = ETrue*/)
   426     {
   426     {
   427     __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL"));
   427     __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL"));
   428     __ASSERT_DEBUG(iObjectInfo, Panic(EMTPImageDpObjectNull));
   428     __ASSERT_DEBUG(iObjectInfo, Panic(EMTPImageDpObjectNull));
   429     
   429     
   430     switch(aProperty)
   430     switch(aProperty)
   448              */
   448              */
   449             TEntry fileEntry;
   449             TEntry fileEntry;
   450             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   450             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   451             if (err == KErrNone)
   451             if (err == KErrNone)
   452                 {
   452                 {
   453                 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   453                 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
   454                 if(fileEntry.FileSize() > KFileSizeMax)
       
   455                     {
   454                     {
   456                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
   455                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
       
   456                     }
       
   457                 else
       
   458                     {
       
   459                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   457                     }
   460                     }
   458                 
   461                 
   459                 /**
   462                 /**
   460                  * trap the leave to avoid return general error when PC get object property list
   463                  * trap the leave to avoid return general error when PC get object property list
   461                  */
   464                  */
   576         break;
   579         break;
   577         }
   580         }
   578     __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL"));
   581     __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL"));
   579     }
   582     }
   580 
   583 
   581 void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, CMTPTypeArray& aValue)
   584 void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, CMTPTypeArray& aValue, TBool alwaysCreate /*= ETrue*/)
   582     {
   585     {
   583     __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL -- SmapleData"));       
   586     __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL -- SmapleData"));       
   584     
   587     
   585     if (aProperty == EMTPObjectPropCodeRepresentativeSampleData)
   588     if (aProperty == EMTPObjectPropCodeRepresentativeSampleData)
   586         {
   589         {
   597              */
   600              */
   598             TEntry fileEntry;
   601             TEntry fileEntry;
   599             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   602             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
   600             if (err == KErrNone)
   603             if (err == KErrNone)
   601                 {
   604                 {
   602                 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   605                 
   603                 if(fileEntry.FileSize() > KFileSizeMax)
   606                 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
   604                     {
   607                     {
   605                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
   608                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
       
   609                     }
       
   610                 else
       
   611                     {
       
   612                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
   606                     }
   613                     }
   607                 
   614                 
   608                 /**
   615                 /**
   609                  * trap the leave to avoid return general error when PC get object property list
   616                  * trap the leave to avoid return general error when PC get object property list
   610                  */
   617                  */