syncmlfw/common/sosserver_clientapi/src/NSmlClientAPIUtils.cpp
changeset 72 8ee66fcd0a7c
parent 0 b497e44ab2fc
equal deleted inserted replaced
68:415c00f1675d 72:8ee66fcd0a7c
  1599 	iDisplayName = HBufC::NewL( aStream, aStream.ReadInt32L() );
  1599 	iDisplayName = HBufC::NewL( aStream, aStream.ReadInt32L() );
  1600 	
  1600 	
  1601 	TInt mimeCount = aStream.ReadInt32L();
  1601 	TInt mimeCount = aStream.ReadInt32L();
  1602 	for ( TInt i = 0; i < mimeCount; ++i )
  1602 	for ( TInt i = 0; i < mimeCount; ++i )
  1603 		{
  1603 		{
  1604 		iMimeTypes.Append( HBufC::NewL( aStream, aStream.ReadInt32L() ) );
  1604 		TRAPD(err, iMimeTypes.AppendL( HBufC::NewL( aStream, aStream.ReadInt32L() ) ));
       
  1605 		if(err != KErrNone)
       
  1606 		    {
       
  1607 		    delete iDisplayName;
       
  1608 		    iDisplayName = NULL;
       
  1609 		    User::Leave( err );
       
  1610 		    }
  1605 		}
  1611 		}
  1606 		
  1612 		
  1607 	for ( TInt j = 0; j < mimeCount; ++j )
  1613 	for ( TInt j = 0; j < mimeCount; ++j )
  1608 		{
  1614 		{
  1609 		iMimeVersions.Append( HBufC::NewL( aStream, aStream.ReadInt32L() ) );
  1615 		TRAPD(err, iMimeVersions.AppendL( HBufC::NewL( aStream, aStream.ReadInt32L() ) ));
       
  1616 		if(err != KErrNone)
       
  1617 		    {
       
  1618 		    delete iDisplayName;
       
  1619 		    iDisplayName = NULL;
       
  1620 		    //rolling back the previous iMimeTypes append.
       
  1621 		    TInt total = iMimeTypes.Count();
       
  1622 		    for(TInt k = 1; k<= mimeCount; k++ )
       
  1623 		        {
       
  1624 		        if((total - k) >= 0)
       
  1625 		            {
       
  1626 		            iMimeTypes.Remove(total - k);
       
  1627 		            }
       
  1628 		        }
       
  1629 		    
       
  1630 		    total =  iMimeVersions.Count();
       
  1631 		    for(TInt l=1; l<j+1; l++)
       
  1632 		        {
       
  1633 		        if((total - l) >= 0)
       
  1634 		            {
       
  1635 		            iMimeVersions.Remove(total - l);
       
  1636 		            }
       
  1637 		        }
       
  1638 		    User::Leave( err );
       
  1639 		    }
  1610 		}
  1640 		}
  1611 	
  1641 	
  1612 	TInt dataStoreCount = aStream.ReadInt8L();
  1642 	TInt dataStoreCount = aStream.ReadInt8L();
  1613 	for ( TInt k = 0; k < dataStoreCount; ++k ) // default store first, then all stores
  1643 	for ( TInt k = 0; k < dataStoreCount; ++k ) // default store first, then all stores
  1614 		{
  1644 		{