policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp
changeset 72 8ee66fcd0a7c
parent 68 415c00f1675d
child 73 ae69c2e8bc34
equal deleted inserted replaced
68:415c00f1675d 72:8ee66fcd0a7c
   421 	
   421 	
   422 	//create new one, if setting doesn't exist
   422 	//create new one, if setting doesn't exist
   423 	if ( !aSettings.Count() )
   423 	if ( !aSettings.Count() )
   424 	{	
   424 	{	
   425 		CRangeMeta * setting = CRangeMeta::NewL( aCompareValue, 0, aMask, KBackupBitMask);
   425 		CRangeMeta * setting = CRangeMeta::NewL( aCompareValue, 0, aMask, KBackupBitMask);
   426 		aSettings.AppendL( setting );
   426 		TInt err = KErrNone;
   427 		iRangeMetas.AppendL( setting);
   427 		TRAP(err, aSettings.AppendL( setting ));
       
   428 		if(err != KErrNone)
       
   429 		    {
       
   430 		    delete setting;
       
   431 			User::Leave( err );
       
   432 		    }
       
   433 		else
       
   434 		    {
       
   435 		    TRAP(err, iRangeMetas.AppendL( setting));
       
   436 		    if(err != KErrNone)
       
   437 		        {
       
   438 		        TInt indx = aSettings.Find( setting );
       
   439 		        if(indx != KErrNotFound)
       
   440 		            {
       
   441 		            aSettings.Remove(indx);
       
   442 					User::Leave( err );
       
   443 		            }
       
   444 		        
       
   445 		        }
       
   446 		    }
   428 	}
   447 	}
   429 }
   448 }
   430 
   449 
   431 
   450 
   432 // -----------------------------------------------------------------------------
   451 // -----------------------------------------------------------------------------
   531 	
   550 	
   532 	//create new one, if setting doesn't exist
   551 	//create new one, if setting doesn't exist
   533 	if ( !aSettings.Count() )
   552 	if ( !aSettings.Count() )
   534 	{	
   553 	{	
   535 		CRangeSetting * setting = CRangeSetting::NewL( aRangeStart, aRangeEnd, 0);
   554 		CRangeSetting * setting = CRangeSetting::NewL( aRangeStart, aRangeEnd, 0);
   536 		aSettings.Append( setting );
   555 		TInt err = KErrNone;
   537 		iRangeSettings.Append( setting);
   556 		TRAP(err, aSettings.AppendL( setting ));
       
   557 		if(err != KErrNone)
       
   558 		    {
       
   559 		    delete setting;
       
   560 			User::Leave( err );
       
   561 		    }
       
   562 		else
       
   563 		    {
       
   564 		    TRAP(err, iRangeSettings.AppendL( setting));
       
   565 		    if(err != KErrNone)
       
   566 		        {
       
   567 		        TInt indx = aSettings.Find( setting );
       
   568 		        if(indx != KErrNotFound)
       
   569 		            {
       
   570 		            aSettings.Remove(indx);
       
   571 					User::Leave( err );
       
   572 		            }
       
   573 
       
   574 		        }
       
   575 		    }
   538 	}	
   576 	}	
   539 	
   577 	
   540 	iRangeSettings.Sort( linearOrder);
   578 	iRangeSettings.Sort( linearOrder);
   541 
   579 
   542 }
   580 }
   570 	
   608 	
   571 	//create new one, if setting doesn't exist
   609 	//create new one, if setting doesn't exist
   572 	if ( !aSettings.Count() )
   610 	if ( !aSettings.Count() )
   573 	{	
   611 	{	
   574 		CRangeSetting * setting = CRangeSetting::NewL( aCompareValue, 0, aMask);
   612 		CRangeSetting * setting = CRangeSetting::NewL( aCompareValue, 0, aMask);
   575 		aSettings.Append( setting );
   613 		TInt err = KErrNone;
   576 		iRangeSettings.Append( setting);
   614 		TRAP(err, aSettings.AppendL( setting ));
       
   615 		if(err != KErrNone)
       
   616 		    {
       
   617 		    delete setting;
       
   618 			User::Leave( err );
       
   619 		    }
       
   620 		else
       
   621 		    {
       
   622 		    TRAP(err, iRangeSettings.AppendL( setting));
       
   623 		    if(err != KErrNone)
       
   624 		        {
       
   625 		        TInt indx = aSettings.Find( setting );
       
   626 		        if(indx != KErrNotFound)
       
   627 		            {
       
   628 		            aSettings.Remove(indx);
       
   629 					User::Leave( err );
       
   630 		            }
       
   631 
       
   632 		        }
       
   633 		    }
   577 	}
   634 	}
   578 	
   635 	
   579 	
   636 	
   580 }
   637 }
   581 
   638