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;
}
}