| 123456789101112131415161718192021222324252627282930313233343536 |
- //----------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------
- namespace System.ServiceModel.Security
- {
- using System.ServiceModel.Security.Tokens;
- using System.ServiceModel.Channels;
- using System.Xml;
- abstract class SecurityHeaderElementInferenceEngine
- {
- public abstract void ExecuteProcessingPasses(ReceiveSecurityHeader securityHeader, XmlDictionaryReader reader);
- public abstract void MarkElements(ReceiveSecurityHeaderElementManager elementManager, bool messageSecurityMode);
- public static SecurityHeaderElementInferenceEngine GetInferenceEngine(SecurityHeaderLayout layout)
- {
- SecurityHeaderLayoutHelper.Validate(layout);
- switch (layout)
- {
- case SecurityHeaderLayout.Strict:
- return StrictModeSecurityHeaderElementInferenceEngine.Instance;
- case SecurityHeaderLayout.Lax:
- return LaxModeSecurityHeaderElementInferenceEngine.Instance;
- case SecurityHeaderLayout.LaxTimestampFirst:
- return LaxTimestampFirstModeSecurityHeaderElementInferenceEngine.Instance;
- case SecurityHeaderLayout.LaxTimestampLast:
- return LaxTimestampLastModeSecurityHeaderElementInferenceEngine.Instance;
- default:
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("layout"));
- }
- }
- }
- }
|