Revision: 201015 RCL_3 PDK_3.0.i
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 16:28:03 +0300
branchRCL_3
changeset 12 876a3df1f464
parent 11 6134b5029079
child 14 be41ab7b952f
Revision: 201015 Kit: 201017
callcontinuity/vccutils/src/vccspsettings.cpp
commsconfig/cscapplicationui/group/bld.inf
commsconfig/cscapplicationui/src/cscserviceview.cpp
commsconfig/cscengine/group/bld.inf
commsconfig/cscengine/src/cscengservicepluginhandler.cpp
commsconfig/cscgsplugin/group/bld.inf
commsconfig/cscsettingsui/group/bld.inf
commsconfig/cscsipvoipcleanupplugin/group/bld.inf
convergedconnectionhandler/cchclientapi/cchuinotif/data/cchuinotif.rss
convergedconnectionhandler/cchclientapi/cchuinotif/group/bld.inf
convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp
convergedconnectionhandler/cchclientapi/src/cchimpl.cpp
convergedconnectionhandler/cchclientapi/src/cchserviceimpl.cpp
convergedconnectionhandler/cchserver/src/cchnotehandler.cpp
convergedconnectionhandler/cchserver/src/cchservicehandler.cpp
convergedconnectionhandler/cchserver/src/cchserviceinfo.cpp
richcallsettingsengine/rcse2/src/crcseprofileregistry.cpp
sipvoipprovider/src/svpcontroller.cpp
sipvoipprovider/svptransfer/src/svptransfercontroller.cpp
voipplugins/sipconnectionprovider/group/bld.inf
voipplugins/sipconnectionprovider/inc/scpsipconnection.h
voipplugins/sipconnectionprovider/src/scpprofilehandler.cpp
voipplugins/sipconnectionprovider/src/scpservicehandlerbase.cpp
voipplugins/sipconnectionprovider/src/scpservicestorage.cpp
voipplugins/sipconnectionprovider/src/scpsipconnection.cpp
voipplugins/sipconnectionprovider/src/scpsubservice.cpp
voipplugins/sipmxresolver/group/bld.inf
voipplugins/svtmatching/src/svturiparser.cpp
voipplugins/voipadapters/cpgenvoipsettings/group/bld.inf
voipplugins/voipadapters/cpvoipadapter/group/bld.inf
voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp
voipplugins/voipadapters/dmgenvoipsettings/group/bld.inf
voipplugins/voipadapters/dmvoipadapter/group/bld.inf
voipplugins/voipadapters/provisioningfile/group/bld.inf
voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlutils.inl
voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp
--- a/callcontinuity/vccutils/src/vccspsettings.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/callcontinuity/vccutils/src/vccspsettings.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -956,7 +956,7 @@
     TRAP_IGNORE( iDtAllowedWhenCsOriginated = aValue.AllocL() );
     }
 // ---------------------------------------------------------------------------
-// 
+// Update old property or add new property to the service entry 
 // ---------------------------------------------------------------------------
 //
 void CVccSPSettings::AddOrUpdatePropertyL( CSPEntry& aServiceEntry, 
@@ -971,13 +971,15 @@
         CSPProperty* property = CSPProperty::NewLC(); 
         property->SetName( aName );
         property->SetValue( aValue );
+        // New property, don't need to check return value
+        // coverity[check_return] coverity[unchecked_value]
         aServiceEntry.AddPropertyL( *property );
         CleanupStack::PopAndDestroy( property );
         }    
     }
 
 // ---------------------------------------------------------------------------
-// Update old property of add new property to the service entry 
+// Update old property or add new property to the service entry 
 // ---------------------------------------------------------------------------
 //
 void CVccSPSettings::AddOrUpdatePropertyL( CSPEntry& aServiceEntry, 
@@ -991,6 +993,8 @@
         CSPProperty* property = CSPProperty::NewLC(); 
         property->SetName( aName );
         property->SetValue( aValue );
+        // New property, don't need to check return value
+        // coverity[check_return] coverity[unchecked_value]
         aServiceEntry.AddPropertyL( *property );
         CleanupStack::PopAndDestroy( property );
         }    
