mtpdataproviders/mtpimagedp/src/cmtpimagedp.cpp
branchRCL_3
changeset 12 8b094906a049
parent 11 4843bb5893b6
child 16 3673b591050c
child 20 6e82ae192c3a
--- a/mtpdataproviders/mtpimagedp/src/cmtpimagedp.cpp	Fri Mar 12 15:46:41 2010 +0200
+++ b/mtpdataproviders/mtpimagedp/src/cmtpimagedp.cpp	Mon Mar 15 12:43:12 2010 +0200
@@ -97,10 +97,7 @@
     __FLOG_OPEN(KMTPSubsystem, KComponent);
     __FLOG(_L8(">> CMTPImageDataProvider::ConstructL"));
     
-    iPropertyMgr = CMTPImageDpObjectPropertyMgr::NewL(Framework(), *this);
     iThumbnailManager = CMTPImageDpThumbnailCreator::NewL(*this);
-    iMdeObserver = CMTPImageDpMdeObserver::NewL(Framework(), *this);
-    iMdeObserver->SubscribeForChangeNotificationL();
     iNewPicNotifier = CMTPImageDpNewPicturesNotifier::NewL();
     
     //Setup central repository connection
@@ -273,16 +270,26 @@
     {
     __FLOG(_L8(">> StartObjectEnumerationL"));
     
+    TBool isComplete = ETrue;
     if (aStorageId == KMTPStorageAll)
         {
         /*
          * framework notify data provider to enumerate
          * 
          */
+        if (iPropertyMgr == NULL)
+            {
+            iPropertyMgr = CMTPImageDpObjectPropertyMgr::NewL(Framework(), *this);
+            isComplete = EFalse;
+            }
+  
         iEnumerated = ETrue;
         }
 
-    NotifyEnumerationCompleteL(aStorageId, KErrNone);
+    if (isComplete)
+        {
+        NotifyEnumerationCompleteL(aStorageId, KErrNone);
+        }
     
     __FLOG(_L8("<< StartObjectEnumerationL"));
     }
@@ -398,20 +405,20 @@
         /*
          * bmp files
          */
-//        _LIT(KFormatExtensionBmp, "0x3804:bmp::3");
-//        aStrings.AppendL(KFormatExtensionBmp);
+        _LIT(KFormatExtensionBmp, "0x3804:bmp::3");
+        aStrings.AppendL(KFormatExtensionBmp);
         
         /*
          * gif files
          */
-//        _LIT(KFormatExtensionGif, "0x3807:gif::3");
-//        aStrings.AppendL(KFormatExtensionGif);
+        _LIT(KFormatExtensionGif, "0x3807:gif::3");
+        aStrings.AppendL(KFormatExtensionGif);
         
         /*
          * png files
          */
-//        _LIT(KFormatExtensionPng, "0x380B:png::3");
-//        aStrings.AppendL(KFormatExtensionPng);
+        _LIT(KFormatExtensionPng, "0x380B:png::3");
+        aStrings.AppendL(KFormatExtensionPng);
         
         /*
          * tif, tiff files
@@ -768,3 +775,18 @@
     
     __FLOG(_L8("<< DecreaseNewPictures "));    
     }
+
+void CMTPImageDataProvider::HandleMdeSessionCompleteL(TInt aError)
+    {
+    __FLOG(_L8(">> HandleMdeSessionComplete"));    
+
+    NotifyEnumerationCompleteL(KMTPStorageAll, KErrNone);
+    if (aError == KErrNone)
+        {
+        iMdeObserver = CMTPImageDpMdeObserver::NewL(Framework(), *this);
+        iMdeObserver->SubscribeForChangeNotificationL();
+        }
+    
+    __FLOG(_L8("<< HandleMdeSessionComplete "));    
+    }
+