a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
91 lines
1.9 KiB
C#
91 lines
1.9 KiB
C#
//
|
|
// 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; }
|
|
}
|
|
}
|
|
}
|