--- a/commsconfig/cscapplicationui/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscapplicationui/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -27,6 +27,3 @@
 
 PRJ_MMPFILES
 cscappui.mmp
-
-PRJ_TESTMMPFILES
-//../internal/Test/Group/UT_CSC.mmp
--- a/commsconfig/cscapplicationui/src/cscserviceview.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscapplicationui/src/cscserviceview.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -676,7 +676,7 @@
     {
     CSCDEBUG( "CCSCServiceView::DynInitMenuPaneL - begin" );
     
-    if ( R_CSC_SERVICEVIEW_MENU == aResourceId && aMenuPane )
+    if ( R_CSC_SERVICEVIEW_MENU == aResourceId && aMenuPane && iContainer )
         {    
         TBool itemSpecificCommandsEnabled = 
             MenuBar()->ItemSpecificCommandsEnabled();
@@ -813,13 +813,13 @@
 void CCSCServiceView::TimerExpired()
     {
     CSCDEBUG( "CCSCServiceView::TimerExpired - begin" );
-    
+
     iStartupHandler.ResetUid( CCSCEngStartupHandler::EPluginUid );
     iOfferedPluginUids.Append( iPluginInfo.iPluginsUid );
-    
+
     CCSCNoteUtilities::TCSCNoteType 
         type = CCSCNoteUtilities::ECSCConfigureServiceQuery;
-     
+    TBool configure( EFalse );
     TRAP_IGNORE
         (
         if ( CCSCNoteUtilities::ShowCommonQueryL( 
@@ -827,37 +827,35 @@
            {        
            iServicePluginHandler.DoProvisioningL( 
                iPluginInfo.iPluginsUid, KCSCServiceViewId );
+           // User has accepted plugin configuration query.
+           // Return to avoid launching a new query on top of
+           // current configuration process.
+           configure = ETrue;
            }
         );
+    if ( configure )
+        {
+        return;
+        }
 
     iNextPluginIndex++;
     TInt pluginCount = iServicePluginHandler.PluginCount( 
-            CCSCEngServicePluginHandler::EInitialized );
-    
+        CCSCEngServicePluginHandler::EInitialized );
+
     for ( ; iNextPluginIndex < pluginCount; iNextPluginIndex++ )
         {
         CSCDEBUG2( "CCSCServiceView::TimerExpired -iNextPluginIndex = %d",
             iNextPluginIndex );
-        
+
         iPluginInfo =
             iServicePluginHandler.ItemFromPluginInfoArray( iNextPluginIndex );
-        
-        if ( KNullUid != iUid )
+
+        if ( KNullUid != iPluginInfo.iPluginsUid && !iPluginInfo.iProvisioned )
             {
-            if ( iUid == iPluginInfo.iPluginsUid && !iPluginInfo.iProvisioned )
-                {
-                iEngTimer->StartTimer( CCSCEngTimer::ENoteDelayTimer );
-                break;
-                }
+            iEngTimer->StartTimer( CCSCEngTimer::ENoteDelayTimer );
+            break;
             }
-        else
-            {
-            if ( !iPluginInfo.iProvisioned )
-                {
-                iEngTimer->StartTimer( CCSCEngTimer::ENoteDelayTimer );
-                break;
-                }
-            }
+
         }
     CSCDEBUG( "CCSCServiceView::TimerExpired - end" );
     }
--- a/commsconfig/cscengine/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscengine/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -28,6 +28,3 @@
 
 PRJ_MMPFILES
 cscengine.mmp
-
-PRJ_TESTMMPFILES
-//../internal/test/group/ut_cscengine.mmp
--- a/commsconfig/cscengine/src/cscengservicepluginhandler.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscengine/src/cscengservicepluginhandler.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -629,8 +629,23 @@
             }
         
         CleanupStack::PopAndDestroy( &serviceIds );
-        
-        iServicePluginInfoArray.Append( pluginInfo );
+
+        // Check if the plugin is already in array before appending.
+        TBool found( EFalse );
+        for ( TInt counter( 0 ); 
+            counter < iServicePluginInfoArray.Count();
+            counter++ )
+            {
+            if ( iServicePluginInfoArray[counter].iPluginsUid == 
+                pluginInfo.iPluginsUid )
+                {
+                found = ETrue;
+                }
+            }
+        if ( !found )
+            {
+            iServicePluginInfoArray.Append( pluginInfo );
+            }
         }
         
     CSCENGDEBUG( "CCSCEngServicePluginHandler::SetPluginInitInfoL - end" );
--- a/commsconfig/cscgsplugin/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscgsplugin/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -23,6 +23,3 @@
 
 PRJ_MMPFILES
 cscgsplugin.mmp
-
-PRJ_TESTMMPFILES
-//../internal/test/group/ut_cscgsplugin.mmp
\ No newline at end of file
--- a/commsconfig/cscsettingsui/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscsettingsui/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -27,6 +27,3 @@
 
 PRJ_MMPFILES
 cscsettingsui.mmp
-
-PRJ_TESTMMPFILES
-//../internal/Test/Group/UT_cscsettingsui.mmp
--- a/commsconfig/cscsipvoipcleanupplugin/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/commsconfig/cscsipvoipcleanupplugin/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -24,6 +24,3 @@
 
 PRJ_MMPFILES
 cscsipvoipcleanupplugin.mmp
-
-PRJ_TESTMMPFILES
-//../internal/test/Group/UT_cscsipvoipcleanupplugin.mmp
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/data/cchuinotif.rss	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/data/cchuinotif.rss	Tue Apr 27 16:28:03 2010 +0300
@@ -24,7 +24,7 @@
 #include <avkon.rsg>
 #include <eikon.rsg>
 #include <avkon.mbg>
-#include "cchui.loc"
+#include <cchui.loc>
 
 
 RESOURCE RSS_SIGNATURE { }
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -20,12 +20,10 @@
 DEFAULT
 
 PRJ_EXPORTS
+../loc/cchui.loc 		     APP_LAYER_LOC_EXPORT_PATH( cchui.loc )
 
 PRJ_MMPFILES
 ../group/cchuinotif.mmp
 ../ecom/cchuinotifwrapper.mmp
 
-PRJ_TESTMMPFILES
-//../internal/Test/T_CchUiNotif.mmp
-
 PRJ_TESTEXPORTS
--- a/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -443,7 +443,7 @@
     // In case of incoming call CallStateChanged() method handles
     // the deletion
     iListQueryDialog->RunLD();
-    
+    // coverity[check_after_deref]
     if( iListQueryDialog )
         {
         // write result, result now holds the item number
--- a/convergedconnectionhandler/cchclientapi/src/cchimpl.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/src/cchimpl.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -293,53 +293,53 @@
 //
 void CCchImpl::GetServicesL( TCCHSubserviceType aType, 
         RPointerArray<CCchService>& aServices )
-	{
-	TInt error = KErrNone;
-	TServiceSelection selection( 0, aType, ECchInitial );
-	CCHLOGSTRING( "CCchImpl::GetServices: IN" );
-	CCchServiceImpl* cchServiceImpl = NULL;
-	CArrayFixFlat<TCCHService>* cchServices;
-	cchServices = new (ELeave) CArrayFixFlat<TCCHService>(1);
-	CleanupStack::PushL( cchServices );
-	error = GetCchServicesL( 0, aType, *cchServices );
-	if( KErrNone == error )
-		{
-		for ( TInt i = 0; i < cchServices->Count(); i++ )
-			{
-			TCCHService service = cchServices->At( i );
-			TInt idx =idx = FindService( service.iServiceId );
-			if( idx == KErrNotFound )
-				{
-				cchServiceImpl = CCchServiceImpl::NewL( *this, service.iServiceId, 
-				    *iCchUi );
-				error = iCchServiceImpls.Append( cchServiceImpl );
-				if( error == KErrNone )
-					{
-					cchServiceImpl = iCchServiceImpls[ iCchServiceImpls.Count() - 1 ];
-					}
-				else
-					{
-					delete cchServiceImpl;
-					cchServiceImpl = NULL;
-					}
-				}
-			else
-				{
-				cchServiceImpl = iCchServiceImpls[ idx ];
-				}
-			error = aServices.Append( cchServiceImpl );
-			if( error )
-				{
-				delete cchServiceImpl;
-				cchServiceImpl = NULL;
-				}
-			}
-		}
-	cchServices->Reset();
-	CleanupStack::PopAndDestroy( cchServices );
-	CCHLOGSTRING( "CCchImpl::GetServices: OUT" );
-	User::LeaveIfError( error );
-	}
+    {
+    TInt error = KErrNone;
+    TServiceSelection selection( 0, aType, ECchInitial );
+    CCHLOGSTRING( "CCchImpl::GetServices: IN" );
+    CCchServiceImpl* cchServiceImpl = NULL;
+    CArrayFixFlat<TCCHService>* cchServices;
+    cchServices = new (ELeave) CArrayFixFlat<TCCHService>(1);
+    CleanupStack::PushL( cchServices );
+    error = GetCchServicesL( 0, aType, *cchServices );
+    if( KErrNone == error )
+        {
+        for ( TInt i = 0; i < cchServices->Count(); i++ )
+            {
+            TCCHService service = cchServices->At( i );
+            TInt idx = FindService( service.iServiceId );
+            if( idx == KErrNotFound )
+                {
+                cchServiceImpl = CCchServiceImpl::NewL( *this, service.iServiceId, 
+                    *iCchUi );
+                error = iCchServiceImpls.Append( cchServiceImpl );
+                if( error == KErrNone )
+                    {
+                    cchServiceImpl = iCchServiceImpls[ iCchServiceImpls.Count() - 1 ];
+                    }
+                else
+                    {
+                    delete cchServiceImpl;
+                    cchServiceImpl = NULL;
+                    }
+                }
+            else
+                {
+                cchServiceImpl = iCchServiceImpls[ idx ];
+                }
+            error = aServices.Append( cchServiceImpl );
+            if( error )
+                {
+                delete cchServiceImpl;
+                cchServiceImpl = NULL;
+                }
+            }
+        }
+    cchServices->Reset();
+    CleanupStack::PopAndDestroy( cchServices );
+    CCHLOGSTRING( "CCchImpl::GetServices: OUT" );
+    User::LeaveIfError( error );
+    }
 
 // ---------------------------------------------------------------------------
 // CCCHServiceHandler::FindService
--- a/convergedconnectionhandler/cchclientapi/src/cchserviceimpl.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchclientapi/src/cchserviceimpl.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -288,15 +288,11 @@
 	        	{
 	        	serviceConnInfoPckg().iIapId = aValue;
 	        	}
-            else if ( ECchReserved == aParameter )
+            else  // ECchReserved == aParameter
                 {
                 serviceConnInfoPckg().SetParameter( aParameter );
                 serviceConnInfoPckg().iReserved = aValue;
                 }
-            else
-                {
-                return KErrArgument;
-                }
     	    iCch.CchClient().SetConnectionInfo( serviceConnInfoPckg, status );
     	    //even the cchclient api seems to be asynchronous, 
     		//this method is completed immediately
--- a/convergedconnectionhandler/cchserver/src/cchnotehandler.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchserver/src/cchnotehandler.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -164,6 +164,7 @@
                     ECCHGprsRoamingCostWarningAlreadyShown );
                 }
             }
