ResolveResponseInfo.cs 1.4 KB

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