[bcl] Updates referencesource to 4.7.1
[mono-project.git] / mcs / class / referencesource / System.ServiceModel / System / ServiceModel / Configuration / MsmqTransportSecurityElement.cs
blob33fdefbd85523d17b3d83e38c3031b63b7f6cef6
1 //------------------------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //------------------------------------------------------------------------------
5 namespace System.ServiceModel.Configuration
7 using System.Configuration;
8 using System.Globalization;
9 using System.Net;
10 using System.Net.Security;
11 using System.ServiceModel;
12 using System.ServiceModel.Channels;
13 using System.ServiceModel.Security;
14 using System.ComponentModel;
16 public sealed partial class MsmqTransportSecurityElement : ServiceModelConfigurationElement
19 [ConfigurationProperty(ConfigurationStrings.MsmqAuthenticationMode, DefaultValue = MsmqDefaults.MsmqAuthenticationMode)]
20 [ServiceModelEnumValidator(typeof(MsmqAuthenticationModeHelper))]
21 public MsmqAuthenticationMode MsmqAuthenticationMode
23 get { return (MsmqAuthenticationMode)base[ConfigurationStrings.MsmqAuthenticationMode]; }
24 set { base[ConfigurationStrings.MsmqAuthenticationMode] = value; }
27 [ConfigurationProperty(ConfigurationStrings.MsmqEncryptionAlgorithm, DefaultValue = MsmqDefaults.MsmqEncryptionAlgorithm)]
28 [ServiceModelEnumValidator(typeof(MsmqEncryptionAlgorithmHelper))]
29 public MsmqEncryptionAlgorithm MsmqEncryptionAlgorithm
31 get { return (MsmqEncryptionAlgorithm)base[ConfigurationStrings.MsmqEncryptionAlgorithm]; }
32 set { base[ConfigurationStrings.MsmqEncryptionAlgorithm] = value; }
35 [ConfigurationProperty(ConfigurationStrings.MsmqProtectionLevel, DefaultValue = MsmqDefaults.MsmqProtectionLevel)]
36 [ServiceModelEnumValidator(typeof(ProtectionLevelHelper))]
37 public ProtectionLevel MsmqProtectionLevel
39 get { return (ProtectionLevel)base[ConfigurationStrings.MsmqProtectionLevel]; }
40 set { base[ConfigurationStrings.MsmqProtectionLevel] = value; }
43 [ConfigurationProperty(ConfigurationStrings.MsmqSecureHashAlgorithm)]
44 [ServiceModelEnumValidator(typeof(MsmqSecureHashAlgorithmHelper))]
45 public MsmqSecureHashAlgorithm MsmqSecureHashAlgorithm
47 get { return (MsmqSecureHashAlgorithm)(base[ConfigurationStrings.MsmqSecureHashAlgorithm] ?? MsmqDefaults.MsmqSecureHashAlgorithm); }
48 set { base[ConfigurationStrings.MsmqSecureHashAlgorithm] = value; }
51 internal void ApplyConfiguration(MsmqTransportSecurity security)
53 if (security == null)
54 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security");
56 security.MsmqAuthenticationMode = this.MsmqAuthenticationMode;
57 security.MsmqEncryptionAlgorithm = this.MsmqEncryptionAlgorithm;
58 security.MsmqProtectionLevel = this.MsmqProtectionLevel;
59 security.MsmqSecureHashAlgorithm = this.MsmqSecureHashAlgorithm;
62 internal void InitializeFrom(MsmqTransportSecurity security)
64 if (security == null)
65 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security");
67 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MsmqAuthenticationMode, security.MsmqAuthenticationMode);
68 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MsmqEncryptionAlgorithm, security.MsmqEncryptionAlgorithm);
69 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MsmqProtectionLevel, security.MsmqProtectionLevel);
70 SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MsmqSecureHashAlgorithm, security.MsmqSecureHashAlgorithm);