+            break;
         default:
             break;
         }
@@ -237,16 +238,32 @@
         const TInt aSoftKeyConfig,
         const TInt aSecondaryDisplayIndex )
     {
+    CCHLOGSTRING( "CCchNoteHandler::LaunchGlobalNoteL: IN" );
+    
     // Check there is global message query is shown at the moment
     if ( IsActive() )
         {
-        // add the message query info to array
-        TGlobalMsgQueryInfo msgQueryInfo;
-        msgQueryInfo.iResourceId = aResourceId;
-        msgQueryInfo.iSoftkeyId = aSoftKeyConfig;
-        msgQueryInfo.iSecondaryDisplayIndex = aSecondaryDisplayIndex;
+        TBool alreadyAdded( EFalse );       
+        for ( TInt i( 0 ) ; i < iMsgQueryInfoArray.Count() ; i++ )
+            {
+            if ( iMsgQueryInfoArray[ i ].iResourceId == aResourceId )
+                {
+                alreadyAdded = ETrue;
+                }
+            }
         
-        iMsgQueryInfoArray.AppendL( msgQueryInfo );
+        // Add to array only if note with same resource is not 
+        // already in array
+        if ( !alreadyAdded && ( iResourceId != aResourceId ) )
+            {
+            // add the message query info to array
+            TGlobalMsgQueryInfo msgQueryInfo;
+            msgQueryInfo.iResourceId = aResourceId;
+            msgQueryInfo.iSoftkeyId = aSoftKeyConfig;
+            msgQueryInfo.iSecondaryDisplayIndex = aSecondaryDisplayIndex;
+        
+            iMsgQueryInfoArray.AppendL( msgQueryInfo );
+            }
         }
     else
         {
@@ -264,6 +281,7 @@
         iMsgQueryInfoArray.AppendL( msgQueryInfo );
         }
         
+    CCHLOGSTRING( "CCchNoteHandler::LaunchGlobalNoteL: OUT" );
     }
 
 // -----------------------------------------------------------------------------
