Automatic merge from PDK_3.0.h CompilerCompatibility
authorWilliam Roberts <williamr@symbian.org>
Sun, 14 Mar 2010 13:11:16 +0000
branchCompilerCompatibility
changeset 8 27d173b4aadf
parent 6 f5380f579f8b (current diff)
parent 5 eed911ae68f2 (diff)
child 11 c1efdb9c339d
Automatic merge from PDK_3.0.h
sipplugins/sippsipsettingsui/inc/gssiptimer.h
sipplugins/sippsipsettingsui/src/gssiptimer.cpp
sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_gssiptimer.h
sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssiptimer.cpp
--- a/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp	Sun Mar 14 13:11:16 2010 +0000
@@ -86,6 +86,7 @@
 LIBRARY           netmeta.lib
 LIBRARY           centralrepository.lib
 LIBRARY 	  cmmanager.lib
+LIBRARY           commsdat.lib 
 
 VENDORID 0x70000001
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationmonitor.h	Sun Mar 14 13:11:16 2010 +0000
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Name        : sipphoneregistrationmonitor.h
+* Part of     : SIP Profile Agent / SIP IMS Agent
+* Version     : %version: 4 %
+*
+*/
+
+
+
+
+/**
+ @internalComponent
+*/
+
+#ifndef CSIPPHONEREGISTRATIONMONITOR_H
+#define CSIPPHONEREGISTRATIONMONITOR_H
+
+// INCLUDES
+#include <etelmm.h>
+
+// FORWARD DECLARATIONS
+class MSipPhoneRegistrationObserver;
+
+// CLASS DEFINITION
+/**
+ * Monitors the status of the phone's network registration.
+ * Notifies when the status changes. 
+ */
+class CSipPhoneRegistrationMonitor : public CActive
+	{
+	public:
+
+        /** Phone registration status */
+        enum TStatus
+            {
+            ENotRegistered,
+            ERegisteredOnHomeNetwork,
+		    ERegisteredRoaming  
+            };
+
+		static CSipPhoneRegistrationMonitor* NewL( 
+		    RTelServer& aTelServer,
+		    const RTelServer::TPhoneInfo& aPhoneInfo,
+		    MSipPhoneRegistrationObserver& aObserver );
+
+		~CSipPhoneRegistrationMonitor();
+
+	public: // New methods
+
+		TStatus Status() const;
+
+	protected: // From CActive
+	
+		void DoCancel();
+		void RunL();
+		TInt RunError(TInt aError);
+
+	private: // Constructors
+
+		/// Constructor
+		CSipPhoneRegistrationMonitor(		 
+		    MSipPhoneRegistrationObserver& aObserver );
+		
+		/// Default constructor, not implemented.
+		CSipPhoneRegistrationMonitor();
+
+		/// 2nd phase constructor
+		void ConstructL( 
+		    RTelServer& aTelServer,
+		    const RTelServer::TPhoneInfo& aPhoneInfo );
+		
+		void MonitorStatus();
+
+	private: // Data
+
+		MSipPhoneRegistrationObserver& iObserver;
+		RMobilePhone iPhone;
+		RMobilePhone::TMobilePhoneRegistrationStatus iRegistrationStatus;
+
+
+#ifdef CPPUNIT_TEST	
+	    friend class CSIPIMSProfileAgentTest;
+#endif				
+	};
+
+#endif // CSIPPHONEREGISTRATIONMONITOR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationobserver.h	Sun Mar 14 13:11:16 2010 +0000
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Name        : sipphoneregistrationobserver.h
+* Part of     : SIP Profile Agent / SIP IMS Agent
+* Version     : %version: 3 %
+*
+*/
+
+
+
+
+/**
+ @internalComponent
+*/
+
+#ifndef MSIPPHONEREGISTRATIONOBSERVER_H
+#define MSIPPHONEREGISTRATIONOBSERVER_H
+
+// INCLUDES
+#include <e32def.h>
+
+// CLASS DECLARATION
+/**
+* MSipPhoneRegistrationObserver defines an internal interface for observing 
+* phone's network registration status.
+*/
+class MSipPhoneRegistrationObserver
+    {
+    public: // Abstract methods
+
+        /**
+         * Called when the phone's network registration status changes.
+         */
+        virtual void PhoneRegistrationStatusChangedL() = 0;
+
+        /**
+         * Called when there is a fatal failure when monitoring
+         * the phone's network registration status.
+         * The user should delete the monitor.
+         * @param aError the failure reason
+         */
+        virtual void PhoneRegistrationStatusError( TInt aError ) = 0;
+    };
+
+#endif // MSIPPHONEREGISTRATIONOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/sipphoneregistrationmonitor.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -0,0 +1,173 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Name        : sipphoneregistrationmonitor.cpp
+// Part of     : SIP Profile Agent / IMS Agent
+// Version     : %version: 6 %
+//
+
+
+
+#include "sipphoneregistrationmonitor.h"
+#include "sipphoneregistrationobserver.h"
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::NewL
+// -----------------------------------------------------------------------------
+//
+CSipPhoneRegistrationMonitor* CSipPhoneRegistrationMonitor::NewL(
+    RTelServer& aTelServer,
+    const RTelServer::TPhoneInfo& aPhoneInfo, 
+    MSipPhoneRegistrationObserver& aObserver )
+	{
+	CSipPhoneRegistrationMonitor* self 
+	    = new( ELeave ) CSipPhoneRegistrationMonitor( aObserver );
+	CleanupStack::PushL( self );
+	self->ConstructL( aTelServer, aPhoneInfo );
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::CSipPhoneRegistrationMonitor
+// -----------------------------------------------------------------------------
+//
+CSipPhoneRegistrationMonitor::CSipPhoneRegistrationMonitor( 
+    MSipPhoneRegistrationObserver& aObserver )
+	: CActive( CActive::EPriorityStandard ),
+	  iObserver( aObserver ),
+	  iRegistrationStatus( RMobilePhone::ERegistrationUnknown )
+	{
+	CActiveScheduler::Add( this );
+	}
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::ConstructL
+// -----------------------------------------------------------------------------
+//
+#ifdef __WINSCW__
+
+void CSipPhoneRegistrationMonitor::ConstructL( 
+    RTelServer& /*aTelServer*/,
+    const RTelServer::TPhoneInfo& /*aPhoneInfo*/ )
+	{
+    iRegistrationStatus = RMobilePhone::ERegisteredOnHomeNetwork;
+	}
+
+#else
+
+void CSipPhoneRegistrationMonitor::ConstructL( 
+    RTelServer& aTelServer,
+    const RTelServer::TPhoneInfo& aPhoneInfo )
+	{
+	
+	User::LeaveIfError( iPhone.Open( aTelServer, aPhoneInfo.iName ) );
+
+    // Get current status
+    TRequestStatus status;
+    iPhone.GetNetworkRegistrationStatus( status, iRegistrationStatus );	
+    User::WaitForRequest( status );
+    User::LeaveIfError( status.Int() );
+		
+    // Start to monitor the status
+    MonitorStatus();
+	}
+    
+#endif
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::~CSipPhoneRegistrationMonitor
+// -----------------------------------------------------------------------------
+//
+CSipPhoneRegistrationMonitor::~CSipPhoneRegistrationMonitor()
+	{
+	Cancel();
+	iPhone.Close();
+	}
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::Status
+// -----------------------------------------------------------------------------
+//
+CSipPhoneRegistrationMonitor::TStatus 
+CSipPhoneRegistrationMonitor::Status() const
+	{
+	TStatus status = ENotRegistered;
+	switch ( iRegistrationStatus )
+	    {
+	    case RMobilePhone::ERegisteredOnHomeNetwork:
+	        status = ERegisteredOnHomeNetwork;
+	        break;
+	    case RMobilePhone::ERegisteredRoaming:
+	        status = ERegisteredRoaming;
+	        break;
+	    default:
+	        break;
+	    }
+	return status;
+	}
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CSipPhoneRegistrationMonitor::DoCancel()
+	{
+	iPhone.CancelAsyncRequest( 
+	    EMobilePhoneNotifyNetworkRegistrationStatusChange );
+	}
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::RunL
+// -----------------------------------------------------------------------------
+//
+void CSipPhoneRegistrationMonitor::RunL()
+	{
+	TInt err = iStatus.Int();
+	
+	if ( err )
+	    {
+	    iObserver.PhoneRegistrationStatusError( err );
+	    }
+	else
+	    {
+	    MonitorStatus();
+	    iObserver.PhoneRegistrationStatusChangedL();	
+	    }
+	}
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::RunError
+// -----------------------------------------------------------------------------
+//
+TInt CSipPhoneRegistrationMonitor::RunError(TInt aError)
+    {
+    iObserver.PhoneRegistrationStatusError( aError );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CSipPhoneRegistrationMonitor::MonitorStatus
+// -----------------------------------------------------------------------------
+//	
+void CSipPhoneRegistrationMonitor::MonitorStatus()
+	{
+#ifndef __WINSCW__
+
+	// Request further notification from ETel
+	iPhone.NotifyNetworkRegistrationStatusChange( iStatus,
+												  iRegistrationStatus );
+	SetActive();
+	
+#endif	
+	}
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h	Sun Mar 14 13:11:16 2010 +0000
@@ -676,6 +676,12 @@
         */
         void AddProfilesInCacheL(RPointerArray<CSIPConcreteProfile>& aProfiles,TBool aNotifyProfileCreation);
         
+		/**
+		* Gets the IAP Count in the Snap
+        * @return number of aIaps in the Snap
+        */
+        TInt IAPCountL(TUint32 aSnapId) const;
+        
 	private: // Data
 	
 		RFs										iFs;
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -49,6 +49,10 @@
 #include <sipsystemstatemonitor.h>
 #include <random.h>
 
+#include <CommsDatTypesV1_1.h>
+#include <MetaDatabase.h> 
+#include <commsdattypeinfov1_1_internal.h>
+using namespace CommsDat;
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -946,10 +950,10 @@
 //
 CSIPConcreteProfile::TStatus CSIPProfileServerCore::ForceDisableProfileL(
     TUint32 aProfileId,
-    const MSIPExtendedConcreteProfileObserver& aObserver)
+    const MSIPExtendedConcreteProfileObserver& /* aObserver */)
     {
     CSIPProfileCacheItem* item = ProfileCacheItemL(aProfileId);
-    (void)aObserver;
+    
     //When profile state is not unregistered, 
     //perform cleanup and send event notification
     
@@ -1771,22 +1775,29 @@
 TBool CSIPProfileServerCore::ShouldChangeIap(CSIPConcreteProfile& aProfile, TInt aError) const
 	{
 	PROFILE_DEBUG3("CSIPProfileServerCore::ShouldChangeIap, error", aError)
-	TUint32 dummySnapId(0);	
-	if ( aProfile.ExtensionParameter(KSIPSnapId, dummySnapId) == KErrNone &&
-	     !AnyRegisteredProfileUsesIap(aProfile.IapId()) )
+	TUint32 snapId(0);	
+	if ( aProfile.ExtensionParameter(KSIPSnapId, snapId) == KErrNone 
+	        && !AnyRegisteredProfileUsesIap(aProfile.IapId()) )
 	    {
 		PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap, snap is in use")
 
 	    // This profile uses a SNAP.
 	    // There are no registered profiles using the same IAP as this profile.
-	    
-        if ( aError == KErrTimedOut ||
-	         aError == KErrSIPResolvingFailure )
-	        {
-			PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap returns True")
-	        return ETrue;
-	        }
-	    }
+		
+		TUint iapCount(0);
+		TRAPD(err, iapCount = IAPCountL(snapId));
+		if(KErrNone == err)
+			{			
+			if ( (aError == KErrTimedOut ||
+				 aError == KErrSIPResolvingFailure) 
+				 && iapCount > 1)
+				{
+				PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap returns True")
+				return ETrue;
+				}
+			}
+			
+		}
 	PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap returns false")
     return EFalse;
 	}
@@ -1839,3 +1850,31 @@
 						aItem.Profile().Status(), ESipProfileItcOpProfileForciblyDisabled));
             }
     }
