imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp
branchRCL_3
changeset 4 f5911524345e
parent 0 5e5d6b214f4f
child 19 fda5a9396e07
--- a/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp	Tue Feb 02 10:12:18 2010 +0200
+++ b/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp	Fri Feb 19 22:41:11 2010 +0200
@@ -280,8 +280,19 @@
 	{
 	
     IM_CV_LOGS(TXT("CVEngineCCHHnadler::DoHandleServiceStatusChangedL ") );   
-	
-	if (aType == ECCHIMSub)
+
+	if (aType == ECCHPresenceSub)
+		{
+		/* SIP Adaptation -- sends error in Network Lost. This is added so that once we get it, we will unbindL and delete the context
+		 * This happens only in case of SIP as it does not send the event in IM Subservice.
+		 */
+		if (aServiceStatus.Error() && ECCHDisabled != aServiceStatus.State())
+			{
+				iEngine.ReleaseConnectionL ();
+				iEngine.DeleteContextL ();
+			}
+		} 
+	else if (aType == ECCHIMSub)
 		{
 		MIMCVEngineCCHObserver::TServiceState notifyEvent = 
 									MIMCVEngineCCHObserver::ENotLoggedIn;