// Paolo Molaro (lupus@ximian.com)
// Dietmar Maurer (dietmar@ximian.com)
// Miguel de Icaza (miguel@ximian.com)
+// Gonzalo Paniagua (gonzalo@ximian.com)
//
// (C) 2001, 2002 Ximian, Inc. http://www.ximian.com
//
IntPtr _mono_app_domain;
// Evidence evidence;
+
+ private AppDomain () {}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
- public extern AppDomainSetup getSetup ();
+ private extern AppDomainSetup getSetup ();
public AppDomainSetup SetupInformation {
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
- public extern string getFriendlyName ();
+ private extern string getFriendlyName ();
public string FriendlyName {
public ObjectHandle CreateInstance (string assemblyName, string typeName)
{
- return CreateInstance (assemblyName, typeName, false, 0,
- null, null, null, null, null);
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstance (assemblyName, typeName);
}
public ObjectHandle CreateInstance (string assemblyName, string typeName,
object[] activationAttributes)
{
- return CreateInstance (assemblyName, typeName, false, 0,
- null, null, null, activationAttributes, null);
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstance (assemblyName, typeName, activationAttributes);
}
- [MonoTODO]
public ObjectHandle CreateInstance (string assemblyName,
string typeName,
bool ignoreCase,
object[] args,
CultureInfo culture,
object[] activationAttributes,
- Evidence securityAttribtutes)
+ Evidence securityAttributes)
{
- throw new NotImplementedException ();
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstance (assemblyName,
+ typeName,
+ ignoreCase,
+ bindingAttr,
+ binder,
+ args,
+ culture,
+ activationAttributes,
+ securityAttributes);
+ }
+
+ public object CreateInstanceAndUnwrap (string assemblyName, string typeName)
+ {
+ ObjectHandle oh = CreateInstance (assemblyName, typeName);
+ return (oh != null) ? oh.Unwrap () : null;
+ }
+
+ public object CreateInstanceAndUnwrap (string assemblyName,
+ string typeName,
+ object [] activationAttributes)
+ {
+ ObjectHandle oh = CreateInstance (assemblyName, typeName, activationAttributes);
+ return (oh != null) ? oh.Unwrap () : null;
+ }
+
+ public object CreateInstanceAndUnwrap (string assemblyName,
+ string typeName,
+ bool ignoreCase,
+ BindingFlags bindingAttr,
+ Binder binder,
+ object[] args,
+ CultureInfo culture,
+ object[] activationAttributes,
+ Evidence securityAttributes)
+ {
+ ObjectHandle oh = CreateInstance (assemblyName,
+ typeName,
+ ignoreCase,
+ bindingAttr,
+ binder,
+ args,
+ culture,
+ activationAttributes,
+ securityAttributes);
+ return (oh != null) ? oh.Unwrap () : null;
}
public ObjectHandle CreateInstanceFrom (string assemblyName, string typeName)
{
- return CreateInstanceFrom (assemblyName, typeName, false, 0,
- null, null, null, null, null);
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstanceFrom (assemblyName, typeName);
}
public ObjectHandle CreateInstanceFrom (string assemblyName, string typeName,
object[] activationAttributes)
{
- return CreateInstanceFrom (assemblyName, typeName, false, 0,
- null, null, null, activationAttributes, null);
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstanceFrom (assemblyName, typeName, activationAttributes);
}
- [MonoTODO]
public ObjectHandle CreateInstanceFrom (string assemblyName,
string typeName,
bool ignoreCase,
object[] args,
CultureInfo culture,
object[] activationAttributes,
- Evidence securityAttribtutes)
+ Evidence securityAttributes)
{
- throw new NotImplementedException ();
+ if (assemblyName == null)
+ throw new ArgumentNullException ("assemblyName");
+
+ return Activator.CreateInstanceFrom (assemblyName,
+ typeName,
+ ignoreCase,
+ bindingAttr,
+ binder,
+ args,
+ culture,
+ activationAttributes,
+ securityAttributes);
+ }
+
+ public object CreateInstanceFromAndUnwrap (string assemblyName, string typeName)
+ {
+ ObjectHandle oh = CreateInstanceFrom (assemblyName, typeName);
+ return (oh != null) ? oh.Unwrap () : null;
+ }
+
+ public object CreateInstanceFromAndUnwrap (string assemblyName,
+ string typeName,
+ object [] activationAttributes)
+ {
+ ObjectHandle oh = CreateInstanceFrom (assemblyName, typeName, activationAttributes);
+ return (oh != null) ? oh.Unwrap () : null;
+ }
+
+ public object CreateInstanceFromAndUnwrap (string assemblyName,
+ string typeName,
+ bool ignoreCase,
+ BindingFlags bindingAttr,
+ Binder binder,
+ object[] args,
+ CultureInfo culture,
+ object[] activationAttributes,
+ Evidence securityAttributes)
+ {
+ ObjectHandle oh = CreateInstanceFrom (assemblyName,
+ typeName,
+ ignoreCase,
+ bindingAttr,
+ binder,
+ args,
+ culture,
+ activationAttributes,
+ securityAttributes);
+ return (oh != null) ? oh.Unwrap () : null;
}
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name,
{
// FIXME: examine all other parameters
- AssemblyBuilder ab = new AssemblyBuilder (name, access);
+ AssemblyBuilder ab = new AssemblyBuilder (name, dir, access);
return ab;
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public extern Assembly [] GetAssemblies ();
- [MonoTODO]
- public object GetData (string name)
- {
- throw new NotImplementedException ();
- }
+ [MethodImplAttribute(MethodImplOptions.InternalCall)]
+ public extern object GetData (string name);
public override int GetHashCode ()
{
}
[MonoTODO]
- public object GetLifetimeService ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public object InitializeLifetimeService ()
+ public override object InitializeLifetimeService ()
{
throw new NotImplementedException ();
}
[MethodImplAttribute (MethodImplOptions.InternalCall)]
- public extern Assembly LoadAssembly (AssemblyName assemblyRef, Evidence securityEvidence);
+ private extern Assembly LoadAssembly (AssemblyName assemblyRef, Evidence securityEvidence);
public Assembly Load (AssemblyName assemblyRef)
{
Evidence securityInfo,
AppDomainSetup info)
{
- if (friendlyName == null || securityInfo == null || info == null)
- throw new System.ArgumentNullException();
+ //TODO: treat securityInfo (can be null)
+ if (friendlyName == null)
+ throw new System.ArgumentNullException ("friendlyName");
+
+ if (info == null)
+ throw new System.ArgumentNullException ("info");
AppDomain ad = createDomain (friendlyName, info);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public static extern void Unload (AppDomain domain);
- [MethodImplAttribute(MethodImplOptions.InternalCall)]
- public extern object GetData ();
-
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public extern void SetData (string name, object data);
throw new NotImplementedException ();
}
+ public override string ToString () {
+ return getFriendlyName ();
+ }
+
public event AssemblyLoadEventHandler AssemblyLoad;