phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardimageloader.cpp
branchRCL_3
changeset 6 e8e3147d53eb
parent 3 04ab22b956c2
child 8 5586b4d2ec3e
--- a/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardimageloader.cpp	Fri Mar 12 15:41:25 2010 +0200
+++ b/phonebookui/Phonebook2/ccapplication/ccamycardplugin/src/ccappmycardimageloader.cpp	Mon Mar 15 12:39:26 2010 +0200
@@ -103,17 +103,20 @@
         MVPbkStoreContactField& field = fields.FieldAt( i );    
         const MVPbkFieldType* fieldType = field.BestMatchingFieldType();
         
-        if ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_THUMBNAILPIC )
+        if ( fieldType )
             {
-            MVPbkContactFieldData& contactField = field.FieldData(); 
-            iImageBuffer = 
-                MVPbkContactFieldBinaryData::Cast(contactField).BinaryData().AllocL();
-            }
-        
-        if ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_CALLEROBJIMG )
-            {
-            MVPbkContactFieldData& contactField = field.FieldData();                        
-            iImageFileName = MVPbkContactFieldTextData::Cast(contactField).Text().AllocL();
+            if ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_THUMBNAILPIC )
+                {
+                MVPbkContactFieldData& contactField = field.FieldData(); 
+                iImageBuffer = 
+                    MVPbkContactFieldBinaryData::Cast(contactField).BinaryData().AllocL();
+                }
+            
+            if ( fieldType->FieldTypeResId() == R_VPBK_FIELD_TYPE_CALLEROBJIMG )
+                {
+                MVPbkContactFieldData& contactField = field.FieldData();                        
+                iImageFileName = MVPbkContactFieldTextData::Cast(contactField).Text().AllocL();
+                }
             }
         }
         
@@ -142,6 +145,34 @@
     }
 
 // ---------------------------------------------------------------------------
+// CCCAppMyCardImageLoader::LoadImageL
+// ---------------------------------------------------------------------------
+//
+void CCCAppMyCardImageLoader::LoadImageL( 
+    const TDesC8& aImageData,
+    const TDesC& aImageFileName,
+    const TSize& aThumbnailSize )
+    {
+    CCA_DP(KMyCardLogFile, 
+        CCA_L("->CCCAppMyCardImageLoader::LoadImageL()"));
+
+    delete iImageDecoding;
+    iImageDecoding = NULL;
+    
+    RFs& fs = CEikonEnv::Static()->FsSession();
+    iImageDecoding = CCCAppImageDecoding::NewL(
+            *this, 
+            fs, 
+            aImageData.AllocLC(), 
+            aImageFileName.AllocLC() );
+    CleanupStack::Pop( 2 ); // imagedata, imagefilename
+    iImageDecoding->StartL( aThumbnailSize );      
+
+    CCA_DP(KMyCardLogFile, 
+        CCA_L("<-CCCAppMyCardImageLoader::LoadImageL()"));
+    }
+
+// ---------------------------------------------------------------------------
 // CCCAppMyCardImageLoader::ResizeImageL
 // ---------------------------------------------------------------------------
 //