Updates referencesource to .NET 4.7
[mono-project.git] / mcs / class / referencesource / mscorlib / system / security / securitystate.cs
blob0670730089dbda484c4d04aada425680efa862b2
1 // ==++==
2 //
3 // Copyright (c) Microsoft Corporation. All rights reserved.
4 //
5 // <OWNER>Microsoft</OWNER>
7 using System;
8 using System.Security;
9 using System.Security.Permissions;
11 namespace System.Security
13 [System.Security.SecurityCritical] // auto-generated_required
14 #pragma warning disable 618
15 [PermissionSet(SecurityAction.InheritanceDemand, Unrestricted = true)]
16 #pragma warning restore 618
17 public abstract class SecurityState
19 protected SecurityState(){}
21 [System.Security.SecurityCritical] // auto-generated
22 public bool IsStateAvailable()
24 AppDomainManager domainManager = AppDomainManager.CurrentAppDomainManager;
25 #if FEATURE_CORECLR
26 // CheckSecuritySettings only when appdomainManager is present. So if there is no
27 // appDomain Manager return true as by default coreclr runs in fulltrust.
28 return domainManager != null ? domainManager.CheckSecuritySettings(this) : true;
29 #else
30 return domainManager != null ? domainManager.CheckSecuritySettings(this) : false;
31 #endif
33 // override this function and throw the appropriate
34 public abstract void EnsureState();