| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- //------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------
- namespace System.ServiceModel.Security
- {
- using System.ComponentModel;
- public enum SecurityTokenAttachmentMode
- {
- Signed,
- Endorsing,
- SignedEndorsing,
- SignedEncrypted
- }
- static class SecurityTokenAttachmentModeHelper
- {
- internal static bool IsDefined(SecurityTokenAttachmentMode value)
- {
- return value == SecurityTokenAttachmentMode.Endorsing
- || value == SecurityTokenAttachmentMode.Signed
- || value == SecurityTokenAttachmentMode.SignedEncrypted
- || value == SecurityTokenAttachmentMode.SignedEndorsing;
- }
- internal static void Validate(SecurityTokenAttachmentMode value)
- {
- if (!IsDefined(value))
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidEnumArgumentException("value", (int)value,
- typeof(SecurityTokenAttachmentMode)));
- }
- }
- internal static void Categorize(SecurityTokenAttachmentMode value,
- out bool isBasic, out bool isSignedButNotBasic, out ReceiveSecurityHeaderBindingModes mode)
- {
- SecurityTokenAttachmentModeHelper.Validate(value);
- switch (value)
- {
- case SecurityTokenAttachmentMode.Endorsing:
- isBasic = false;
- isSignedButNotBasic = false;
- mode = ReceiveSecurityHeaderBindingModes.Endorsing;
- break;
- case SecurityTokenAttachmentMode.Signed:
- isBasic = false;
- isSignedButNotBasic = true;
- mode = ReceiveSecurityHeaderBindingModes.Signed;
- break;
- case SecurityTokenAttachmentMode.SignedEncrypted:
- isBasic = true;
- isSignedButNotBasic = false;
- mode = ReceiveSecurityHeaderBindingModes.Basic;
- break;
- case SecurityTokenAttachmentMode.SignedEndorsing:
- isBasic = false;
- isSignedButNotBasic = true;
- mode = ReceiveSecurityHeaderBindingModes.SignedEndorsing;
- break;
- default:
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value"));
- }
- }
- }
- }
|