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
|
//
// PeerResolverSettings.cs
//
// Author:
// Marcos Cobena (marcoscobena@gmail.com)
//
// Copyright 2007 Marcos Cobena (http://www.youcannoteatbits.org/)
//
using System;
using System.ServiceModel.Channels;
namespace System.ServiceModel.PeerResolvers
{
public class PeerResolverSettings
{
PeerCustomResolverSettings custom = new PeerCustomResolverSettings ();
// FIXME: Is it really by default Auto?
PeerResolverMode mode = PeerResolverMode.Auto;
public PeerResolverSettings ()
{
}
public PeerCustomResolverSettings Custom {
get { return custom; }
}
public PeerResolverMode Mode { get; set; }
public PeerReferralPolicy ReferralPolicy { get; set; }
internal BindingElement CreateBinding ()
{
switch (Mode) {
case PeerResolverMode.Pnrp:
return new PnrpPeerResolverBindingElement () { ReferralPolicy = this.ReferralPolicy };
default:
var be = Custom.CreateBinding ();
be.ReferralPolicy = this.ReferralPolicy;
return be;
}
}
}
}
|