ListResponse.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. namespace Ant.Service.Utilities
  4. {
  5. /// <summary>
  6. /// This class represents the response message
  7. /// returned from both a single line and multi line
  8. /// Pop3 LIST Command.
  9. /// </summary>
  10. internal sealed class ListResponse : Pop3Response
  11. {
  12. private List<Pop3ListItem> _items;
  13. /// <summary>
  14. /// Gets or sets the items.
  15. /// </summary>
  16. /// <value>The items.</value>
  17. public List<Pop3ListItem> Items
  18. {
  19. get { return _items; }
  20. set { _items = value; }
  21. }
  22. /// <summary>
  23. /// Gets the message number.
  24. /// </summary>
  25. /// <value>The message number.</value>
  26. public int MessageNumber
  27. {
  28. get { return _items[0].MessageId; }
  29. }
  30. /// <summary>
  31. /// Gets number of octets.
  32. /// </summary>
  33. /// <value>The number of octets.</value>
  34. public long Octets
  35. {
  36. get { return _items[0].Octets; }
  37. }
  38. /// <summary>
  39. /// Initializes a new instance of the <see cref="ListResponse"/> class.
  40. /// </summary>
  41. /// <param name="response">The response.</param>
  42. /// <param name="items">The items.</param>
  43. public ListResponse(Pop3Response response, List<Pop3ListItem> items)
  44. : base(response.ResponseContents, response.HostMessage, response.StatusIndicator)
  45. {
  46. if (items == null)
  47. {
  48. throw new ArgumentNullException("items");
  49. }
  50. _items = items;
  51. }
  52. }
  53. }