serviceproviders/sapi_mediamanagement/src/mgmediaitem.cpp
changeset 22 fc9cf246af83
parent 19 989d2f495d90
child 33 50974a8b132e
--- a/serviceproviders/sapi_mediamanagement/src/mgmediaitem.cpp	Fri Jul 03 15:51:24 2009 +0100
+++ b/serviceproviders/sapi_mediamanagement/src/mgmediaitem.cpp	Thu Aug 27 07:43:07 2009 +0300
@@ -19,7 +19,7 @@
 #include <mclfitem.h>
 #include <pathinfo.h>
 #include <liwvariant.h>
-
+#include "mgmresolution.h"
 
 #include "mgmediaitem.h"
 
@@ -32,11 +32,15 @@
 _LIT8( KMgMediaType, "MediaType" );
 _LIT8( KMgMimeType, "MimeType" ); 
 _LIT8( KType, "Type");
+_LIT8(KXPixels, "XPixels");
+_LIT8(KYPixels, "YPixels");
 
 _LIT( EMgPhoneMemory,"C:" );
 _LIT( EMgMmc,"E:" );
 _LIT( KMediaType, "Media");
+_LIT( KImageType, "image");
 const TInt KMemoryNameLength = 2;
+const TInt KImgLen = 20;
 
 // ---------------------------------------------------------------------------
 // CMgMediaItem::FillCommonAttributesL
@@ -55,6 +59,8 @@
     TInt32 size;
     TPtrC mimeType;
     TInt32 mediaType;
+    TBuf<KImgLen> mediaImage;
+    mediaImage.Append( KImageType );
     
     if( KErrNone == aClfItem.GetField( ECLFFieldIdFileNameAndPath, fullName ) )
                                                         
@@ -91,9 +97,19 @@
     aOutputMap->InsertL( KMgFileDate,TLiwVariant( time ) );
     aOutputMap->InsertL( KMgFileSize,TLiwVariant( size ) );
     
+    if ( mediaType == ECLFMediaTypeImage )
+        {
+        TSize imageRes( 0,0 );
+        MResolution* mediaResObj = MediaResolutionFactory::CreateMediaResolutionobjL( mediaImage,fullName );
+        CleanupStack::PushL( mediaResObj );
+        mediaResObj->GetresolutionL( imageRes );        
+        aOutputMap->InsertL( KXPixels,(TInt32)imageRes.iWidth );
+        aOutputMap->InsertL( KYPixels,(TInt32)imageRes.iHeight );
+        CleanupStack::Pop( mediaResObj );
+        delete mediaResObj;
+        }         
     }
 
 
 
 
-