imservices/instantmessagingcache/imcacheserver/src/cimcachesession.cpp
branchRCL_3
changeset 21 cfd5c2994f10
parent 18 2ca0d29c17c4
child 22 113b91e0a2ad
equal deleted inserted replaced
20:eedf17a17c27 21:cfd5c2994f10
   239            	msgNeedsToBeCompleted = EFalse;
   239            	msgNeedsToBeCompleted = EFalse;
   240            	// check fetching still needed or not if needed pack and send again 
   240            	// check fetching still needed or not if needed pack and send again 
   241 			if( iPacketsArray.Count() )
   241 			if( iPacketsArray.Count() )
   242 				{
   242 				{
   243 				CIMCacheBufferArray* packet = iPacketsArray[ 0 ] ;
   243 				CIMCacheBufferArray* packet = iPacketsArray[ 0 ] ;
   244 				if( packet->OperationCode() ==  EIMOperationFetchAll )
   244 				iObserverMessage.Complete( packet->OperationCode() );
   245 					{
       
   246 					iObserverMessage.Complete( EIMOperationDataAvailable );
       
   247 					}
       
   248 				else
       
   249 					{
       
   250 					iObserverMessage.Complete( packet->OperationCode() );
       
   251 					}
       
   252 				iObserverActive = EFalse;
   245 				iObserverActive = EFalse;
   253 				}
   246 				}
   254 			
   247 			
   255 			break;
   248 			break;
   256         	}
   249         	}
   283         	iObserverActive = ETrue;
   276         	iObserverActive = ETrue;
   284             msgNeedsToBeCompleted = EFalse;
   277             msgNeedsToBeCompleted = EFalse;
   285 			 if( iPacketsArray.Count() )
   278 			 if( iPacketsArray.Count() )
   286 				{
   279 				{
   287 				CIMCacheBufferArray* packet = iPacketsArray[ 0 ] ;
   280 				CIMCacheBufferArray* packet = iPacketsArray[ 0 ] ;
   288 				if( packet->OperationCode() ==  EIMOperationFetchAll )
   281 				iObserverMessage.Complete( packet->OperationCode() );
   289 					{
       
   290 					iObserverMessage.Complete( EIMOperationUnreadChange );
       
   291 					}
       
   292 				else
       
   293 					{
       
   294 					iObserverMessage.Complete( packet->OperationCode() );
       
   295 					}
       
   296 				iObserverActive = EFalse;
   282 				iObserverActive = EFalse;
   297 				}
   283 				}
   298 	     	break;
   284 	     	break;
   299         	}
   285         	}
   300          case EIMCacheObserveMessageAccessUnRegister :
   286          case EIMCacheObserveMessageAccessUnRegister :
   572 void CIMCacheSession::SendUnreadChangeNotificationL( MIMCacheMessageHeader* aMsgHeader, 
   558 void CIMCacheSession::SendUnreadChangeNotificationL( MIMCacheMessageHeader* aMsgHeader, 
   573 												 	CIMCacheMessageBase* aMessage )	
   559 												 	CIMCacheMessageBase* aMessage )	
   574 	{
   560 	{
   575 	// write the message into continuous memory stream
   561 	// write the message into continuous memory stream
   576 	if( iAccessorInitialized  || 
   562 	if( iAccessorInitialized  || 
   577 		iConvesationInitialized /*&& aMsgHeader->IsChatStarted()*/ )
   563 		iConvesationInitialized && aMsgHeader->IsChatStarted() )
   578 		{
   564 		{
   579 		ExternalizeSingleChatDataL(EIMOperationUnreadMessage, aMsgHeader, aMessage );
   565 		ExternalizeSingleChatDataL(EIMOperationUnreadMessage, aMsgHeader, aMessage );
   580 		if( iObserverActive )
   566 		if( iObserverActive )
   581 			{
   567 			{
   582 			iObserverMessage.Complete( EIMOperationUnreadMessage );
   568 			iObserverMessage.Complete( EIMOperationUnreadMessage );