// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
-// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005,2009 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Reflection;
using System.Runtime.Hosting;
using System.Runtime.InteropServices;
namespace System {
+#if MONO_FEATURE_MULTIPLE_APPDOMAINS
[ComVisible (true)]
[SecurityPermission (SecurityAction.LinkDemand, Infrastructure = true)]
[SecurityPermission (SecurityAction.InheritanceDemand, Infrastructure = true)]
public class AppDomainManager : MarshalByRefObject {
-
private ApplicationActivator _activator;
private AppDomainManagerInitializationOptions _flags;
}
}
- [MonoTODO]
public virtual Assembly EntryAssembly {
- get { throw new NotImplementedException (); }
+ get { return Assembly.GetEntryAssembly (); }
}
[MonoTODO]
// default does nothing (as documented)
}
+ // available in FX2.0 with service pack 1, including the 2.0 shipped as part of FX3.5
+ public virtual bool CheckSecuritySettings (SecurityState state)
+ {
+ return false;
+ }
+
// static
// FIXME: maybe AppDomain.CreateDomain should be calling this?
return AppDomain.CreateDomain (friendlyName, securityInfo, appDomainInfo);
}
}
-}
+#else
+ [Obsolete ("AppDomainManager is not supported on the current platform.", true)]
+ public class AppDomainManager : MarshalByRefObject {
+ public AppDomainManager ()
+ {
+ throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform.");
+ }
+
+ public virtual ApplicationActivator ApplicationActivator {
+ get { throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform."); }
+ }
+
+ public virtual Assembly EntryAssembly {
+ get { throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform."); }
+ }
+
+ public virtual HostExecutionContextManager HostExecutionContextManager {
+ get { throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform."); }
+ }
+
+ public virtual HostSecurityManager HostSecurityManager {
+ get { throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform."); }
+ }
+
+ public AppDomainManagerInitializationOptions InitializationFlags {
+ get { throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform."); }
+ set { throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform."); }
+ }
+
+ public virtual AppDomain CreateDomain (string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo)
+ {
+ throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform.");
+ }
+
+ public virtual void InitializeNewDomain (AppDomainSetup appDomainInfo)
+ {
+ throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform.");
+ }
+
+ public virtual bool CheckSecuritySettings (SecurityState state)
+ {
+ throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform.");
+ }
-#endif
+ protected static AppDomain CreateDomainHelper (string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo)
+ {
+ throw new PlatformNotSupportedException ("AppDomainManager is not supported on the current platform.");
+ }
+ }
+
+#endif // MONO_FEATURE_MULTIPLE_APPDOMAINS
+}