+	
+	
+// -----------------------------------------------------------------------------
+// CSIPProfileServerCore::IAPCount
+// -----------------------------------------------------------------------------
+//
+TInt CSIPProfileServerCore::IAPCountL(TUint32 aSnapId) const
+    {
+    const TUint KRecordId = aSnapId;
+	TUint32 count(0);
+	CMDBSession* db = CMDBSession::NewLC( KCDVersion1_2);
+	db->SetAttributeMask( ECDHidden );	
+	
+    //Load the Selection Policy record
+	CCDIAPPrioritySelectionPolicyRecord *selPolRecord = (CCDIAPPrioritySelectionPolicyRecord *)CCDRecordBase::RecordFactoryL(KCDTIdIapPrioritySelectionPolicyRecord);
+	
+	CleanupStack::PushL(selPolRecord);    
+    selPolRecord->SetRecordId(KRecordId);
+	
+    selPolRecord->LoadL( *db ); 
+	count = selPolRecord->iIapCount;
+	PROFILE_DEBUG3("CSIPProfileServerCore::IAPCount, IAP Count", count)
+	      
+    CleanupStack::PopAndDestroy(selPolRecord);
+	CleanupStack::PopAndDestroy( db );
+    return count;
+    }
+	
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -329,9 +329,11 @@
 	PROFILE_DEBUG5("CSipAlrMigrCtrl::SendMigrationResult iap,allow,obsCount",
 				   aIapId,
 				   aAllowed,
-				   iObservers.Count())	
-
-	for (TInt i = 0; i < iObservers.Count(); ++i)
+				   iObservers.Count())
+	    
+	    //Get the initial count of Observers
+	    TInt count = iObservers.Count();;
+	    for (TInt i = 0; i < count; ++i)
 		{
 		MSipAlrMigrationObserver& obs = iObservers[i].iObserver;
 		TRAPD(err, if (aAllowed)
@@ -348,6 +350,15 @@
 			PROFILE_DEBUG4("MigrationIs(Dis)AllowedL leaves err,index", err, i)
 			obs.ErrorOccurred(err);
 			}
+		// Check the Observer Count. It may be possible that Profile Could Not
+		// be registered (if migration is allowed). In such cases error handling
+		// for profile will be done, which will move Profile into Un-registered State
+		// As the profile moves into Un-registered state, profile is detached from
+		// the list of Observer which AlrMigrationController maintains. This dynamically
+		// changes the Observer count.
+        if(iObservers.Count() < count)
+              i--;
+        count = iObservers.Count();
 		}
 	}
 
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -255,7 +255,6 @@
 			{
 			aItem.HandleProfileError(err, aItem.Profile());
 			}
-		User::Leave(err);
 		}
 	}
 
--- a/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h	Sun Mar 14 13:11:16 2010 +0000
@@ -38,6 +38,12 @@
 * The user should provide credentials or ignore the challenge
 * using functions defined in TSIPHttpDigest class.
 *
+* MSIPHttpDigestChallengeObserver class is compliant with RFC 2543
+* where Proxy use to forward only one challenge when it receives 
+* multiple challenges on forking the request. Applications are 
+* encouraged to use MSIPHttpDigestChallengeObserver2 class which
+* provides interface to extract multiple challenges.
+* MSIPHttpDigestChallengeObserver2 class is compliant to RFC 3261
 *  @lib n/a
 */
 class MSIPHttpDigestChallengeObserver
--- a/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h	Sun Mar 14 13:11:16 2010 +0000
@@ -42,6 +42,10 @@
 * The user should provide credentials or ignore the challenge
 * using functions defined in CSIPHttpDigest class.
 *
+* Applications are encouraged to use implement below interface which
+* provides functions to extract multiple challenges.
+* MSIPHttpDigestChallengeObserver2 class is compliant to RFC 3261
+*
 *  @lib n/a
 */
 class MSIPHttpDigestChallengeObserver2
--- a/sipplugins/sippsipadapter/inc/CWPSIPAdapter.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipadapter/inc/CWPSIPAdapter.h	Sun Mar 14 13:11:16 2010 +0000
@@ -21,7 +21,7 @@
 
 // INCLUDES
 #include <CWPAdapter.h>
-#include <mwpcontextextension.h>
+#include <MWPContextExtension.h>
 
 // FORWARD DECLARATIONS
 class CWPCharacteristic;
--- a/sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -19,11 +19,11 @@
 // INCLUDE FILES
 #include <e32base.h>
 #include <CWPAdapter.h>
-#include <cwpcharacteristic.h>
-#include <cwpparameter.h>
+#include <CWPCharacteristic.h>
+#include <CWPParameter.h>
 #include <wpsipadapter.rsg>
 #include <utf.h>           // Unicode conversion
-#include <wpadapterutil.h>
+#include <WPAdapterUtil.h>
 #include <sipmanagedprofileregistry.h>
 #include <sipmanagedprofile.h>
 #include <mmf/common/mmfcontrollerpluginresolver.h>
--- a/sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss	Sun Mar 14 13:11:16 2010 +0000
@@ -127,16 +127,19 @@
             {
             command = EGSCmdAppEdit;
             txt = qtn_sip_edit;
+            flags = EEikMenuItemAction;
             },
 		MENU_ITEM
             {
             command = EGSCmdAppDelete;
             txt = qtn_sip_delete;
+            flags = EEikMenuItemSpecific;
             },
         MENU_ITEM
             {
             command = EGSCmdAppDefault;
             txt = qtn_sip_set_def_profile;
+            flags = EEikMenuItemSpecific;
             },
 #ifdef __SERIES60_HELP
         MENU_ITEM
--- a/sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp	Sun Mar 14 13:11:16 2010 +0000
@@ -55,7 +55,6 @@
 SOURCE				SIPSettListSIPSrvTakeOverCBAKeyPress.cpp
 SOURCE                          SIPSettIntegerSetPage.cpp 
 SOURCE                          SipSettIntegerEditItem.cpp
-SOURCE                          gssiptimer.cpp
 
 USERINCLUDE    		../inc
 USERINCLUDE         ../data
--- a/sipplugins/sippsipsettingsui/inc/gssiptimer.h	Mon Mar 08 21:43:52 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-// Copyright (c) 2002-2009 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"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:  Timer for Hight light listbox item Container
-//
-//
-
-
-#ifndef GSSIP_TIMER_H
-#define GSSIP_TIMER_H
-
-//  INCLUDES
-
-#include <coecntrl.h>
-#include <eiklbi.h>
-#include <aknlists.h>
-
-/**
-*  CGSSIPTimer class
-*/
-class  CGSSIPTimer: public CBase,
-                    public MBeating
-    {
-    public:  // Constructors and destructor
-        
-       /**
-        * Two-phased constructor.
-        * @return Pointer to created instance
-        */
-        static CGSSIPTimer* NewL( const CCoeControl& aContainer, 
-                CListItemDrawer& aListItemDrawer );
-        
-         /**
-         * Destructor.
-         */
-         virtual ~CGSSIPTimer();
-                
-         /**
-         * By default Symbian 2nd phase constructor is private.
-         */
-         void ConstructL();    
-                       
-      
-        /**
-        * Record beat count
-        */
-         void Beat();
-         
-        /**
-        * Synchronize
-        */
-         void Synchronize();
-         
-        /**
-        * Start timer
-        */
-         void StartTimer();
-         
-        /**
-        * Stop timer
-        */
-         void StopTimer();
-         
-        /**
-        * IsStarted()
-        */      
-         TBool IsStarted() const;
-              
-       
-    private:        
-        
-        /**
-         * C++ default constructor.        
-         */
-        CGSSIPTimer( const CCoeControl& aContainer, 
-                     CListItemDrawer& aListItemDrawer );                
-
-    public:
-        // Timer count 
-        TInt iTotal;
-
-    private: 
-    
-        // Timer
-        CHeartbeat* iHeart;
-        
-        //parameter iContainer
-        const CCoeControl& iContainer;
-        
-        //parameter iListItemDrawer
-        CListItemDrawer& iListItemDrawer;
-        
-        
-        // Check if timer is started
-        TBool iIfStart;
-        /**
-         * For testing purposes
-         */        
-        friend class UT_GSSIPTimer;
-    };
-
-#endif      // GSSIP_TIMER_H
-            
-// End of File
--- a/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h	Sun Mar 14 13:11:16 2010 +0000
@@ -28,7 +28,6 @@
 #include <aknlongtapdetector.h>
 #include <aknstyluspopupmenu.h>
 #include <eikmobs.h>