@@ -276,6 +294,8 @@
         const TInt aSoftKeyConfig,
         const TInt aSecondaryDisplayIndex )
     {
+    CCHLOGSTRING( "CCchNoteHandler::LaunchGlobalNoteL: IN" );
+    
     iResourceId = aResourceId;
     HBufC* textBuffer = LoadResourceL( aResourceId );
     CleanupStack::PushL( textBuffer );    
@@ -300,6 +320,8 @@
 
     CleanupStack::PopAndDestroy( textBuffer );
     SetActive();
+    
+    CCHLOGSTRING( "CCchNoteHandler::LaunchGlobalNoteL: OUT" );
     }
 
 // -----------------------------------------------------------------------------
--- a/convergedconnectionhandler/cchserver/src/cchservicehandler.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchserver/src/cchservicehandler.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -743,7 +743,7 @@
     }
 
 // ---------------------------------------------------------------------------
-// CCCHServiceHandler::UnloadPlugin
+// CCCHServiceHandler::UnloadDisabledPluginsL
 // (other items were commented in a header).
 // ---------------------------------------------------------------------------
 //
@@ -773,6 +773,7 @@
                 TCCHSubserviceState state = ECCHUninitialized;
                 
                 // subservice was found, so don't need to check return value
+                // coverity[check_return] coverity[unchecked_value]
                 iServices[ ixSer ]->GetStatus(
                      iServices[ ixSer ]->GetSubserviceType( ixSub ), state );
                      
