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 { |