-#include "gssiptimer.h"
 // FORWARD DECLARATIONS
 
 class CSIPSettingsModel;
@@ -43,7 +42,6 @@
 *  container class for SIP Profiles view
 */
 class CSIPSettingsContainer : public CCoeControl,
-                              public MAknLongTapDetectorCallBack, 
                               public MEikMenuObserver
     {
     public:  // Constructors and destructor
@@ -58,26 +56,6 @@
          */
          void ProcessCommandL( TInt aCommandId );
          
-         /**
-         * Handle long type event
-         */ 
-         virtual void HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation );
-         
-         /**
-         * Handle pointer event
-         */
-         virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-         
-        /**
-        * Judge whether it is a pointer event
-        */
-         TBool IfPointerEvent();
-         
-        /**
-        * Get PenEventLocation
-        */
-         TPoint PenEventLocation();
-         
         /**
         * C++ default constructor.        
         */
@@ -186,15 +164,6 @@
         // The list box for showing the profiles and the status of each profile
         CListBox* iListBox;
         
-        //Get long press status
-        TBool LongPressStatus();
-        
-        // set long press
-        void SetLongPress( TBool aLongPress = ETrue );
-        
-        CAknLongTapDetector* LongTapDetector();
-        
-        TPointerEvent PointerEvent();
 
     protected: // Data
         TBool iLongPress;
@@ -206,19 +175,6 @@
         */
         MGsFWMSKObserver* iMSKObserver;  
         
-        // Long tap detector object for deciding whether showing stylus pop up menu.
-        CAknLongTapDetector* iLongTapDetector;    
-        
-        // stylus popup menu object for showing popup menu
-        CAknStylusPopUpMenu* iStylusPopupMenu;   
-        
-        //Timer 
-        CGSSIPTimer* iTimer;
-        
-        //Get pen event location
-        TPoint iPoint;
-
-        TPointerEvent iPointerEvent;
     };
 
 #endif      // SIP_SETTINGS_CONTAINER_H
--- a/sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h	Sun Mar 14 13:11:16 2010 +0000
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include <bamdesca.h>       // MDesCArray
-#include <aknutils.h>       // KMaxColumnDataLength
+#include <AknUtils.h>       // KMaxColumnDataLength
 #include "tsipsettingsdata.h"
 
 // FORWARD DECLARATIONS
--- a/sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h	Sun Mar 14 13:11:16 2010 +0000
@@ -26,7 +26,6 @@
 #include <aknlongtapdetector.h>
 #include <aknstyluspopupmenu.h>
 #include <eikmobs.h>
-#include "gssiptimer.h"
 // FORWARD DECLARATIONS
 
 class CSIPSettListSIPProfSetItemList;
@@ -70,10 +69,6 @@
         */
          virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent );
          
-        /**
-        * Judge whether it is a pointer event
-        */
-         TBool IfPointerEvent( );
     
     public: // New functions
         
@@ -153,8 +148,6 @@
         // The item list for changing the attributes of a profile
         CSIPSettListSIPProfSetItemList* iItemList;
 
-        CGSSIPTimer* iTimer;
-
     /**
     * For testing purposes
     */        
--- a/sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h	Sun Mar 14 13:11:16 2010 +0000
@@ -25,7 +25,6 @@
 #include <aknlongtapdetector.h>
 #include <aknstyluspopupmenu.h>
 #include <eikmobs.h>
-#include "gssiptimer.h"
 // FORWARD DECLARATIONS
 
 class CSIPSettListSIPSrvSetItemList;
@@ -69,11 +68,6 @@
         virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent );
         
         /**
-        * Judge whether it is a pointer event
-        */
-        TBool IfPointerEvent();
-       
-        /**
         * Opens the pop-up list to modify the selected list items
         * @param aCommand ID of the command to respond to
         */
@@ -150,9 +144,7 @@
         
         // Type of server view.
         TBool iProxyServerView;     
-
-        CGSSIPTimer* iTimer;
-          
+         
     };
 
 #endif      // SIP_SETT_LIST_SIP_SRV_SET_CONTAINER_H
--- a/sipplugins/sippsipsettingsui/src/gssipmodel.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/gssipmodel.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -195,6 +195,10 @@
 TBool CGSSIPModel::SaveProfileL()
     {
     __GSLOGSTRING("CGSSIPModel::SaveProfileL" )
+    if( iNewProfile )
+    	{
+    	return EFalse;
+    	}
     TBool modifications = ETrue;
     TInt err( KErrNone );
 
@@ -1199,9 +1203,9 @@
     
     if ( profile )
         {
-        profile->GetParameter( KSIPProfileRegistered, aIsUse );
         profile->GetParameter( KSIPDefaultProfile, aDefault );
         profile->GetParameter( KSIPProfileLocked, aLocked );
+        aIsUse = iEngine->IsInUseL( *profile );
         } 
     __GSLOGSTRING("CGSSIPModel::CheckProfileForDeleteL End" )
     }
