ResolveResponseInfo.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // ResolveResponseInfo.cs
  3. //
  4. // Author:
  5. // Marcos Cobena ([email protected])
  6. //
  7. // Copyright 2007 Marcos Cobena (http://www.youcannoteatbits.org/)
  8. //
  9. using System.Collections.Generic;
  10. using System.Runtime.Serialization;
  11. namespace System.ServiceModel.PeerResolvers
  12. {
  13. [MessageContract (IsWrapped = false)]
  14. public class ResolveResponseInfo
  15. {
  16. [MessageBodyMember (Name = "ResolveResponse", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
  17. ResolveResponseInfoDC body;
  18. public ResolveResponseInfo ()
  19. {
  20. body = new ResolveResponseInfoDC ();
  21. }
  22. public ResolveResponseInfo (PeerNodeAddress[] addresses)
  23. {
  24. body.Addresses = new List<PeerNodeAddress> (addresses);
  25. }
  26. public IList<PeerNodeAddress> Addresses {
  27. get { return body.Addresses; }
  28. set { body.Addresses = value; }
  29. }
  30. public bool HasBody ()
  31. {
  32. return true; // FIXME: I have no idea when it returns false
  33. }
  34. }
  35. [DataContract (Name = "ResolveResponse", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
  36. internal class ResolveResponseInfoDC
  37. {
  38. IList<PeerNodeAddress> addresses;
  39. public ResolveResponseInfoDC ()
  40. {
  41. addresses = new List<PeerNodeAddress> ();
  42. }
  43. [DataMember]
  44. public IList<PeerNodeAddress> Addresses {
  45. get { return addresses; }
  46. set { addresses = value; }
  47. }
  48. }
  49. }