--- a/convergedconnectionhandler/cchserver/src/cchserviceinfo.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/convergedconnectionhandler/cchserver/src/cchserviceinfo.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -515,7 +515,7 @@
         {
         // Create new instance and set service id
         subserviceInfo = 
-            CCCHSubserviceInfo::NewL( aSubservice.iConnectionInfo.iServiceSelection.iServiceId, iServer );
+            CCCHSubserviceInfo::NewLC( aSubservice.iConnectionInfo.iServiceSelection.iServiceId, iServer );
         // Set subserviceID
         subserviceInfo->SetSubserviceId( aSubservice.iSubserviceId );
         
@@ -536,6 +536,7 @@
         subserviceInfo->SetStartupFlag( startupFlag );        
         // Append pointer to array
         iSubservices.Append( subserviceInfo );
+        CleanupStack::Pop( subserviceInfo );
         }
    
     CCHLOGSTRING( "CCCHServiceInfo::AddSubserviceL: OUT" );
--- 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( 
--- a/sipvoipprovider/src/svpcontroller.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/sipvoipprovider/src/svpcontroller.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -48,6 +48,7 @@
 #include "svpemergencyiapprovider.h"
 #include "svprtpobserver.h"
 #include "svpsettings.h"
+#include "svptransferstatecontext.h"
 
 // ---------------------------------------------------------------------------
 // CSVPController::CSVPController
@@ -2148,12 +2149,22 @@
     if ( err )
         {
         SVPDEBUG2("CSVPController::IncomingRefer: err: %d", err )
-        // TRAP is used because of RejectL might leave.
-        TRAP( err, aRefer->RejectL() );
+        if ( err == KSVPErrTransferInProgress )
+            {
+            SVPDEBUG1( "CSVPController::IncomingRefer - transfer in progress \
+                -> ignore" )
+            }
+        else
+            {
+            // TRAP is used because of RejectL might leave.
+            SVPDEBUG1( "CSVPController::IncomingRefer -> reject" )
+            TRAP( err, aRefer->RejectL() );
         
-        if ( err )
-            {
-            SVPDEBUG2("CSspController::IncomingRefer: RejectL err: %d", err )
+            if ( err )
+                {
+                SVPDEBUG2("CSspController::IncomingRefer: RejectL err: \
+                    %d", err )
+                }
             }
         }
     
--- a/sipvoipprovider/svptransfer/src/svptransfercontroller.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/sipvoipprovider/svptransfer/src/svptransfercontroller.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -431,6 +431,14 @@
         delete headers;
         headers = NULL;
         }
+    
+    else if ( KSVPTransferPendingStateIndex == iTransferContext->CurrentState() )
+        {
+        SVPDEBUG1( "CSVPTransferController::IncomingReferL: not allowed \
+            -> ignore" )
+        User::Leave( KSVPErrTransferInProgress );
+        }
+    
     else
         {
         SVPDEBUG1( "CSVPTransferController::IncomingReferL: not allowed" )
--- a/voipplugins/sipconnectionprovider/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -25,6 +25,3 @@
 
 PRJ_MMPFILES
 sipconnectionprovider.mmp
-
-PRJ_TESTMMPFILES
-//../internal/t_sipconnectionprovider/Group/T_SIPConnectivityPlugin.mmp
--- a/voipplugins/sipconnectionprovider/inc/scpsipconnection.h	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/inc/scpsipconnection.h	Tue Apr 27 16:28:03 2010 +0300
@@ -85,6 +85,12 @@
      * @return Symbian error codes
      */  
     TInt Disable();
+    
+    /**
+     * Disables the connection ungracefully.
+     * @return Symbian error codes
+     */  
+    TInt ForceDisable();
 
     /**
      * Returns state of deregistration request
--- a/voipplugins/sipconnectionprovider/src/scpprofilehandler.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpprofilehandler.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -159,7 +159,7 @@
         TRAP( result, sipConnection = CreateSipConnectionL( aProfileId ) );
         }
 
-    if( result == KErrNone )
+    if( result == KErrNone && sipConnection )
         {
         sipConnection->GetState( aState, aError );
         }
@@ -333,7 +333,7 @@
     TInt ret = ( KErrNotFound );
     CScpSipConnection* sipConnection( NULL );
     
-    sipConnection =  GetSipConnection( aProfileId );
+    sipConnection = GetSipConnection( aProfileId );
     
     if ( sipConnection )
         {
--- a/voipplugins/sipconnectionprovider/src/scpservicehandlerbase.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpservicehandlerbase.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -145,7 +145,14 @@
             }
         else
             {
-            profileHandler.UnregisterProfile( sipProfileId );
+            error = profileHandler.UnregisterProfile( sipProfileId );
+            if ( KErrNotFound == error )
+                {
+                SCPLOGSTRING3(
+                        "CScpServiceHandlerBase[0x%x]::DeregisterProfile - No profile with ID: %d",
+                        this,
+                        sipProfileId );
+                }
             }
         }
 
@@ -193,6 +200,16 @@
     SCPLOGSTRING2( "CScpServiceHandlerBase[0x%x]::HandleSipProfileForcedDisable",
                    this );
 
+    CScpProfileHandler& profileHandler = iSubService.ProfileHandler();
+    
+    CScpSipConnection* sipConnection = 
+        profileHandler.GetSipConnection( iSubService.SipProfileId() );
+      
+    if ( sipConnection )
+        {
+        sipConnection->ForceDisable();
+        }
+    
     HandleSipConnectionEvent( iSubService.SipProfileId(), EScpDeregistered );
     }
 
--- a/voipplugins/sipconnectionprovider/src/scpservicestorage.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpservicestorage.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -158,14 +158,15 @@
                     CScpSubService* subService = 
                         service->GetSubService( subServiceIds[ j ] );
                     
-                    // Don't remove if there is at least one enabled or disconnectin
+                    // Don't remove if there is at least one enabled or disconnecting
                     // sub service
-                    if( subService->EnableRequestedState() == CScpSubService::EScpEnabled ||
-                        subService->State() == ECCHDisconnecting )
+                    if( subService && (
+                            subService->EnableRequestedState() == CScpSubService::EScpEnabled ||
+                            subService->State() == ECCHDisconnecting ) )
                         {
                         remove = EFalse;
                         }
-                    else
+                    else if ( subService )
                         {
                         service->RemoveSubService( subService->Id() );
                         }
@@ -472,8 +473,8 @@
             {
             CScpSubService* subService = service->GetSubService( subServiceIds[ j ] );
             
-            //if( subService->IsEnabled() )
-            if( subService->EnableRequestedState() == CScpSubService::EScpEnabled )
+            if( subService &&
+                    subService->EnableRequestedState() == CScpSubService::EScpEnabled )
                 {
                 enabledSubServices++;
                 }
--- a/voipplugins/sipconnectionprovider/src/scpsipconnection.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpsipconnection.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -240,6 +240,24 @@
     }
 
 // -----------------------------------------------------------------------------
+// CScpSipConnection::ForceDisable
+// -----------------------------------------------------------------------------
+//
+TInt CScpSipConnection::ForceDisable()
+    {
+    SCPLOGSTRING2( "CScpSipConnection[0x%x]::ForceDisable", this );
+
+    iRegistrationRequestState = EDeregistrationRequested;   
+    CancelEnableTimeoutTimer();
+    
+    delete iSipConnection;
+    iSipConnection = NULL;
+    
+    TInt err = iProfileRegistry.ForceDisable( *iSipProfile );
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
 // CScpSipConnection::DisableAlwaysOnModeL()
 // -----------------------------------------------------------------------------
 //
@@ -604,17 +622,18 @@
             result = KErrNotReady;
             }
         else
-            {
-            HBufC8* tmpUserName = HBufC8::NewLC( aors->MdcaPoint( 0 ).Length() );
-            tmpUserName->Des().Copy( aors->MdcaPoint( 0 ) );
+            {            
+            TBuf8<KUsernameMaxLength> tmpUserName;
+            tmpUserName.Copy( aors->MdcaPoint( 0 ) );
+            
             #ifdef _DEBUG
-                TBuf<256> tmpUri;
+                TBuf<KUsernameMaxLength> tmpUri;
                 tmpUri.Copy( aors->MdcaPoint( 0 ) );
                 SCPLOGSTRING2( "CScpSipConnection::GetUsername - use first registered AOR: %S", &tmpUri );
             #endif
-            TInt atPos = tmpUserName->Find( KSCPAt8 );
-            aUsername.Copy( tmpUserName->Left( atPos ) );
-            CleanupStack::PopAndDestroy( tmpUserName );
+                
+            TInt atPos = tmpUserName.Find( KSCPAt8 );
+            aUsername.Copy( tmpUserName.Left( atPos ) );
             }
         }
     SCPLOGSTRING2( "CScpSipConnection::GetUsername - return error: %d", result );
--- a/voipplugins/sipconnectionprovider/src/scpsubservice.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scpsubservice.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -526,7 +526,7 @@
                         CScpPresenceHandler* presenceHandler = static_cast<CScpPresenceHandler*>(
                             &iService.GetSubServiceByType( ECCHPresenceSub )->ServiceHandler() );
                             
-                        presenceHandler->UpdateXdmSettingsL();
+                        TRAP_IGNORE( presenceHandler->UpdateXdmSettingsL() );
                         }
                     }
                 }
--- a/voipplugins/sipmxresolver/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/sipmxresolver/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -27,7 +27,4 @@
 //sipmxresolver is included only in builds that have CCE
 sipmxresolver.mmp
 
-PRJ_TESTMMPFILES
-//../internal/tsrc/group/t_sipmxresolver.mmp
-
 // End of File
--- a/voipplugins/svtmatching/src/svturiparser.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/svtmatching/src/svturiparser.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -164,8 +164,8 @@
             }        
         else 
             {
-            // it is also possible that displayname is included 
-            // in, in case that there is no brackets around the uri. So if there is something
+            // it is also possible that displayname is included, in case there's
+            // no brackets around the uri. So if there is something
             // inside quotationMarks it should be used as displayname
     
             // check if displayname is found
@@ -177,14 +177,14 @@
                 && displayNameStart < displayNameEnd )
                 {
                 // displayname is included
-                // ++, to remove quotationMark from the start
-                aResult = aDisplayname.Create( resultStr.Mid( ++displayNameStart, 
-                    // -1, to remove quotationMark from the end
-                    displayNameEnd - displayNameStart - 1 ) );  
+                // +1, to remove quotationMark from the start
+                // -1, to remove quotationMark from the end
+                aResult = aDisplayname.Create( resultStr.Mid( displayNameStart + 1,
+                                       displayNameEnd - displayNameStart - 1 ) );
                 }                                
             else
                 {
-                // check if there is spaces in the uri, if there is
+                // check if there is spaces in the uri. If there is,
                 // everything before it belongs to display name                
                 TInt index = resultStr.LocateReverse( KSpaceMark );
                 
--- a/voipplugins/voipadapters/cpgenvoipsettings/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/cpgenvoipsettings/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -32,5 +32,3 @@
 ./wpgeneralvoipsettingsadapter.mmp
 
 // End of file
-PRJ_TESTMMPFILES
-//../../Internal/tsrc/UT_CPGeneralVoIPSettingsAdapter/Group/UT_CWPGeneralVoIPSettingsAdapter.mmp
--- a/voipplugins/voipadapters/cpvoipadapter/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/cpvoipadapter/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -30,7 +30,4 @@
 PRJ_MMPFILES
 ./wpvoipadapter.mmp
 
-PRJ_TESTMMPFILES
-//../internal/tsrc/Unit/UT_CWPVoIPAdapter/UT_CWPVoIPAdapter.mmp
-
 // End of file
--- a/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/cpvoipadapter/src/CWPVoIPAdapter.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -682,7 +682,8 @@
                 && iSetCodec )
                 {
                 typedef CWPVoIPCodec CMediaSubType;
-
+                // don't need to check value because of switch-default:
+                // coverity[check_return] coverity[unchecked_value]
                 DescToInt( tmpValue, tIntParameterValue );
 
                 switch ( tIntParameterValue )
--- a/voipplugins/voipadapters/dmgenvoipsettings/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/dmgenvoipsettings/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -27,6 +27,3 @@
 
 PRJ_MMPFILES
 ./NSmlDmGeneralVoIPSettingsAdapter.mmp
-
-PRJ_TESTMMPFILES
-//../internal/tsrc/Group/ut_cnsmldmgenvoipsetad.mmp
--- a/voipplugins/voipadapters/dmvoipadapter/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/dmvoipadapter/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -27,7 +27,3 @@
 
 PRJ_MMPFILES
 ./nsmldmvoipadapter.mmp
-
-PRJ_TESTMMPFILES
-//../internal/tsrc/Group/UT_CNSmlDmVoIPAdapter.mmp
-///EUnitTests/DMVoIP/tsrc/Group/UT_CNSmlDmVoIPAdapter.mmp
--- a/voipplugins/voipadapters/provisioningfile/group/bld.inf	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/provisioningfile/group/bld.inf	Tue Apr 27 16:28:03 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -26,9 +26,6 @@
 ../rom/provisioningfile.iby CORE_APP_LAYER_IBY_EXPORT_PATH( provisioningfile.iby )
 
 PRJ_MMPFILES
-
 ProvisioningFile.mmp
 
-PRJ_TESTMMPFILES
-//../internal/tsrc/UT_ProvisioningFile/group/T_ProvisioningFile.mmp
 // End of file.
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlutils.inl	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/inc/voipxmlutils.inl	Tue Apr 27 16:28:03 2010 +0300
@@ -16,7 +16,6 @@
 */
 
 
-#include "voipxmlutils.h"
 
 // ---------------------------------------------------------------------------
 // Pushes an item to CleanupStack.
--- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp	Wed Apr 14 15:49:55 2010 +0300
+++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp	Tue Apr 27 16:28:03 2010 +0300
@@ -133,6 +133,8 @@
             //       => KSoIpTOS
             const TInt ipTosShift( 2 );
             TInt value( KErrNotFound );
+            // don't need to check return value because 'TInt value' is checked
+            // coverity[check_return] coverity[unchecked_value]
             VoipXmlUtils::Des8ToInt( aValue, value );
             if ( 0 <= value )
                 {