--- a/sipplugins/sippsipsettingsui/src/gssiptimer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-// Copyright (c) 2002-2009 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"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:  Timer for Hight light listbox item Container
-//
-//
-
-
-// INCLUDE FILES
-
-#include "gssiptimer.h"
-#include  "gssippluginlogger.h"
-
-// LOCAL CONSTANTS AND MACROS
-const TInt KTimerPeriod = 6;
-
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::NewL()
-// -----------------------------------------------------------------------------
-//
-CGSSIPTimer* CGSSIPTimer::NewL( const CCoeControl& aContainer, 
-                                CListItemDrawer& aListItemDrawer )
-    {
-    __GSLOGSTRING("CGSSIPTimer::NewL" )
-    CGSSIPTimer* self = new( ELeave ) CGSSIPTimer( aContainer, aListItemDrawer );
-        
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::CGSSIPTimer()
-// -----------------------------------------------------------------------------
-//
-CGSSIPTimer::CGSSIPTimer( const CCoeControl& aContainer, 
-                          CListItemDrawer& aListItemDrawer )
-    : iTotal( 0 ),
-      iContainer ( aContainer ),
-      iListItemDrawer ( aListItemDrawer ),
-      iIfStart ( EFalse )
-    {
-    __GSLOGSTRING("CGSSIPTimer::CGSSIPTimer" )
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::~CGSSIPTimer()
-// DestructL.
-// -----------------------------------------------------------------------------
-//
-CGSSIPTimer::~CGSSIPTimer()
-    {
-    __GSLOGSTRING("CGSSIPTimer::~CGSSIPTimer" )
-    delete iHeart;
-    iHeart = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::ConstructL()
-// ConstructL.
-// -----------------------------------------------------------------------------
-//
-void CGSSIPTimer::ConstructL()
-    {
-    iHeart = CHeartbeat::NewL( CActive::EPriorityStandard );
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::StartTimer()
-// Start a Heart beat.
-// -----------------------------------------------------------------------------
-//
-void CGSSIPTimer::StartTimer()
-    {
-    __GSLOGSTRING("CGSSIPTimer::StartTimer" )
-    iTotal = 0;
-    
-    if ( !iIfStart )
-        {
-        iIfStart = ETrue;
-        iHeart->Start( ETwelveOClock, this );
-        }
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::StopTimer()
-// Stop a Heart beat.
-// -----------------------------------------------------------------------------
-//
-void CGSSIPTimer::StopTimer()
-    {
-    __GSLOGSTRING("CGSSIPTimer::StopTimer" )
-    if (iIfStart )
-        {
-         iHeart->Cancel();
-        iIfStart = EFalse;
-        iTotal = 0;
-        }
-    else
-        {
-        iListItemDrawer.SetFlags( CTextListItemDrawer::EDisableHighlight );
-        iContainer.DrawNow();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::Beat()
-// Count and stop stop.
-// -----------------------------------------------------------------------------
-//
-void CGSSIPTimer::Beat()
-    {
-    iTotal++;
-     if( iTotal >= KTimerPeriod )
-         {
-          StopTimer();
-          iListItemDrawer.SetFlags( CTextListItemDrawer::EDisableHighlight );
-          iContainer.DrawNow();
-         }
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::Synchronize()
-// Synchronize.
-// -----------------------------------------------------------------------------
-//
-void CGSSIPTimer::Synchronize()
-    {
-    return;
-    }
-
-// -----------------------------------------------------------------------------
-// CGSSIPTimer::IsStarted()
-// IsStarted.
-// -----------------------------------------------------------------------------
-//
-TBool CGSSIPTimer::IsStarted() const
-    {
-    return iIfStart;
-    }
-
-//  End of File  
--- a/sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -19,7 +19,7 @@
 // INCLUDE FILES
 #include    <StringLoader.h>
 #include    <escapeutils.h>
-#include    <aknutils.h>
+#include    <AknUtils.h>
 #include    <sipstrings.h>
 #include    <sipaddress.h>
 #include    <gssipsettingspluginrsc.rsg> //GUI Resource
--- a/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -23,11 +23,11 @@
 #include    <gssipsettingspluginrsc.rsg>
 #include    <gssipsettingsplugin.mbg>
 #include    <AknIconArray.h>
-#include    <aknsutils.h>     //for loading icons
+#include    <AknsUtils.h>     //for loading icons
 #include    <akntitle.h>
 #include    <eikspane.h>
 #include     <aknnavi.h>
-#include    <stringloader.h>
+#include    <StringLoader.h>
 #include    "sipsettingscontainer.h"
 #include    "sipsettingsmodel.h"
 #include    "sipsettingsplugin.h"
@@ -243,10 +243,6 @@
     naviContainer->PushDefaultL();
 
     CreateWindowL();
-    iLongTapDetector = CAknLongTapDetector::NewL( this );
-    
-    SetLongPress( EFalse );
-
     // Initialize list box outlook    
     iListBox = new ( ELeave ) CListBox;
     iListBox->SetContainerWindowL( *this );
@@ -311,9 +307,6 @@
         iListBox->SetCurrentItemIndex( aActiveIndex );
         }
 
-    iTimer = CGSSIPTimer::NewL( *this, *(iListBox->View()->ItemDrawer()) );
-    
-    iStylusPopupMenu = NULL;
     
     DrawNow();
     __GSLOGSTRING("CSIPSettingsContainer::ConstructL End" )
@@ -328,12 +321,6 @@
     {
     __GSLOGSTRING("CSIPSettingsContainer::~CSIPSettingsContainer" )
     delete iListBox;    
-    delete iLongTapDetector;
-    iLongTapDetector = NULL;
-    delete iStylusPopupMenu;
-    iStylusPopupMenu = NULL;
-    delete iTimer;
-    iTimer = NULL;
     }
 
 // -----------------------------------------------------------------------------
@@ -463,14 +450,6 @@
     TEventCode aType )
     {   
     __GSLOGSTRING("CSIPSettingsContainer::OfferKeyEventL" )
-    if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow )
-        {
-        iListBox->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight );
-
-        iTimer->StartTimer();
-
-        }
-
     if ( aType == EEventKey && aKeyEvent.iCode == EKeyBackspace )
         {
          iObs->HandleCommandL( EGSCmdAppDelete );
@@ -494,8 +473,6 @@
         {
         iListBox->SetFocus( IsFocused(), aDrawNow );
         }
-       iTimer -> StopTimer();
-          
     }
 
 // ---------------------------------------------------------------------------
@@ -532,41 +509,6 @@
     }  
 
 // -----------------------------------------------------------------------------
-// CSIPSettingsContainer::HandleLongTapEventL()
-// Responds to Long Tap Event
-// -----------------------------------------------------------------------------
-//
-void CSIPSettingsContainer::HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& /*aPenEventScreenLocation*/ )
-    {
-     __GSLOGSTRING("CSIPSettingsContainer::HandleLongTapEventL" )
-   
-    iPoint = aPenEventLocation;
-        
-    delete iStylusPopupMenu;
-    iStylusPopupMenu = NULL;
-         
-    iStylusPopupMenu = CAknStylusPopUpMenu::NewL( this , PenEventLocation() ); 
-    TResourceReader reader;  
-    iCoeEnv->CreateResourceReaderLC( reader, R_STYLUS_POPUP_MENU ); 
-    iStylusPopupMenu->ConstructFromResourceL( reader );  
-    CleanupStack::PopAndDestroy(); 
- 
-    iStylusPopupMenu->ShowMenu();  
-    iStylusPopupMenu->SetPosition( PenEventLocation() );
-    SetLongPress( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CSIPSettingsContainer::HandleLongTapEventL()
-// Responds to Long Tap Event
-// -----------------------------------------------------------------------------
-//
-TPoint CSIPSettingsContainer::PenEventLocation()
-    {
-     return iPoint;
-    }
-
-// -----------------------------------------------------------------------------
 // CSIPSettingsContainer::ProcessCommandL()
 // Handle ProcessCommandL
 // -----------------------------------------------------------------------------
@@ -576,10 +518,6 @@
     __GSLOGSTRING1("CSIPSettingsContainer::ProcessCommandL aCommand: %d", aCommand)
     switch( aCommand )    
         {
-        case EGSCmdAppEdit:
-            iObs->EditProfileL();
-        break;
-        
         case EGSCmdAppDelete:
             iObs->DeleteProfileL();
         break;
@@ -590,70 +528,9 @@
         break;
         }
     }
-
-// -----------------------------------------------------------------------------
-// CSIPSettingsContainer::HandlePointerEventL()
-// Responds to a Pointer Event.
-// -----------------------------------------------------------------------------
-//
-void CSIPSettingsContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    __GSLOGSTRING("CSIPSettingsContainer::HandlePointerEventL" )
-      iListBox->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight );
-      DrawNow();   
-      iPointerEvent = aPointerEvent;
-      CCoeControl::HandlePointerEventL( aPointerEvent );
-    }
-
-// -----------------------------------------------------------------------------
-// CSIPSettingsContainer::IfPointerEvent()
-// Check if it is Pointer Event.
-// -----------------------------------------------------------------------------
-//
-TBool CSIPSettingsContainer::IfPointerEvent()
-    {
-    __GSLOGSTRING("CSIPSettingsContainer::IfPointerEvent" )
-     return !( iTimer->IsStarted() );
-    }
-
 void CSIPSettingsContainer::SetEmphasis( CCoeControl* /*aMenuControl*/, TBool /*aEmphasis*/ )
     {
      
     }
 
-
-// -----------------------------------------------------------------------------
-// CSIPSettingsContainer::LongPressStatus()
-// Check if Long Press happen.
-// -----------------------------------------------------------------------------
-//
-TBool CSIPSettingsContainer::LongPressStatus()
-    {
-    return iLongPress;
-    }
-
-// -----------------------------------------------------------------------------
-// CSIPSettingsContainer::SetLongPress()
-// Set Long Press.
-// -----------------------------------------------------------------------------
-//
-void CSIPSettingsContainer::SetLongPress(TBool aLongPress )
-    {
-    __GSLOGSTRING("CSIPSettingsContainer::SetLongPress" )
-    this->iLongPress = aLongPress;
-    }
-
-
-CAknLongTapDetector* CSIPSettingsContainer::LongTapDetector()
-	{
-	return iLongTapDetector;
-	}
-
-
-TPointerEvent CSIPSettingsContainer::PointerEvent()
-	{
-	return iPointerEvent;
-	}
-
-
 //  End of File  
--- a/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -79,7 +79,7 @@
     iResourceLoader.Close();
     
     delete iModel;
-       delete iHandler;
+    delete iHandler;
     }
 
 // -----------------------------------------------------------------------------
@@ -481,21 +481,11 @@
     {
     __GSLOGSTRING("CSIPSettingsPlugin::HandleListBoxEventL " )
     __GSLOGSTRING1("CSIPSettingsPlugin::HandleListBoxEventL aEventType: %d", aEventType)
-     
-    if( EEventPenDownOnItem == aEventType )
-        {
-        iContainer->LongTapDetector()->PointerEventL( iContainer->PointerEvent() );
-        return;
-        }
     if( EEventItemSingleClicked == aEventType ||
     		  EEventEnterKeyPressed == aEventType )
 	    {
-    	if ( !iContainer->LongPressStatus() )
-    	    {
     	    EditProfileL();
-    	    }
 	    }
-	    iContainer ->SetLongPress( EFalse );
     }
 
 // -----------------------------------------------------------------------------
@@ -718,18 +708,11 @@
     {    
     __GSLOGSTRING("CSIPSettingsPlugin::DynInitMenuPaneL" )
     // Delete Help item if feature is not supported
-    if( aResourceId == R_GS_SIP_PROFILE_LIST_VIEW_MENU ) 
+    if( aResourceId == R_GS_SIP_PROFILE_LIST_VIEW_MENU && 
+		!FeatureManager::FeatureSupported( KFeatureIdHelp ) ) 
         {
-        if ( iContainer->IfPointerEvent() )
-            {
-            aMenuPane->SetItemDimmed( EGSCmdAppEdit, ETrue );
-            aMenuPane->SetItemDimmed( EGSCmdAppDelete, ETrue );
-            aMenuPane->SetItemDimmed( EGSCmdAppDefault, ETrue );
-            }
-        if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
+
             aMenuPane->DeleteMenuItem( EAknCmdHelp );
-            }
         }    
         
     if ( aResourceId == R_GS_SIP_PROFILE_LIST_VIEW_MENU && 
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -80,8 +80,6 @@
     
     iItemList->ListBox()->SetCurrentItemIndex( Uiindex );    
     DrawNow();
-    
-    iTimer = CGSSIPTimer::NewL( *this, *(iItemList->ListBox()->View()->ItemDrawer()) );
     }
 
 // -----------------------------------------------------------------------------
@@ -113,8 +111,6 @@
     {
     __GSLOGSTRING("CSIPSettListSIPProfSetContainer::~CSIPSettListSIPProfSetContainer" )  
     delete iItemList;
-    delete iTimer;
-    iTimer = NULL;
     }
 
 // -----------------------------------------------------------------------------
@@ -205,15 +201,7 @@
     TEventCode aType )
     {
     __GSLOGSTRING("CSIPSettListSIPProfSetContainer::OfferKeyEventL" ) 
-    // Pass the key event to list box
-    if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow )
-        {
-        iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight );
-
-        iTimer->StartTimer();
-
-        }
-    
+   
     return iItemList->OfferKeyEventL( aKeyEvent, aType );
     }
     
@@ -230,8 +218,6 @@
         {
       iItemList->SetFocus( IsFocused(), aDrawNow );
         }
-        iTimer->StopTimer();
-
     }
 
 // ---------------------------------------------------------------------------
@@ -273,20 +259,6 @@
 void CSIPSettListSIPProfSetContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
     {
     __GSLOGSTRING("CSIPSettListSIPProfSetContainer::HandlePointerEventL" )
-     iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight );
-     DrawNow();    
      CCoeControl::HandlePointerEventL( aPointerEvent );
     }
-
-// -----------------------------------------------------------------------------
-// CSIPSettListSIPProfSetContainer::IfPointerEvent()
-// Check if it is Pointer Event.
-// -----------------------------------------------------------------------------
-//
-TBool CSIPSettListSIPProfSetContainer::IfPointerEvent()
-    {
-     return !( iTimer->IsStarted() );
-    }
-
-//Second
 //  End of File  
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -24,7 +24,7 @@
 #include    <akntitle.h>
 #include    <hlplch.h>
 #include    <featmgr.h>
-#include    <stringloader.h>
+#include    <StringLoader.h>
 #include    "sipsettlistsipprofsetview.h"
 #include    "sipsettlistsipprofsetcontainer.h"
 #include    "sipsettlistsipprofsetmodel.h"
