emailservices/emailframework/src/CFSMailBrand.cpp
changeset 59 16ed8d08d0b1
parent 30 759dc5235cdb
--- a/emailservices/emailframework/src/CFSMailBrand.cpp	Tue Jul 06 14:04:34 2010 +0300
+++ b/emailservices/emailframework/src/CFSMailBrand.cpp	Wed Aug 18 09:37:47 2010 +0300
@@ -239,16 +239,32 @@
 TBool CFSMailBrand::IsMatching( const TDesC& aBrandId )
     {
     NM_FUNCTION;
-
+    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;
     }
 
 // -----------------------------------------------------------------------------