using System; using System.Reflection; using System.Runtime.Hosting; using System.Runtime.InteropServices; using System.Security; using System.Security.Policy; using System.Threading; namespace System { /// Provides a managed equivalent of an unmanaged host. /// The caller does not have the correct permissions. See the Requirements section. /// 2 // Token: 0x02000631 RID: 1585 [ComVisible(true)] public class AppDomainManager : MarshalByRefObject { /// Initializes a new instance of the class. // Token: 0x06003ABE RID: 15038 RVA: 0x000C8F68 File Offset: 0x000C7168 public AppDomainManager() { this._flags = AppDomainManagerInitializationOptions.None; } /// Gets the application activator that handles the activation of add-ins and manifest-based applications for the domain. /// An object. /// 1 // Token: 0x17000B31 RID: 2865 // (get) Token: 0x06003ABF RID: 15039 RVA: 0x000C8F78 File Offset: 0x000C7178 public virtual ApplicationActivator ApplicationActivator { get { if (this._activator == null) { this._activator = new ApplicationActivator(); } return this._activator; } } /// Gets the entry assembly for an application. /// An object representing the entry assembly for the application. /// 1 // Token: 0x17000B32 RID: 2866 // (get) Token: 0x06003AC0 RID: 15040 RVA: 0x000C8F98 File Offset: 0x000C7198 public virtual Assembly EntryAssembly { get { return Assembly.GetEntryAssembly(); } } /// Gets the host execution context manager that manages the flow of the execution context. /// A object. /// 2 /// /// /// // Token: 0x17000B33 RID: 2867 // (get) Token: 0x06003AC1 RID: 15041 RVA: 0x000C8FA0 File Offset: 0x000C71A0 [MonoTODO] public virtual HostExecutionContextManager HostExecutionContextManager { get { throw new NotImplementedException(); } } /// Gets the host security manager that participates in security decisions for the application domain. /// A object. /// 2 /// /// /// // Token: 0x17000B34 RID: 2868 // (get) Token: 0x06003AC2 RID: 15042 RVA: 0x000C8FA8 File Offset: 0x000C71A8 public virtual HostSecurityManager HostSecurityManager { get { return null; } } /// Gets the initialization flags for custom application domain managers. /// A bitwise combination of the describing the initialization action to perform. The default is . /// 1 // Token: 0x17000B35 RID: 2869 // (get) Token: 0x06003AC3 RID: 15043 RVA: 0x000C8FAC File Offset: 0x000C71AC // (set) Token: 0x06003AC4 RID: 15044 RVA: 0x000C8FB4 File Offset: 0x000C71B4 public AppDomainManagerInitializationOptions InitializationFlags { get { return this._flags; } set { this._flags = value; } } /// Returns an application domain that can be either a new or existing domain. /// An object. /// The friendly name of the domain. /// An object that contains evidence mapped through the security policy to establish a top-of-stack permission set. /// An object that contains application domain initialization information. /// 2 /// /// /// // Token: 0x06003AC5 RID: 15045 RVA: 0x000C8FC0 File Offset: 0x000C71C0 public virtual AppDomain CreateDomain(string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { this.InitializeNewDomain(appDomainInfo); AppDomain appDomain = AppDomainManager.CreateDomainHelper(friendlyName, securityInfo, appDomainInfo); if ((this.HostSecurityManager.Flags & HostSecurityManagerOptions.HostPolicyLevel) == HostSecurityManagerOptions.HostPolicyLevel) { PolicyLevel domainPolicy = this.HostSecurityManager.DomainPolicy; if (domainPolicy != null) { appDomain.SetAppDomainPolicy(domainPolicy); } } return appDomain; } /// Initializes the new application domain. /// An object that contains application domain initialization information. /// 2 /// /// /// // Token: 0x06003AC6 RID: 15046 RVA: 0x000C900C File Offset: 0x000C720C public virtual void InitializeNewDomain(AppDomainSetup appDomainInfo) { } /// Returns a indicating whether the specified operation is allowed in the application domain. /// true if the host allows the operation specified by to be performed in the application domain; otherwise false. /// A subclass of that identifies the operation whose security status is requested. // Token: 0x06003AC7 RID: 15047 RVA: 0x000C9010 File Offset: 0x000C7210 public virtual bool CheckSecuritySettings(SecurityState state) { return false; } /// Provides a helper method to create an application domain. /// A newly created object. /// The friendly name of the domain. /// An object that contains evidence mapped through the security policy to establish a top-of-stack permission set. /// An object that contains application domain initialization information. /// /// is null. // Token: 0x06003AC8 RID: 15048 RVA: 0x000C9014 File Offset: 0x000C7214 protected static AppDomain CreateDomainHelper(string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { return AppDomain.CreateDomain(friendlyName, securityInfo, appDomainInfo); } // Token: 0x04001780 RID: 6016 private ApplicationActivator _activator; // Token: 0x04001781 RID: 6017 private AppDomainManagerInitializationOptions _flags; } }