Fix binding for MexHttps
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.PeerResolvers / PeerResolverSettings.cs
1 // 
2 // PeerResolverSettings.cs
3 // 
4 // Author: 
5 //     Marcos Cobena (marcoscobena@gmail.com)
6 // 
7 // Copyright 2007 Marcos Cobena (http://www.youcannoteatbits.org/)
8 // 
9
10 using System;
11 using System.ServiceModel.Channels;
12
13 namespace System.ServiceModel.PeerResolvers
14 {
15         public class PeerResolverSettings
16         {
17                 PeerCustomResolverSettings custom = new PeerCustomResolverSettings ();
18                 // FIXME: Is it really by default Auto?
19                 PeerResolverMode mode = PeerResolverMode.Auto;
20                 
21                 public PeerResolverSettings ()
22                 {
23                 }
24
25                 public PeerCustomResolverSettings Custom {
26                         get { return custom; }
27                 }
28                 
29                 public PeerResolverMode Mode { get; set; }
30                 
31                 public PeerReferralPolicy ReferralPolicy { get; set; }
32
33                 internal BindingElement CreateBinding ()
34                 {
35                         switch (Mode) {
36                         case PeerResolverMode.Pnrp:
37                                 return new PnrpPeerResolverBindingElement () { ReferralPolicy = this.ReferralPolicy };
38                         default:
39                                 var be = Custom.CreateBinding ();
40                                 be.ReferralPolicy = this.ReferralPolicy;
41                                 return be;
42                         }
43                 }
44         }
45 }