@@ -292,7 +292,7 @@
     if( aResourceId == R_GS_SIP_PROFILE_SETTING_VIEW_MENU ) 
         {
         // iView might be NULL
-        if( iView && iView->IfPointerEvent() )
+        if( iView )
             {
             aMenuPane->SetItemDimmed( EGSCmdAppChange, ETrue );
             }
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -75,7 +75,6 @@
     // Set limits to the view & activate it
     SetRect( aRect );    
     ActivateL();
-    iTimer = CGSSIPTimer::NewL( *this, *(iItemList->ListBox()->View()->ItemDrawer()) );
     __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::ConstructL End" )  
     }
 
@@ -108,8 +107,6 @@
     {    
     __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::~CSIPSettListSIPSrvSetContainer" )
     delete iItemList;
-    delete iTimer;
-    iTimer = NULL;
     }
 
 // -----------------------------------------------------------------------------
@@ -192,13 +189,7 @@
     {
     __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::OfferKeyEventL" )
     // Pass the key event to list box
-    if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow )
-        {
-        iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight );
-        DrawNow();
-        iTimer->StartTimer();
 
-        }
     return iItemList->OfferKeyEventL( aKeyEvent, aType );    
     }
 
@@ -215,7 +206,6 @@
         iItemList->SetFocus( IsFocused(), aDrawNow );
         }
     
-            iTimer->StopTimer();
      
         CCoeControl::FocusChanged( aDrawNow );
     
@@ -267,8 +257,6 @@
 void CSIPSettListSIPSrvSetContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
     {
     __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::HandlePointerEventL" ) 
-     iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight );
-     DrawNow();
      CCoeControl::HandlePointerEventL( aPointerEvent );
     }
 
@@ -277,10 +265,7 @@
 // Check if it is Pointer Event.
 // -----------------------------------------------------------------------------
 //
-TBool CSIPSettListSIPSrvSetContainer::IfPointerEvent()
-    {
-    return !( iTimer->IsStarted() );
-    }
+
 
 //Third
 //  End of File  
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include    <aknViewAppUi.h>
 #include    <akntitle.h>
-#include    <stringloader.h>
+#include    <StringLoader.h>
 #include    <hlplch.h>
 #include    <featmgr.h>
 #include    <gssipsettingspluginrsc.rsg> //GUI Resource
@@ -217,7 +217,7 @@
     if( aResourceId == R_GS_SIP_SERVER_SETTING_VIEW_MENU ) 
         {
         // iView might be NULL
-        if( iView && iView->IfPointerEvent() )
+        if( iView )
         	{
         	aMenuPane->SetItemDimmed( EGSCmdAppChange, ETrue );
         	}
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp	Sun Mar 14 13:11:16 2010 +0000
@@ -30,7 +30,6 @@
 SOURCEPATH              ../src
 SOURCE                  ut_sipsettingsplugindllmain.cpp
 SOURCE                  ut_gssipprofileutil.cpp
-SOURCE                  ut_gssiptimer.cpp
 SOURCE                  ut_sipsettlistsipsrvsetview.cpp
 SOURCE                  ut_sipsettListsipprofsetview.cpp
 SOURCE                  ut_sipsettingscontainer.cpp
@@ -51,7 +50,6 @@
 // Tested classes
 SOURCEPATH              ../../../src
 SOURCE					gssipprofileutil.cpp
-SOURCE					gssiptimer.cpp
 SOURCE                                  sipsettlistsipsrvsetview.cpp
 SOURCE                                  sipsettlistsipregsetview.cpp
 SOURCE                                  gssipmodel.cpp
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_gssiptimer.h	Mon Mar 08 21:43:52 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-
-/*
-* Copyright (c) 2006 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"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*
-*/
-
-
-#ifndef __UT_GSSIPTIMER_H__
-#define __UT_GSSIPTIMER_H__
-
-
-//  EXTERNAL INCLUDES
-#include <ceunittestsuiteclass.h>
-#include <eunitmacros.h>
-
-#include "gssiptimer.h"
-
-//  FORWARD DECLARATIONS
-class CGSSIPTimer;
-
-
-//  CLASS DEFINITION
-/**
- * Tester class for UT_GSSIPTimer. 
- * 
- */
-class UT_GSSIPTimer : public CEUnitTestSuiteClass
-    {
-    public:     // Constructors and destructors
-
-        /**
-         * Two phase construction
-         */
-        static UT_GSSIPTimer* NewL();
-        static UT_GSSIPTimer* NewLC();
-        
-        /**
-         * Destructor
-         */
-        ~UT_GSSIPTimer();
-
-    private: // Constructors and destructors
-
-        UT_GSSIPTimer();
-        void ConstructL();
-        
-    private: // Test case setup and teardown
-
-        void SetupL();
-
-        void Teardown();
-
-    private: // Test methods
-        void UT_GSSIPTimer_Beat();
-        void UT_GSSIPTimer_Synchronize();
-        void UT_GSSIPTimer_StartTimer();
-        void UT_GSSIPTimer_StopTimer();
-        void UT_GSSIPTimer_IsStarted();
-        
-    private:    // Data
-        EUNIT_DECLARE_TEST_TABLE;
-        CGSSIPTimer* iTimer;
-        CCoeControl* iCoeControl;
-        CTextListItemDrawer* iItemDraw;
-
-    };
-
-#endif  // __UT_GSSIPTIMER_H__
-
-// End of file
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h	Sun Mar 14 13:11:16 2010 +0000
@@ -64,16 +64,9 @@
     private: // Test methods
 		void UT_CSIPSettingsContainer_OfferKeyEventLL();
         void UT_CSIPSettingsContainer_FocusChangedL();
-        void UT_CSIPSettingsContainer_HandleLongTapEventLL();
         void UT_CSIPSettingsContainer_ProcessCommandLL();
-        void UT_CSIPSettingsContainer_HandlePointerEventLL();
-        void UT_CSIPSettingsContainer_IfPointerEventL();
         void UT_CSIPSettingsContainer_SetEmphasisL();
-        void UT_CSIPSettingsContainer_LongPressStatusL();
-        void UT_CSIPSettingsContainer_SetLongPressL();
-        void UT_CSIPSettingsContainer_StylusPopupMenuL();
-        void UT_CSIPSettingsContainer_SetStylusPopupMenuL();
-        void UT_CSIPSettingsContainer_PenEventLocationL();
+
         
     private:    // Data
 
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h	Sun Mar 14 13:11:16 2010 +0000
@@ -74,8 +74,6 @@
         void TestOfferKeyEventL();
         void TestHandleResourceChange();
         void TestGetHelpContext();
-        void TestHandlePointerEventL();
-        void TestIfPointerEvent();
         void TestFocusChanged();
         
     private:    // Data
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -117,8 +117,7 @@
 // -----------------------------------------------------------------------------
 //	
 CSIPManagedProfile::CSIPManagedProfile(CSIPManagedProfileRegistry* aRegistry) 
-    :  CSIPProfile( aRegistry ),
-       iProfileReg( aRegistry )
+    :  CSIPProfile( aRegistry )
 	{
 	}
 
@@ -306,8 +305,6 @@
     //const CSIPManagedProfile* temp = this;
     //return new (ELeave) CSIPManagedProfile(*this);
     //return this;
-    CSIPManagedProfile* rValue = 
-                    CSIPManagedProfile::NewLC( iProfileReg );
+    return NULL;
 
-    return rValue;
     }
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -150,7 +150,6 @@
 		settingsData.iSNAPIndex = KDefaultSNAP;
 		settingsData.iAPIndex = KAccessPointIdValue;
 		settingsData.iCompression = KSigCompValue;
-		settingsData.iRegistrationMode = EGSAlwaysOnHome;
 		settingsData.iSecurity = KSecurityNegotiationValue;
 		settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue;
 		settingsData.iServiceProfile.iSIPProfileClass = 
@@ -182,7 +181,6 @@
 		settingsData.iSNAPIndex = KSnapIdValue;
 		settingsData.iAPIndex = KAccessPointIdValue + 1;
 		settingsData.iCompression = KSigCompValue;
-		settingsData.iRegistrationMode = EGSAlwaysOnHome;
 		settingsData.iSecurity = KSecurityNegotiationValue;
 		settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue;
 		settingsData.iServiceProfile.iSIPProfileClass = 
@@ -212,7 +210,6 @@
 		settingsData.iSNAPIndex = KDefaultSNAP;
 		settingsData.iAPIndex = KAccessPointIdValue + 1;
 		settingsData.iCompression = KSigCompValue;
-		settingsData.iRegistrationMode = EGSAlwaysOnHome;
 		settingsData.iSecurity = KSecurityNegotiationValue;
 		settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue;
 		settingsData.iServiceProfile.iSIPProfileClass = TSIPProfileTypeInfo::EInternet;
@@ -241,7 +238,6 @@
 		settingsData.iSNAPIndex = KSnapIdValue + 1;
 		settingsData.iAPIndex = KAccessPointIdValue + 1;
 		settingsData.iCompression = KSigCompValue;
