messagingapp/msgsettings/msginit/src/simscnumberdetector.cpp
changeset 70 a15d9966050f
parent 52 12db4185673b
--- a/messagingapp/msgsettings/msginit/src/simscnumberdetector.cpp	Thu Sep 02 20:23:03 2010 +0300
+++ b/messagingapp/msgsettings/msginit/src/simscnumberdetector.cpp	Fri Sep 17 08:28:39 2010 +0300
@@ -448,22 +448,40 @@
             }
 
         QDEBUG_WRITE("CMsgSimOperation::DoStartRunL create name")
-        
-        TBuf<100> name(KSmscSimDefaultName); 
-        name.AppendNum(i);
-        
-        QDEBUG_WRITE("CMsgSimOperation::DoStartRunL name created")
-        
-        smsSettings->AddServiceCenterL(name, entry.iServiceCentre.iTelNumber);
+		
+		TBool duplicateFound(EFalse);
+
+		numSCAddresses = smsSettings->ServiceCenterCount();
+        for ( TInt j = 0; j < numSCAddresses; j++ )
+			{
+			if ( entry.iServiceCentre.iTelNumber == smsSettings->GetServiceCenter( j ).Address() )
+				{
+                QDEBUG_WRITE_FORMAT("DoStartRunL - Duplicate. SMSC ", i)
+                QDEBUG_WRITE_FORMAT("DoStartRunL -    of Sms Settings SMSC ", j)
+                duplicateFound = ETrue;
+                break;
+				}
+             }
+        if(!duplicateFound)
+            {            
+			TBuf<KMaxNameLength> name;
+            name = entry.iText;        
+            if ( name == KNullDesC )
+                {        
+                name.Append(KSmscSimDefaultName); 
+                name.AppendNum(i);
+                }
+    
+            QDEBUG_WRITE("CMsgSimOperation::DoStartRunL name created")        
+            smsSettings->AddServiceCenterL(name, entry.iServiceCentre.iTelNumber);
+            QDEBUG_WRITE("CMsgSimOperation::DoStartRunL AddServiceCenterL completed")
+            }
         
-        
-        QDEBUG_WRITE("CMsgSimOperation::DoStartRunL AddServiceCenterL completed")
-
-        if ( i == 0 )
+      	if (i==0)
             {
-            smsSettings->SetDefaultServiceCenter(i);
-            QDEBUG_WRITE("CMsgSimOperation::DoStartRunL SetDefaultServiceCenter completed")
-            }
+			smsSettings->SetDefaultServiceCenter(i);
+			QDEBUG_WRITE("CMsgSimOperation::DoStartRunL SetDefaultServiceCenter completed")
+			}      
         }
 
     // save settings