--- 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 );
+ }
+ }
+ }