Updates referencesource to .NET 4.7
[mono-project.git] / mcs / class / referencesource / System.ServiceModel / System / ServiceModel / Configuration / TextMessageEncodingElement.cs
blobec04b51b2cb38e074ae797929bef3f24833b1fae
1 //------------------------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //------------------------------------------------------------------------------
5 namespace System.ServiceModel.Configuration
7 using System.ComponentModel;
8 using System.Configuration;
9 using System.Globalization;
10 using System.Text;
11 using System.ServiceModel.Channels;
13 public sealed partial class TextMessageEncodingElement : BindingElementExtensionElement
15 public TextMessageEncodingElement()
19 public override void ApplyConfiguration(BindingElement bindingElement)
21 base.ApplyConfiguration(bindingElement);
22 TextMessageEncodingBindingElement binding = (TextMessageEncodingBindingElement)bindingElement;
23 binding.MessageVersion = this.MessageVersion;
24 binding.WriteEncoding = this.WriteEncoding;
25 binding.MaxReadPoolSize = this.MaxReadPoolSize;
26 binding.MaxWritePoolSize = this.MaxWritePoolSize;
27 #pragma warning suppress 56506 //Microsoft; base.ApplyConfiguration() checks for 'binding' being null
28 this.ReaderQuotas.ApplyConfiguration(binding.ReaderQuotas);
31 public override Type BindingElementType
33 get { return typeof(TextMessageEncodingBindingElement); }
36 public override void CopyFrom(ServiceModelExtensionElement from)
38 base.CopyFrom(from);
40 TextMessageEncodingElement source = (TextMessageEncodingElement)from;
41 #pragma warning suppress 56506 //Microsoft; base.CopyFrom() checks for 'from' being null
42 this.MessageVersion = source.MessageVersion;
43 this.WriteEncoding = source.WriteEncoding;
44 this.MaxReadPoolSize = source.MaxReadPoolSize;
45 this.MaxWritePoolSize = source.MaxWritePoolSize;
48 protected internal override BindingElement CreateBindingElement()
50 TextMessageEncodingBindingElement binding = new TextMessageEncodingBindingElement();
51 this.ApplyConfiguration(binding);
52 return binding;
55 protected internal override void InitializeFrom(BindingElement bindingElement)
57 base.InitializeFrom(bindingElement);
58 TextMessageEncodingBindingElement binding = (TextMessageEncodingBindingElement)bindingElement;
59 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MessageVersion, binding.MessageVersion);
60 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.WriteEncoding, binding.WriteEncoding);
61 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxReadPoolSize, binding.MaxReadPoolSize);
62 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxWritePoolSize, binding.MaxWritePoolSize);
63 this.ReaderQuotas.InitializeFrom(binding.ReaderQuotas);
66 [ConfigurationProperty(ConfigurationStrings.MaxReadPoolSize, DefaultValue = EncoderDefaults.MaxReadPoolSize)]
67 [IntegerValidator(MinValue = 1)]
68 public int MaxReadPoolSize
70 get { return (int)base[ConfigurationStrings.MaxReadPoolSize]; }
71 set { base[ConfigurationStrings.MaxReadPoolSize] = value; }
74 [ConfigurationProperty(ConfigurationStrings.MaxWritePoolSize, DefaultValue = EncoderDefaults.MaxWritePoolSize)]
75 [IntegerValidator(MinValue = 1)]
76 public int MaxWritePoolSize
78 get { return (int)base[ConfigurationStrings.MaxWritePoolSize]; }
79 set { base[ConfigurationStrings.MaxWritePoolSize] = value; }
82 [ConfigurationProperty(ConfigurationStrings.MessageVersion, DefaultValue = TextEncoderDefaults.MessageVersionString)]
83 [TypeConverter(typeof(MessageVersionConverter))]
84 public MessageVersion MessageVersion
86 get { return (MessageVersion)base[ConfigurationStrings.MessageVersion]; }
87 set { base[ConfigurationStrings.MessageVersion] = value; }
90 [ConfigurationProperty(ConfigurationStrings.ReaderQuotas)]
91 public XmlDictionaryReaderQuotasElement ReaderQuotas
93 get { return (XmlDictionaryReaderQuotasElement) base[ConfigurationStrings.ReaderQuotas]; }
96 [ConfigurationProperty(ConfigurationStrings.WriteEncoding, DefaultValue = TextEncoderDefaults.EncodingString)]
97 [TypeConverter(typeof(EncodingConverter))]
98 public Encoding WriteEncoding
100 get { return (Encoding)base[ConfigurationStrings.WriteEncoding]; }
101 set { base[ConfigurationStrings.WriteEncoding] = value; }