mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp
branchRCL_3
changeset 59 666f9a5a90a9
parent 56 63223d4fd956
child 67 16db3449d7ba
--- a/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp	Wed Sep 01 12:23:05 2010 +0100
+++ b/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp	Tue Sep 14 22:17:30 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  Extracts metadata from a file
-*  Version     : %version: da1mmcf#38.1.4.2.6.1.15 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: da1mmcf#38.1.4.2.6.1.17 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -254,6 +254,10 @@
     // URL
     aMediaProp.SetTextValueL( KMPXMediaMusicURL,
                               KNullDesC );
+    // AlbumArtist
+    aMediaProp.SetTextValueL( KMPXMediaMusicAlbumArtist,
+                              KNullDesC );
+    
     }
 
 // ---------------------------------------------------------------------------
@@ -476,6 +480,18 @@
                     }
                 break;
                 }
+            case EMetaDataAlbumArtist:
+                {
+                TPtr valptr = value->Des();
+                valptr.Trim();
+                TInt vallen = value->Length();
+                if (vallen>0)
+                    {
+                    FindAndReplaceForbiddenChars(valptr, vallen);
+                    iMedia->SetTextValueL(KMPXMediaMusicAlbumArtist, *value);
+                    }
+                break;
+                }
             case EMetaDataOriginalArtist:  // fall through
             case EMetaDataVendor:          // fall through
             case EMetaDataRating:          // fall through
@@ -926,7 +942,20 @@
         {
         TDataType dataType;
         TUid dummyUid(KNullUid);
-        iAppArc.AppForDocument(iFileName, dummyUid, dataType);
+        // File handle based mime type recogniton required , because AppArc does 
+        // not have All Files capa required for files in private folders 
+        TDataRecognitionResult result;
+        RFs fs;
+		RFile rFile;
+        User::LeaveIfError(fs.Connect());
+		CleanupClosePushL(fs);
+        User::LeaveIfError(fs.ShareProtected());
+        User::LeaveIfError(rFile.Open(fs, iFileName, EFileShareReadersOrWriters));
+		CleanupClosePushL(rFile);
+        User::LeaveIfError(iAppArc.RecognizeData(rFile, result)); 
+        CleanupStack::PopAndDestroy(&rFile);
+        CleanupStack::PopAndDestroy(&fs);
+        dataType = result.iDataType;
         iMedia->SetTextValueL( KMPXMediaGeneralMimeType,dataType.Des() );
         }