syncmlfw/common/sosserver/src/NSmlTask.cpp
branchRCL_3
changeset 25 b183ec05bd8c
parent 16 915074efc433
child 26 19bba8228ff0
equal deleted inserted replaced
24:13d7c31c74e0 25:b183ec05bd8c
   376 
   376 
   377 			// Filters
   377 			// Filters
   378 			RReadStream filterStream = ctype->FilterReadStreamL();
   378 			RReadStream filterStream = ctype->FilterReadStreamL();
   379 			CleanupClosePushL( filterStream );
   379 			CleanupClosePushL( filterStream );
   380 			RPointerArray<CSyncMLFilter>* filterArray = new ( ELeave ) RPointerArray<CSyncMLFilter>();
   380 			RPointerArray<CSyncMLFilter>* filterArray = new ( ELeave ) RPointerArray<CSyncMLFilter>();
   381 			CleanupRPtrArrayPushL(filterArray);
   381 			CleanupStack::PushL( filterArray );
   382 
       
   383 			TInt count(0);
   382 			TInt count(0);
   384 			TRAPD(error, count = filterStream.ReadInt32L() );
   383 			TRAPD(error, count = filterStream.ReadInt32L() );
   385 			if ( error == KErrNone )
   384 			if ( error == KErrNone )
   386 				{
   385 				{
   387 				for ( TInt i(0) ; i < count ; i++ )
   386 				for ( TInt i(0) ; i < count ; i++ )
   390 					CleanupStack::Pop();
   389 					CleanupStack::Pop();
   391 					}
   390 					}
   392 				}
   391 				}
   393 			else if ( prof->IntValue( EDSProfileProtocolVersion ) == ESmlVersion1_2 )
   392 			else if ( prof->IntValue( EDSProfileProtocolVersion ) == ESmlVersion1_2 )
   394 				{
   393 				{
   395                 CleanupStack::PopAndDestroy(filterArray); 
   394 				CleanupStack::Pop(); // filterArray;
       
   395 				filterArray->ResetAndDestroy();
       
   396 				delete filterArray;
   396 				filterArray = iSession.HostClient().SupportedServerFiltersL( iTaskUID, matchType, changeInfo, resultCode );				
   397 				filterArray = iSession.HostClient().SupportedServerFiltersL( iTaskUID, matchType, changeInfo, resultCode );				
   397 				CleanupRPtrArrayPushL(filterArray);
   398 				CleanupStack::PushL( filterArray );
   398 				}
   399 				}
   399 		    
   400 		    
   400 			iSession.HostClient().CheckServerFiltersL( iTaskUID, *filterArray, changeInfo, resultCode );
   401 			iSession.HostClient().CheckServerFiltersL( iTaskUID, *filterArray, changeInfo, resultCode );
   401 			
   402 			
   402             CNSmlDSAgentLog* agentLog = CNSmlDSAgentLog::NewLC();
   403             CNSmlDSAgentLog* agentLog = CNSmlDSAgentLog::NewLC();
   432             	CleanupStack::PopAndDestroy(&dbCaps);	
   433             	CleanupStack::PopAndDestroy(&dbCaps);	
   433 				}
   434 				}
   434 				
   435 				
   435             CleanupStack::PopAndDestroy(agentLog);
   436             CleanupStack::PopAndDestroy(agentLog);
   436             
   437             
   437             CleanupStack::PopAndDestroy(filterArray);            	
   438             filterArray->ResetAndDestroy();            
       
   439 			CleanupStack::PopAndDestroy(filterArray);            	
   438             CleanupStack::PopAndDestroy(&filterStream);            
   440             CleanupStack::PopAndDestroy(&filterStream);            
   439             }
   441             }
   440         else
   442         else
   441             {
   443             {
   442             GetSupportedFiltersL();    
   444             GetSupportedFiltersL();