-		settingsData.iRegistrationMode = EGSAlwaysOnHome;
 		settingsData.iSecurity = KSecurityNegotiationValue;
 		settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue;
 		settingsData.iServiceProfile.iSIPProfileClass = TSIPProfileTypeInfo::EInternet;
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssiptimer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2006 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"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*
-*/
-
-
-//  INTERNAL INCLUDES
-
-#include "ut_gssiptimer.h"
-
-//  SYSTEM INCLUDES
-#include <eunitmacros.h>
-
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_GSSIPTimer* UT_GSSIPTimer::NewL()
-    {
-    UT_GSSIPTimer* self = UT_GSSIPTimer::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_GSSIPTimer* UT_GSSIPTimer::NewLC()
-    {
-    UT_GSSIPTimer* self = new( ELeave ) UT_GSSIPTimer();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_GSSIPTimer::~UT_GSSIPTimer()
-    {
-    // NOP
-    }
-
-
-// -----------------------------------------------------------------------------
-// Default constructor
-// -----------------------------------------------------------------------------
-//
-UT_GSSIPTimer::UT_GSSIPTimer()
-    {
-    // NOP
-    }
-
-
-// -----------------------------------------------------------------------------
-// Second phase construct
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::ConstructL()
-    {
-    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
-    // It generates the test case table.
-    CEUnitTestSuiteClass::ConstructL();
-    }
-    
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::SetupL()
-    {
-    CCoeControl* coeControl = new ( ELeave ) CCoeControl;
-    CTextListItemDrawer* itemDraw = new ( ELeave ) CTextListItemDrawer;
-    iTimer = CGSSIPTimer::NewL( *coeControl, *itemDraw );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::Teardown()
-    {
-    delete iItemDraw;
-    iItemDraw = NULL;
-    
-    delete iCoeControl;
-    iCoeControl = NULL;
-    
-    delete iTimer;
-    iTimer = NULL;
-    }
-
-
-
-// TEST CASES
-
-// -----------------------------------------------------------------------------
-// UT_GSSIPTimer_Beat()
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::UT_GSSIPTimer_Beat()
-    {
-    const TInt KTimerPeriod = 6;
-    
-    iTimer->iIfStart = EFalse;
-    iTimer->iTotal = KTimerPeriod - 1;
-    iTimer->Beat();
-    EUNIT_ASSERT_EQUALS( iTimer->iTotal, KTimerPeriod );
-    EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse );   
-    
-    iTimer->iIfStart = ETrue;
-    iTimer->iTotal = KTimerPeriod - 1;
-    iTimer->Beat();
-    EUNIT_ASSERT_EQUALS( iTimer->iTotal, 0 );
-    EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse );   
-    
-    iTimer->Beat();
-    EUNIT_ASSERT_EQUALS( iTimer->iTotal, 1 );
-    }
-
-
-// -----------------------------------------------------------------------------
-// UT_GSSIPTimer_Synchronize()
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::UT_GSSIPTimer_Synchronize()
-    {
-    iTimer->Synchronize();
-    EUNIT_ASSERT( ETrue );
-    }
-
-
-// -----------------------------------------------------------------------------
-// UT_GSSIPTimer_StartTimer()
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::UT_GSSIPTimer_StartTimer()
-    {
-    iTimer->iTotal = 2;
-    iTimer->iIfStart = EFalse;
-    iTimer->StartTimer();
-    EUNIT_ASSERT_EQUALS( iTimer->iIfStart, ETrue );
-    EUNIT_ASSERT_EQUALS( iTimer->iTotal, 0 )  
-    
-    iTimer->iTotal = 2;
-    iTimer->iIfStart = ETrue;
-    iTimer->StartTimer();
-    EUNIT_ASSERT_EQUALS( iTimer->iIfStart, ETrue );
-    EUNIT_ASSERT_EQUALS( iTimer->iTotal, 0 )
-    }
-
-
-// -----------------------------------------------------------------------------
-// UT_GSSIPTimer_StopTimer()
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::UT_GSSIPTimer_StopTimer()
-    {
-    iTimer->iIfStart = EFalse;
-    iTimer->StopTimer();
-    EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse );
-          
-    iTimer->iIfStart = ETrue;
-    iTimer->StopTimer();
-    EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse );   
-    }
-
-
-// -----------------------------------------------------------------------------
-// UT_GSSIPTimer_IsStarted()
-// -----------------------------------------------------------------------------
-//
-void UT_GSSIPTimer::UT_GSSIPTimer_IsStarted()
-    {
-    iTimer->iIfStart = EFalse;
-    EUNIT_ASSERT_EQUALS( iTimer->IsStarted(), EFalse );
-    
-    iTimer->iIfStart = ETrue;
-    EUNIT_ASSERT_EQUALS( iTimer->IsStarted(), ETrue );   
-    }
-
-
-//  TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
-    UT_GSSIPTimer,
-    "UT_GSSIPTimer",
-    "UNIT" )
-    
-EUNIT_TEST(
-    "Beat - test ",
-    "UT_GSSIPTimer",
-    "Beat",
-    "FUNCTIONALITY",
-    SetupL, UT_GSSIPTimer_Beat, Teardown)    
-
-EUNIT_TEST(
-    "Synchronize - test ",
-    "UT_GSSIPTimer",
-    "Synchronize",
-    "FUNCTIONALITY",
-    SetupL, UT_GSSIPTimer_Synchronize, Teardown)    
-
-EUNIT_TEST(
-    "StartTimer - test ",
-    "UT_GSSIPTimer",
-    "StartTimer",
-    "FUNCTIONALITY",
-    SetupL, UT_GSSIPTimer_StartTimer, Teardown)    
-
-EUNIT_TEST(
-    "StopTimer - test ",
-    "UT_GSSIPTimer",
-    "StopTimer",
-    "FUNCTIONALITY",
-    SetupL, UT_GSSIPTimer_StopTimer, Teardown)    
-    
-EUNIT_TEST(
-    "IsStarted - test ",
-    "UT_GSSIPTimer",
-    "IsStarted",
-    "FUNCTIONALITY",
-    SetupL, UT_GSSIPTimer_IsStarted, Teardown)        
-        
-EUNIT_END_TEST_TABLE
-
-//  END OF FILE
-
-
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -157,15 +157,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_HandleLongTapEventLL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_HandleLongTapEventLL()
-	{
-    //Yes
-    }
-
-// -----------------------------------------------------------------------------
 // UT_CSIPSettingsContainer_ProcessCommandLL()
 // -----------------------------------------------------------------------------
 //
@@ -190,24 +181,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_HandlePointerEventLL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_HandlePointerEventLL()
-	{
-	//Yes
-    }
-
-// -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_IfPointerEventL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_IfPointerEventL()
-	{
-	//Yes
-    }
-
-// -----------------------------------------------------------------------------
 // UT_CSIPSettingsContainer_SetEmphasisL()
 // -----------------------------------------------------------------------------
 //
@@ -216,86 +189,6 @@
 	iSipSettingsContainer->SetEmphasis(NULL,NULL);
     }
 
-// -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_LongPressStatusL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_LongPressStatusL()
-	{
-	TBool result = EFalse;
-
-	iSipSettingsContainer->iLongPress = ETrue;
-	result = iSipSettingsContainer->LongPressStatus();
-	EUNIT_ASSERT_EQUALS( result, ETrue ); 
-	
-	iSipSettingsContainer->iLongPress = EFalse;
-	result = iSipSettingsContainer->LongPressStatus();
-	EUNIT_ASSERT_EQUALS( result, EFalse ); 
-    }
-
-// -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_SetLongPress()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_SetLongPressL()
-	{
-	iSipSettingsContainer->SetLongPress(ETrue);
-	EUNIT_ASSERT_EQUALS( iSipSettingsContainer->iLongPress, ETrue ); 
-	
-	iSipSettingsContainer->SetLongPress(EFalse);
-	EUNIT_ASSERT_EQUALS( iSipSettingsContainer->iLongPress, EFalse ); 
-    }
-
-// -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_StylusPopupMenuL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_StylusPopupMenuL()
-	{
-	CAknStylusPopUpMenu *result = NULL;
-	result = iSipSettingsContainer->StylusPopupMenu();
-	}
-
-// -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_SetStylusPopupMenuL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_SetStylusPopupMenuL()
-	{
-	CAknStylusPopUpMenu *styluspopupmenu = NULL;
-	styluspopupmenu = iSipSettingsContainer->iStylusPopupMenu;
-	
-	iSipSettingsContainer->SetStylusPopupMenu(NULL);
-	EUNIT_ASSERT(iSipSettingsContainer->iStylusPopupMenu == NULL);
-	
-	iSipSettingsContainer->iStylusPopupMenu = styluspopupmenu;
-	
-	}
-
-// -----------------------------------------------------------------------------
-// UT_CSIPSettingsContainer_PenEventLocationL()
-// -----------------------------------------------------------------------------
-//
-void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_PenEventLocationL()
-	{
-	TPoint oldpoint;
-	
-	TPoint point;
-	point.iX = 10;
-	point.iY = 10;
-	
-	TPoint pointresult;
-	
-	oldpoint = iSipSettingsContainer->iPoint;
-	iSipSettingsContainer->iPoint = point;
-	pointresult = iSipSettingsContainer->PenEventLocation();
-	EUNIT_ASSERT_EQUALS( pointresult.iX, 10 );
-	EUNIT_ASSERT_EQUALS( pointresult.iY, 10 );
-	
-	iSipSettingsContainer->iPoint = oldpoint;
-	}
-
-
 //  TEST TABLE
 
 EUNIT_BEGIN_TEST_TABLE(
@@ -318,13 +211,6 @@
     SetupL, UT_CSIPSettingsContainer_FocusChangedL, Teardown)
     
 EUNIT_TEST(
-    "HandleLongTapEventL - test ",
-    "CSIPSettingsContainer",
-    "HandleLongTapEventL",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_HandleLongTapEventLL, Teardown)
-    
-EUNIT_TEST(
     "ProcessCommandL - test ",
     "CSIPSettingsContainer",
     "ProcessCommandL",
@@ -332,61 +218,12 @@
     SetupL, UT_CSIPSettingsContainer_ProcessCommandLL, Teardown)
     
 EUNIT_TEST(
-    "HandlePointerEventL - test ",
-    "CSIPSettingsContainer",
-    "HandlePointerEventL",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_HandlePointerEventLL, Teardown)
-    
-EUNIT_TEST(
-    "IfPointerEvent - test ",
-    "CSIPSettingsContainer",
-    "IfPointerEvent",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_IfPointerEventL, Teardown)
-    
-EUNIT_TEST(
     "SetEmphasis - test ",
     "CSIPSettingsContainer",
     "SetEmphasis",
     "FUNCTIONALITY",
     SetupL, UT_CSIPSettingsContainer_SetEmphasisL, Teardown)
     
