mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp
branchRCL_3
changeset 6 ef55b168cedb
parent 3 8b094906a049
child 11 f5809cfbf6d5
--- a/mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp	Wed Apr 14 16:49:36 2010 +0300
+++ b/mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp	Tue Apr 27 17:30:23 2010 +0300
@@ -422,7 +422,7 @@
     __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL"));
     }
 
-void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, TUint32 &aValue)
+void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, TUint32 &aValue, TBool alwaysCreate/* = ETrue*/)
     {
     __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL"));
     __ASSERT_DEBUG(iObjectInfo, Panic(EMTPImageDpObjectNull));
@@ -450,11 +450,14 @@
             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
             if (err == KErrNone)
                 {
-                iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
-                if(fileEntry.FileSize() > KFileSizeMax)
+                if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
                     {
                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
                     }
+                else
+                    {
+                    iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
+                    }
                 
                 /**
                  * trap the leave to avoid return general error when PC get object property list
@@ -578,7 +581,7 @@
     __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL"));
     }
 
-void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, CMTPTypeArray& aValue)
+void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, CMTPTypeArray& aValue, TBool alwaysCreate /*= ETrue*/)
     {
     __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL -- SmapleData"));       
     
@@ -599,11 +602,15 @@
             TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry);
             if (err == KErrNone)
                 {
-                iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
-                if(fileEntry.FileSize() > KFileSizeMax)
+                
+                if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate)
                     {
                     iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate);
                     }
+                else
+                    {
+                    iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags);
+                    }
                 
                 /**
                  * trap the leave to avoid return general error when PC get object property list