emailservices/emailframework/src/CFSMailBrand.cpp
branchRCL_3
changeset 20 efd4f1afd43e
parent 8 e1b6206813b4
child 24 d189ee25cf9d
--- a/emailservices/emailframework/src/CFSMailBrand.cpp	Wed Jun 09 09:22:57 2010 +0300
+++ b/emailservices/emailframework/src/CFSMailBrand.cpp	Mon Jun 21 15:20:54 2010 +0300
@@ -223,16 +223,32 @@
 TBool CFSMailBrand::IsMatching( const TDesC& aBrandId )
     {
     FUNC_LOG;
-
+    const TChar KStar = '*';
+    TBool ret = EFalse;
+    TInt intRet = 0; 
     TInt count = iBrandMatchStrings.Count();
-    for(TInt i=0;i<count;i++)
+    for( TInt i=0;i<count;i++ )
         {
-        if ( aBrandId.MatchC( *iBrandMatchStrings[i] ) == KErrNone )
+        TPtrC brandMatchStringPtr = *iBrandMatchStrings[i];
+        TInt matchPos = aBrandId.MatchC( *iBrandMatchStrings[i] );
+        if ( matchPos >= 0 )
             {
-            return ETrue;
+        	TPtrC rightPartPtr = aBrandId.Right( aBrandId.Length()-matchPos );
+            TChar isStar = brandMatchStringPtr[0];
+            TInt cut = 0;
+            if ( isStar == KStar )
+                {
+                cut = 1;	
+                }
+            TPtrC matchString = brandMatchStringPtr.Right( brandMatchStringPtr.Length()-cut );
+        	intRet = rightPartPtr.CompareC( matchString );
+            if ( intRet == 0 )
+                {
+        	    ret = ETrue;
+        	    }
             }
         }
-    return EFalse;
+    return ret;
     }
 
 // -----------------------------------------------------------------------------