ResolveResponseInfo.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. get {
  19. if (body == null)
  20. body = new ResolveResponseInfoDC ();
  21. return body;
  22. }
  23. }
  24. ResolveResponseInfoDC body;
  25. public ResolveResponseInfo ()
  26. {
  27. }
  28. public ResolveResponseInfo (PeerNodeAddress [] addresses)
  29. {
  30. Body.Addresses = new List<PeerNodeAddress> (addresses);
  31. }
  32. public IList<PeerNodeAddress> Addresses {
  33. get { return Body.Addresses; }
  34. set { Body.Addresses = value; }
  35. }
  36. public bool HasBody ()
  37. {
  38. return true; // FIXME: I have no idea when it returns false
  39. }
  40. }
  41. [DataContract (Name = "ResolveResponse", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
  42. internal class ResolveResponseInfoDC
  43. {
  44. IList<PeerNodeAddress> addresses;
  45. public ResolveResponseInfoDC ()
  46. {
  47. addresses = new List<PeerNodeAddress> ();
  48. }
  49. [DataMember]
  50. public IList<PeerNodeAddress> Addresses {
  51. get { return addresses; }
  52. set { addresses = value; }
  53. }
  54. }
  55. }