imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp
--- 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") );