emailservices/emailclientapi/src/emailmessage.cpp
branchRCL_3
changeset 12 4ce476e64c59
parent 11 0396474f30f5
child 13 8592a65ad3fb
--- a/emailservices/emailclientapi/src/emailmessage.cpp	Mon Mar 15 12:39:10 2010 +0200
+++ b/emailservices/emailclientapi/src/emailmessage.cpp	Wed Mar 31 21:08:33 2010 +0300
@@ -514,27 +514,27 @@
         return NULL;
         }
     CFSMailMessagePart* part = parts[0];
-    const TDesC& contentType = part->GetContentType();
+    TContentType contentType( part->GetContentType() ); 
     TMessageContentId msgContentId = TMessageContentId( 
                         part->GetPartId().Id(),
                         iMessageId.iId,
                         iMessageId.iFolderId.iId,
                         iMessageId.iFolderId.iMailboxId ); 
 
-    if (!contentType.Find(KFSMailContentTypeTextPlain) || 
-        !contentType.Find(KFSMailContentTypeTextHtml))
+    if ( contentType.Equals( KFSMailContentTypeTextPlain ) || 
+        contentType.Equals( KFSMailContentTypeTextHtml ) )
         {                                
         iTextContent = CEmailTextContent::NewL(iPluginData, msgContentId, part, EAPIOwns );        
         }
-    else if (!contentType.Find(KFSMailContentTypeMultipartMixed) ||
-             !contentType.Find(KFSMailContentTypeMultipartAlternative) ||
-             !contentType.Find(KFSMailContentTypeMultipartDigest) ||
-             !contentType.Find(KFSMailContentTypeMultipartRelated) ||
-             !contentType.Find(KFSMailContentTypeMultipartParallel))
+    else if ( contentType.Equals( KFSMailContentTypeMultipartMixed ) ||
+              contentType.Equals( KFSMailContentTypeMultipartAlternative ) ||
+              contentType.Equals( KFSMailContentTypeMultipartDigest ) ||
+              contentType.Equals( KFSMailContentTypeMultipartRelated ) ||
+              contentType.Equals( KFSMailContentTypeMultipartParallel ) )
         {
         iContent = CEmailMultipart::NewL(iPluginData, msgContentId, part, EAPIOwns);
         }
-    if (count == 2 )
+    if ( count == 2 )
         {
         CFSMailMessagePart* part = parts[1];
         const TDesC& contentType = part->GetContentType();
@@ -857,4 +857,32 @@
     viewSrvSession->ActivateView(TVwsViewId(KFSEmailUiUid, MailEditorId), command, pckgData);
     CleanupStack::PopAndDestroy();   
     }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TContentType::TContentType( const TDesC& aContentType ) : iContentType( aContentType )
+    {
+    _LIT( KSeparator, ";" );
+    TInt end = aContentType.Find( KSeparator );
+    if ( end != KErrNotFound )
+        {
+        iContentType.Set( aContentType.Left( end ) );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TBool TContentType::Equals( const TDesC& aContentType )
+    {
+	TBool ret = iContentType.CompareF( aContentType );
+    if ( ret == 0  )
+    	return ETrue;
+    else
+    	return EFalse;
+    }
+
 // End of file.