imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp
--- a/imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp Fri Feb 19 23:08:08 2010 +0200
+++ b/imservices/instantmessagingcache/imcacheclient/src/cimcacheaccesseventhandler.cpp Fri Mar 12 15:43:59 2010 +0200
@@ -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") );