diff options
Diffstat (limited to 'src/mscorlib/src/System/Security/SecurityState.cs')
-rw-r--r-- | src/mscorlib/src/System/Security/SecurityState.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/Security/SecurityState.cs b/src/mscorlib/src/System/Security/SecurityState.cs new file mode 100644 index 0000000000..bd23acd813 --- /dev/null +++ b/src/mscorlib/src/System/Security/SecurityState.cs @@ -0,0 +1,34 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +using System; +using System.Security; +using System.Security.Permissions; + +namespace System.Security +{ + [System.Security.SecurityCritical] // auto-generated_required +#pragma warning disable 618 + [PermissionSet(SecurityAction.InheritanceDemand, Unrestricted = true)] +#pragma warning restore 618 + public abstract class SecurityState + { + protected SecurityState(){} + + [System.Security.SecurityCritical] // auto-generated + public bool IsStateAvailable() + { + AppDomainManager domainManager = AppDomainManager.CurrentAppDomainManager; +#if FEATURE_CORECLR + // CheckSecuritySettings only when appdomainManager is present. So if there is no + // appDomain Manager return true as by default coreclr runs in fulltrust. + return domainManager != null ? domainManager.CheckSecuritySettings(this) : true; +#else + return domainManager != null ? domainManager.CheckSecuritySettings(this) : false; +#endif + } + // override this function and throw the appropriate + public abstract void EnsureState(); + } + +} |