imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp
changeset 30 1fa9b890f29c
parent 1 b610b446cb01
--- a/imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp	Fri Apr 09 20:09:00 2010 +0530
+++ b/imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp	Fri Apr 09 20:37:41 2010 +0530
@@ -120,11 +120,20 @@
 		    break;
 		    }
        case EIMOperationUnRegistered:
-			{
-			TRACE( T_LIT("CIMCacheEventHandler::RunL() EIMOperationUnRegistered") );
-			iContinueObserving = EFalse;	
-			break;	
-			}
+            {
+            TRACE(T_LIT(
+                    "CIMCacheEventHandler::RunL() EIMOperationUnRegistered"));
+            iContinueObserving = EFalse;
+            break;
+            }
+        case KErrServerTerminated:
+            {
+            // This case handles when the server terminated status is set.
+            // This is scenario is typically scene when imcache server is uninstalled.
+            UnRegisterObserver();
+            DoCancel();
+            break;
+            }
 		default :
 		    {
 		    TRACE( T_LIT("CIMCacheEventHandler::RunL() default") );