-EUNIT_TEST(
-    "LongPressStatus - test ",
-    "CSIPSettingsContainer",
-    "LongPressStatus",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_LongPressStatusL, Teardown)    
-    
-EUNIT_TEST(
-    "SetLongPressL - test ",
-    "CSIPSettingsContainer",
-    "SetLongPressL",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_SetLongPressL, Teardown)  
-//yes    
-EUNIT_TEST(
-    "StylusPopupMenuL - test ",
-    "CSIPSettingsContainer",
-    "StylusPopupMenuL",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_StylusPopupMenuL, Teardown)  
-    
-EUNIT_TEST(
-    "SetStylusPopupMenuL - test ",
-    "CSIPSettingsContainer",
-    "SetStylusPopupMenuL",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_SetStylusPopupMenuL, Teardown)      
-    
-EUNIT_TEST(
-    "PenEventLocationL - test ",
-    "CSIPSettingsContainer",
-    "PenEventLocationL",
-    "FUNCTIONALITY",
-    SetupL, UT_CSIPSettingsContainer_PenEventLocationL, Teardown)         
-    
 EUNIT_END_TEST_TABLE
 
 //  END OF FILE
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -19,7 +19,6 @@
 //  USER INCLUDES
 #include "ut_gssipprofileutil.h"
 #include "ut_sipsettingscontainer.h"
-#include "ut_gssiptimer.h"
 #include "ut_sipsettlistsipprofsetcontainer.h"
 #include "ut_sipsettlistsipsrvsetview.h"
 #include "ut_sipSettlistsipprofsetview.h"
@@ -45,9 +44,6 @@
     rootSuite->AddL( UT_SIPSettListSIPProfSetContainer::NewLC() );
     CleanupStack::Pop();    
     
-    rootSuite->AddL( UT_GSSIPTimer::NewLC() );
-    CleanupStack::Pop();
-    
     rootSuite->AddL( UT_SIPSettListSIPRegSetView::NewLC() );
     CleanupStack::Pop();
     
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -31,7 +31,6 @@
 #include "SIPSettListSIPProfSetModel.h"
 #include "SIPSettListSIPProfSetView.h"
 #include "gssipmodel.h"
-#include "gssiptimer.h"
 
 // -----------------------------------------------------------------------------
 //
@@ -231,30 +230,6 @@
     
     }
 
-// -----------------------------------------------------------------------------
-// TestHandlePointerEventL()
-// -----------------------------------------------------------------------------
-//
-void UT_SIPSettListSIPProfSetContainer::TestHandlePointerEventL()
-    {
-//    TPointerEvent event;
-//    event.iType = TPointerEvent::EButton1Down;
-//    iSipProfContainer->HandlePointerEventL( event );
-    }
-
-// -----------------------------------------------------------------------------
-// TestIfPointerEvent()
-// -----------------------------------------------------------------------------
-//
-void UT_SIPSettListSIPProfSetContainer::TestIfPointerEvent()
-    {
-//    iSipProfContainer->iTimer->iIfStart = ETrue;
-//	EUNIT_ASSERT_EQUALS( iSipProfContainer->IfPointerEvent(), EFalse ); 
-//
-//	iSipProfContainer->iTimer->iIfStart = EFalse;
-//	EUNIT_ASSERT_EQUALS( iSipProfContainer->IfPointerEvent(), ETrue ); 
-    }
-
 
 //  TEST TABLE
 
@@ -327,20 +302,6 @@
     SetupL, TestGetHelpContext, Teardown)
     
 EUNIT_TEST(
-    "HandlePointerEventL - test ",
-    "SIPSettListSIPProfSetContainer",
-    "HandlePointerEventL",
-    "FUNCTIONALITY",
-    SetupL, TestHandlePointerEventL, Teardown)
-    
-EUNIT_TEST(
-    "IfPointerEvent - test ",
-    "SIPSettListSIPProfSetContainer",
-    "IfPointerEvent",
-    "FUNCTIONALITY",
-    SetupL, TestIfPointerEvent, Teardown)
-    
-EUNIT_TEST(
     "FocusChanged - test ",
     "SIPSettListSIPProfSetContainer",
     "FocusChanged",
--- a/sipproviderplugins/sipprovider/group/bld.inf	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/group/bld.inf	Sun Mar 14 13:11:16 2010 +0000
@@ -20,10 +20,4 @@
 PRJ_MMPFILES
 #include "../sipconnectionplugins/group/bld.inf"
 #include "../sipdummyprt/group/bld.inf"
-#include "../sipstatemachine/group/bld.inf"
-
-
-PRJ_TESTMMPFILES
-#include "../Test/ResolverPlugin/Group/bld.inf"
-#include "../Test/tsip/bld.inf"
-#include "../Test/profilegenerator/bld.inf"
+#include "../sipstatemachine/group/bld.inf"
\ No newline at end of file
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h	Sun Mar 14 13:11:16 2010 +0000
@@ -29,7 +29,7 @@
 #include <es_enum.h>
 #include "TransitionEngineMgr.h"
 
-class TSipMcprProvisionInfo : public CBase, public Meta::SMetaData 
+class TSipMcprProvisionInfo : public Meta::SMetaData 
 /** 
 @internalTechnology
 */
@@ -56,7 +56,7 @@
 	};
 	
 	
-class TSipCprProvisionInfo : public CBase, public Meta::SMetaData
+class TSipCprProvisionInfo : public Meta::SMetaData
 /** 
 @internalTechnology
 */
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -152,11 +152,11 @@
 CSipConnectionProvider::~CSipConnectionProvider()
     {
     __CFLOG_VAR((KSipCprTag, KSipCprSubTag, _L8("CSipConnectionProvider:\t ~CSipConnectionProvider()")));
-    LOG_NODE_DESTROY(KSipCprTag, CSipConnectionProvider); 
-	if(iTransitionEngine)
-    iTransitionEngineMgr->Detach(iTransitionEngine);    
-	//delete 	iProvisionInfo;	
-	iProvisionInfo = NULL;	
+    LOG_NODE_DESTROY(KSipCprTag, CSipConnectionProvider);
+	if(iTransitionEngine != NULL && iTransitionEngineMgr != NULL)
+    iTransitionEngineMgr->Detach(iTransitionEngine);
+	//delete 	iProvisionInfo;
+	iProvisionInfo = NULL;
     }
 
 CSipConnectionProvider::CSipConnectionProvider(ESock::CConnectionProviderFactoryBase& aFactory)
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -148,19 +148,19 @@
 
 void CSipMetaConnectionProvider::SetConfigL()
 	{
-	TSipMcprProvisionInfo*	iProvisionInfo = new (ELeave) TSipMcprProvisionInfo();	
-	iProvisionInfo->iAppUid = iAppUid;
-	iProvisionInfo->iProfileId = iProfileId;		
-	iProvisionInfo->iTransitionEngineMgr = iTransitionEngineMgr;
+	TSipMcprProvisionInfo*	ProvisionInfo = new (ELeave) TSipMcprProvisionInfo();
+	ProvisionInfo->iAppUid = iAppUid;
+	ProvisionInfo->iProfileId = iProfileId;
+	ProvisionInfo->iTransitionEngineMgr = iTransitionEngineMgr;
 
 	// Append the above three to the accesspointconfig and send to CPR in ProvisionConfig message
-	
+
 	RMetaExtensionContainer mec;
 	mec.Open(AccessPointConfig());
 	CleanupClosePushL(mec);
-	CleanupStack::PushL(iProvisionInfo);
-	mec.AppendExtensionL(iProvisionInfo);
-	CleanupStack::Pop(iProvisionInfo);
+	CleanupStack::PushL(ProvisionInfo);
+	mec.AppendExtensionL(ProvisionInfo);
+	CleanupStack::Pop(ProvisionInfo);
 	AccessPointConfig().Close();
 	AccessPointConfig().Open(mec);
 	CleanupStack::PopAndDestroy(&mec);
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -127,6 +127,7 @@
 CSipSubConnectionProvider::~CSipSubConnectionProvider()
     {
     LOG_NODE_DESTROY(KSipSCprTag, CSipSubConnectionProvider);
+    if(iSipSm != NULL)
     iSipSm->DeleteWhenReady();
     }
 
@@ -348,8 +349,13 @@
     	  	return;
         	}
     	sipevent->SetResponse(aSipCode);
-    	NotifyClientsL(*sipevent);    		        	    	
-    	}    
+    	TRAP(error, NotifyClientsL(*sipevent));    		        	    	
+    	if (error != KErrNone)
+		    {
+		    __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("NotifyClientsL left with the error: [%d]"), error));
+		    return;
+        	}
+		}
     }
 
 /**
@@ -417,7 +423,12 @@
     	__CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("CSubConSIPAuthenticationRequiredEvent::SetRealmL()  left with error [%d]"), error));    	      	
 	    return;
     	}
-     NotifyClientsL(*event); 
+     TRAP(error, NotifyClientsL(*event)); 
+	if (error != KErrNone)
+	{
+	__CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("NotifyClientsL left with the error: [%d]"), error));
+	return;
+	}
      #endif   
 	}
 
@@ -430,11 +441,21 @@
 	
 	__CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("CSipSubConnectionProvider::ReceiveNotification")));
 	CSubConSIPNotificationEvent* event = CSubConSIPNotificationEvent::NewL();
-	event->SetNotificationL(aNotification);
+	TRAPD(error, event->SetNotificationL(aNotification));
+	if (error != KErrNone)
+	{
+	__CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("event->SetNotificationL left with the error: [%d]"), error));
+	return;
+	}
 	
 	TInt32 gId = event->GroupId();
 		
-	NotifyClientsL(*event);      
+	TRAP(error, NotifyClientsL(*event));      
+	if (error != KErrNone)
+	{
+	__CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("NotifyClientsL left with the error: [%d]"), error));
+	return;
+	}
 	}
 	
 /**
--- a/sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h	Sun Mar 14 13:11:16 2010 +0000
@@ -511,6 +511,8 @@
 	@param aRealm - Realm of the issuer of the challenge
 	*/
 	TBool FindAndSetCredentials(const TDesC8& aRealm);
+
+	void IncomingRequestHandlerL(CSIPServerTransaction* aTransaction);
 	
 private:
 	// For Logging
