1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
//
// ResolveInfo.cs
//
// Author:
// Marcos Cobena (marcoscobena@gmail.com)
//
// Copyright 2007 Marcos Cobena (http://www.youcannoteatbits.org/)
//
using System.Runtime.Serialization;
namespace System.ServiceModel.PeerResolvers
{
[MessageContract (IsWrapped = false)]
public class ResolveInfo
{
[MessageBodyMember (Name = "Resolve", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
ResolveInfoDC Body {
get {
if (body == null)
body = new ResolveInfoDC ();
return body;
}
set { body = value; }
}
ResolveInfoDC body;
public ResolveInfo ()
{
}
public ResolveInfo (Guid clientId, string meshId, int maxAddresses)
{
if (clientId == Guid.Empty)
throw new ArgumentException ("Empty Guid");
if (String.IsNullOrEmpty (meshId))
throw new ArgumentNullException ("meshId");
if (maxAddresses <= 0)
throw new ArgumentOutOfRangeException ("maxAddresses must be positive integer");
Body.ClientId = clientId;
Body.MeshId = meshId;
Body.MaxAddresses = maxAddresses;
}
public Guid ClientId {
get { return Body.ClientId; }
}
public int MaxAddresses {
get { return Body.MaxAddresses; }
}
public string MeshId {
get { return Body.MeshId; }
}
public bool HasBody ()
{
return true; // FIXME: I have no idea when it returns false
}
}
[DataContract (Name = "Resolve", Namespace = "http://schemas.microsoft.com/net/2006/05/peer")]
internal class ResolveInfoDC
{
Guid client_id;
int max_addresses;
string mesh_id;
public ResolveInfoDC ()
{
}
[DataMember]
public Guid ClientId {
get { return client_id; }
set { client_id = value; }
}
[DataMember]
public int MaxAddresses {
get { return max_addresses; }
set { max_addresses = value; }
}
[DataMember]
public string MeshId {
get { return mesh_id; }
set { mesh_id = value; }
}
}
}
|