/ExpressInteropBinding/Microsoft.ServiceModel.Interop/WebLogic/Configuration/WebLogicSecurityElement.cs

# · C# · 73 lines · 39 code · 11 blank · 23 comment · 0 complexity · 6e9b36237341108a9c802120f24e66a4 MD5 · raw file

  1. // <copyright file="WebLogicSecurityElement.cs" company="Microsoft Corporation">
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. // </copyright>
  4. namespace Microsoft.ServiceModel.Interop.WebLogic.Configuration
  5. {
  6. using System.Configuration;
  7. using Microsoft.ServiceModel.Interop.Configuration;
  8. /// <summary>
  9. /// WebLogic security configuration element
  10. /// </summary>
  11. public class WebLogicSecurityElement : InteropSecurityElement
  12. {
  13. private const string ModeProperty = "mode";
  14. /// <summary>
  15. /// Initializes a new instance of the WebLogicSecurityElement class
  16. /// </summary>
  17. public WebLogicSecurityElement()
  18. {
  19. }
  20. /// <summary>
  21. /// Gets or sets the security mode
  22. /// </summary>
  23. [ConfigurationProperty(ModeProperty, IsRequired = true)]
  24. public WebLogicSecurityMode Mode
  25. {
  26. get { return (WebLogicSecurityMode)base[ModeProperty]; }
  27. set { base[ModeProperty] = value; }
  28. }
  29. /// <summary>
  30. /// Gets all the available configuration properties
  31. /// </summary>
  32. protected override ConfigurationPropertyCollection Properties
  33. {
  34. get
  35. {
  36. ConfigurationPropertyCollection properties = base.Properties;
  37. properties.Add(new ConfigurationProperty(ModeProperty, typeof(WebLogicSecurityMode), WebLogicSecurityMode.UserNameOverCertificate, ConfigurationPropertyOptions.IsRequired));
  38. return properties;
  39. }
  40. }
  41. /// <summary>
  42. /// Applies this configuration element to an existing security binding element
  43. /// </summary>
  44. /// <param name="security">Security binding element</param>
  45. public override void ApplyConfiguration(InteropSecurity security)
  46. {
  47. base.ApplyConfiguration(security);
  48. WebLogicSecurity webLogicSecurity = (WebLogicSecurity)security;
  49. webLogicSecurity.Mode = this.Mode;
  50. }
  51. /// <summary>
  52. /// Initializes this configuration element from an existing security binding element
  53. /// </summary>
  54. /// <param name="security">Security binding element</param>
  55. public override void InitializeFrom(InteropSecurity security)
  56. {
  57. base.InitializeFrom(security);
  58. WebLogicSecurity webLogicSecurity = (WebLogicSecurity)security;
  59. this.Mode = webLogicSecurity.Mode;
  60. }
  61. }
  62. }