--- a/sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -45,51 +45,44 @@
 /**
  This Function will startup the state machine with a default
  state
-*/
-	{
-	// Tell the TE there's another StateMachine wishing to speak to it.
-	// Remek: Where do you remove it??? Cos i couldn't find !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-	iTe->AddStateMachineL(this);
-	
-	// Initialize booleans
-	iClientStimulus = EFalse;
-	iServerStimulus = EFalse;
-	iServerErrorStimulus = EFalse;
-	iCallTerminateCallback = ETrue;
-	iDeleteMeNow = EFalse;
-	isInviteSM = EFalse;
-	isSubscribeSM = EFalse;
-	
-	iCallTerminateCode.iErrorCode = KErrNone;
-	iCallTerminateCode.iSipCode = KErrNone;
-	
-	// Construct States
-	iStateIdle = CStateIdle::NewL(this);
-	CleanupStack::PushL (iStateIdle);
+ */
+    {
+    // Tell the TE there's another StateMachine wishing to speak to it.
+    // Remek: Where do you remove it??? Cos i couldn't find !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    iTe->AddStateMachineL(this);
+
+    // Initialize booleans
+    iClientStimulus = EFalse;
+    iServerStimulus = EFalse;
+    iServerErrorStimulus = EFalse;
+    iCallTerminateCallback = ETrue;
+    iDeleteMeNow = EFalse;
+    isInviteSM = EFalse;
+    isSubscribeSM = EFalse;
+
+    iCallTerminateCode.iErrorCode = KErrNone;
+    iCallTerminateCode.iSipCode = KErrNone;
+
+    // Construct States
+    iStateIdle = CStateIdle::NewL(this);
+
+    iCommandCntx.iCommandState = iStateIdle;
+    iCommandCntx.iClientTx = NULL;
+    iCommandCntx.iCancelClientTx = NULL;
+    iCommandCntx.iServerTx = NULL;
+    iCommandCntx.iRegBinding = NULL;
+    iCommandCntx.iDialogAssoc = NULL;
+
+    iStateSessionInit = CStateSessionInitiation::NewL(this);
+    iStateSessionEstablished = CStateSessionEstablished::NewL(this);
+    iStateSessionTerminate = CStateSessionTerminate::NewL(this);
+
+    iActiveState = iStateIdle;
 	
-	iCommandCntx.iCommandState 		= iStateIdle;
-	iCommandCntx.iClientTx	 		= NULL;
-	iCommandCntx.iCancelClientTx	= NULL;
-	iCommandCntx.iServerTx			= NULL;
-	iCommandCntx.iRegBinding	 	= NULL;
-	iCommandCntx.iDialogAssoc	 	= NULL;
-
-	
-	iStateSessionInit = CStateSessionInitiation::NewL(this);
-	CleanupStack::PushL(iStateSessionInit);
-	iStateSessionEstablished = CStateSessionEstablished::NewL(this);
-	CleanupStack::PushL(iStateSessionEstablished);
-	iStateSessionTerminate = CStateSessionTerminate::NewL(this);
-	CleanupStack::PushL(iStateSessionTerminate);
-	
-	iActiveState = iStateIdle;
-	
-	this->Start(&iStatus, NULL) ;
-	// Maithra's fix : For stray signal
- 	MakeActive();
-	// Pop From Cleanup Stack
-	CleanupStack::Pop(4, iStateIdle);
-	}
+    this->Start(&iStatus, NULL);
+    // Maithra's fix : For stray signal
+    MakeActive();
+    }
 	
 CSipStateMachine::CSipStateMachine(CSIPTransitionEngine * aTe, MSIPStateMachineClient* aClient,TBool aSMDirection) 
 :CActive(EPriorityStandard), 
@@ -801,9 +794,8 @@
     iCommandCntx.iRegBinding 	= CSIPRegistrationBinding::NewL(
     							  *sipConn, to, contact,
     							  refresh,0, remoteUri, from);
-    CleanupStack::PushL(iCommandCntx.iRegBinding);
 	iCommandCntx.iClientTx		= iCommandCntx.iRegBinding->RegisterL();
-	CleanupStack::Pop(6, refresh);
+	CleanupStack::Pop(5, refresh);
 	}
 	
 void CSipStateMachine::SendUnRegisterMessageL()	
--- a/sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp	Mon Mar 08 21:43:52 2010 +0000
+++ b/sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp	Sun Mar 14 13:11:16 2010 +0000
@@ -52,10 +52,8 @@
 
 	__FLOG_1(_L("CSIPTransitionEngine %08x:\tInstantiating CSIPProfileRegistry - may leave"), this);
 	iProfileRegistry = CSIPProfileRegistry::NewL(iSIP, *this);
-	CleanupStack::PushL(iProfileRegistry);
 	__FLOG_1(_L("CSIPTransitionEngine %08x:\tInstantiating CSIPHttpDigest - may leave"), this);
 	iDigest = CSIPHttpDigest::NewL(iSIP, *this );
-	CleanupStack::PushL(iDigest);
 	__FLOG_1(_L("CSIPTransitionEngine %08x:\tInstantiating CSIPConnection - may leave"), this);
     iConnection = CSIPConnection::NewL(iSIP, iIapId, *this );
 
@@ -66,7 +64,6 @@
 		}
 		
 	__FLOG_1(_L("CSIPTransitionEngine %08x:\tConstructL successful"), this);		
-    CleanupStack::Pop(2);
 	}
 	
 CSIPTransitionEngine::CSIPTransitionEngine(CSIP& aSip, TInt aIapId)
@@ -148,51 +145,11 @@
 */	
 	{
 	__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<Recieved Outside of a Dialog>>"),this);
-	CleanupStack::PushL(aTransaction); //we're take over the ownership.
-	
-	RStringF method = aTransaction->RequestElements()->Method();
-	if(method == SIPStrings::StringF(SipStrConsts::EInvite))
+	TRAPD(err,IncomingRequestHandlerL(aTransaction));	
+	if(err != KErrNone)
 		{
-		__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<Received Request Invite>>"),this);
-		TSipMsgBundle	msgBundle;
-		// Create a dialog Association and set server transaction
-		CSIPInviteDialogAssoc*	dialogassoc = CSIPInviteDialogAssoc::NewL(*aTransaction);
-		CleanupStack::PushL(dialogassoc);
-		msgBundle.iRequest = TSipHLConsts::ERequestInvite;
-		msgBundle.iDialog = dialogassoc;
-		msgBundle.iServTransaction = aTransaction;
-		// Look For the state machine which is responsible for handling 
-	 	// this particular request
-	 	CSipStateMachine*	smPtr = FindSMForIncomingCall();
-	 	if(smPtr)
-	 		{
-	 		__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<Found State Machine to Handle the Request>>"),this);
-	 		smPtr->IncomingRequestOutsideDialog(msgBundle);	
-	 		CleanupStack::Pop(dialogassoc);
-	 		CleanupStack::Pop(aTransaction);
-	 		}
-	 	else
-	 		{// return NotFound
-	 		__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<No State Machine found to Handle the Request>>"),this);
-	 		__FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<sending 404>>"));
-	 		CSIPResponseElements *ResElem = CSIPResponseElements::NewLC(
-							404, SIPStrings::StringF(SipStrConsts::EPhraseNotFound));
-			aTransaction->SendResponseL(ResElem);
-			CleanupStack::Pop(ResElem);		
-			CleanupStack::PopAndDestroy(aTransaction);
-			CleanupStack::PopAndDestroy(dialogassoc);
-	 		}
+		return;
 		}
-	 else
-	 	{ // bad request , not supported here
-	 	__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<Received Request other than Invite>>"),this);
-	 	__FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<sending 404>>"));
-	 	CSIPResponseElements *ResElem = CSIPResponseElements::NewLC(
-							400, SIPStrings::StringF(SipStrConsts::EPhraseBadRequest));
-		aTransaction->SendResponseL(ResElem);
-		CleanupStack::Pop(ResElem);		
-		CleanupStack::PopAndDestroy(aTransaction);
-	 	}		
 	}
 	
 void CSIPTransitionEngine::IncomingRequest( CSIPServerTransaction* aTransaction, CSIPDialog& aDialog )
@@ -1090,3 +1047,53 @@
 		}
 	return EFalse;
 	}
+
+void CSIPTransitionEngine::IncomingRequestHandlerL(CSIPServerTransaction* aTransaction)
+{
+	__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<Recieved Outside of a Dialog>>"),this);
+	CleanupStack::PushL(aTransaction); //we're take over the ownership.
+	
+	RStringF method = aTransaction->RequestElements()->Method();
+	if(method == SIPStrings::StringF(SipStrConsts::EInvite))
+		{
+		__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<Received Request Invite>>"),this);
+		TSipMsgBundle	msgBundle;
+		// Create a dialog Association and set server transaction
+		CSIPInviteDialogAssoc*	dialogassoc = CSIPInviteDialogAssoc::NewL(*aTransaction);
+		CleanupStack::PushL(dialogassoc);
+		msgBundle.iRequest = TSipHLConsts::ERequestInvite;
+		msgBundle.iDialog = dialogassoc;
+		msgBundle.iServTransaction = aTransaction;
+		// Look For the state machine which is responsible for handling 
+	 	// this particular request
+	 	CSipStateMachine*	smPtr = FindSMForIncomingCall();
+	 	if(smPtr)
+	 		{
+	 		__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<Found State Machine to Handle the Request>>"),this);
+	 		smPtr->IncomingRequestOutsideDialog(msgBundle);	
+	 		CleanupStack::Pop(dialogassoc);
+	 		CleanupStack::Pop(aTransaction);
+	 		}
+	 	else
+	 		{// return NotFound
+	 		__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<No State Machine found to Handle the Request>>"),this);
+	 		__FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<sending 404>>"));
+	 		CSIPResponseElements *ResElem = CSIPResponseElements::NewLC(
+							404, SIPStrings::StringF(SipStrConsts::EPhraseNotFound));
+			aTransaction->SendResponseL(ResElem);
+			CleanupStack::Pop(ResElem);		
+			CleanupStack::PopAndDestroy(aTransaction);
+			CleanupStack::PopAndDestroy(dialogassoc);
+	 		}
+		}
+	 else
+	 	{ // bad request , not supported here
+	 	__FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<Received Request other than Invite>>"),this);
+	 	__FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<sending 404>>"));
+	 	CSIPResponseElements *ResElem = CSIPResponseElements::NewLC(
+							400, SIPStrings::StringF(SipStrConsts::EPhraseBadRequest));
+		aTransaction->SendResponseL(ResElem);
+		CleanupStack::Pop(ResElem);		
+		CleanupStack::PopAndDestroy(aTransaction);
+	 	}
+}