realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileState.cpp
branchRCL_3
changeset 9 1e1cc61f56c3
parent 0 307788aac0a8
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileState.cpp	Fri Feb 19 23:10:33 2010 +0200
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileState.cpp	Fri Mar 12 15:44:11 2010 +0200
@@ -407,3 +407,22 @@
 	{
 	PROFILE_DEBUG1("CSIPProfileState::NoNewIapAvailable")
 	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfileState::DeregisterWhileRegInProgressL
+// -----------------------------------------------------------------------------
+//
+void CSIPProfileState::DeregisterWhileRegInProgressL(CSIPProfileCacheItem& aItem,
+    CSIPProfileState& aUnregistered)
+    {
+    if ( !iPluginDirector.IsRegisterPending( aItem.UsedProfile() ) )
+        {
+        CSIPConcreteProfile::TStatus status;
+        iPluginDirector.State( status, aItem.UsedProfile() );
+        iPluginDirector.DeregisterL( aItem.UsedProfile() );
+        if ( status == CSIPConcreteProfile::ERegistrationInProgress )
+            {
+            aItem.ChangeStateL( &aUnregistered );
+            }
+        }
+    }