richcallsettingsengine/rcse2/src/crcseprofileregistry.cpp
branchRCL_3
changeset 12 876a3df1f464
parent 0 a4daefaec16c
child 15 43658d24f35d
--- a/richcallsettingsengine/rcse2/src/crcseprofileregistry.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/richcallsettingsengine/rcse2/src/crcseprofileregistry.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -1317,7 +1317,13 @@
 
     if ( KErrNone == err )
         {
-        aEntry.AddPropertyL( aProperty );
+        err = aEntry.AddPropertyL( aProperty );
+        if ( KErrNone != err )
+            {
+            RCSELOGSTRING2(
+                "CRCSEProfileRegistry::FindAndAddDefaultPropertyL - add property err: %d",
+                err );
+            }
         }
     }
 
@@ -1343,6 +1349,8 @@
         {
         return;
         }
+    
+    TInt err( KErrNone );
 
     // Service table API
     CSPSettings* table = CSPSettings::NewLC();
@@ -1358,13 +1366,32 @@
         {
         property->SetName( EPropertyServiceSetupPluginId );
         property->SetValue( aNewEntry.iVoIPPluginUID );
-        entry->AddPropertyL( *property );
+        err = entry->AddPropertyL( *property );
+        if ( KErrAlreadyExists == err )
+            {
+            User::LeaveIfError(
+                    entry->UpdateProperty( EPropertyServiceSetupPluginId,
+                                           aNewEntry.iVoIPPluginUID ) );
+            }
+        else
+            {
+            User::LeaveIfError( err );
+            }
         }
 
     // This property is needed by clients to check if VoIP service is used
     property->SetName( ESubPropertyVoIPSettingsId );
     property->SetValue( KVoIPSettingsID );
-    entry->AddPropertyL( *property );
+    err = entry->AddPropertyL( *property );
+    if ( KErrAlreadyExists == err )
+        {
+        User::LeaveIfError( entry->UpdateProperty( ESubPropertyVoIPSettingsId,
+                                                   KVoIPSettingsID ) );
+        }
+    else
+        {
+        User::LeaveIfError( err );
+        }
     
     // Service Attribute Mask
     FindAndAddDefaultPropertyL(