AuditLogLocation.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. //----------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel
  5. {
  6. using System.ServiceModel.Security;
  7. using System.ComponentModel;
  8. public enum AuditLogLocation
  9. {
  10. Default,
  11. Application,
  12. Security,
  13. }
  14. static class AuditLogLocationHelper
  15. {
  16. public static bool IsDefined(AuditLogLocation auditLogLocation)
  17. {
  18. if (auditLogLocation == AuditLogLocation.Security && !SecurityAuditHelper.IsSecurityAuditSupported)
  19. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new PlatformNotSupportedException(SR.GetString(SR.SecurityAuditPlatformNotSupported)));
  20. return auditLogLocation == AuditLogLocation.Default
  21. || auditLogLocation == AuditLogLocation.Application
  22. || auditLogLocation == AuditLogLocation.Security;
  23. }
  24. public static void Validate(AuditLogLocation value)
  25. {
  26. if (!IsDefined(value))
  27. {
  28. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidEnumArgumentException("value", (int)value,
  29. typeof(AuditLogLocation)));
  30. }
  31. }
  32. }
  33. }