2004-03-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
[mono.git] / mcs / class / corlib / System / _AppDomain.cs
1 //
2 // System.AppDomain.cs
3 //
4 // Author:
5 //   Duco Fijma (duco@lorentz.xs4all.nl)
6 //
7
8 using System.Security;
9 using System.Security.Policy;
10 using System.Security.Principal;
11 using System.Reflection;
12 using System.Reflection.Emit;
13 using System.Globalization;
14 using System.Runtime.Remoting;
15 using System.Runtime.InteropServices;
16
17 namespace System
18 {
19         [CLSCompliant (false)]
20         [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
21         [Guid ("05F696DC-2B29-3663-AD8B-C4389CF2A713")]
22         public interface _AppDomain
23         {
24                 string BaseDirectory {get; }
25                 string DynamicDirectory {get; }
26                 Evidence Evidence {get; }
27                 string FriendlyName {get; }
28                 string RelativeSearchPath {get; }
29                 bool ShadowCopyFiles {get; }
30
31                 void AppendPrivatePath (string path);
32                 void ClearPrivatePath ();
33                 void ClearShadowCopyPath ();
34
35                 ObjectHandle CreateInstance (string assemblyName, string typeName);
36                 ObjectHandle CreateInstance (string assemblyName, string typeName, object[] activationAttributes);
37                 ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase,
38                         BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture,
39                         object[] activationAttributes, Evidence securityAttribtutes);
40
41                 ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName);
42                 ObjectHandle CreateInstanceFrom (string assemblyName, string typeName, object[] activationAttributes);
43                 ObjectHandle CreateInstanceFrom (string assemblyName, string typeName, bool ignoreCase,
44                         BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture,
45                         object[] activationAttributes, Evidence securityAttribtutes);
46
47                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access);
48                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, Evidence evidence);
49                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir);
50                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir, Evidence evidence);
51                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access,
52                         PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPersmissions);
53                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access,
54                         Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions,
55                         PermissionSet refusedPersmissions);
56                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access,
57                         string dir, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPersmissions);
58                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access,
59                         string dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions,
60                         PermissionSet refusedPersmissions);
61                 AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
62                         Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions,
63                         PermissionSet refusedPersmissions, bool isSynchronized);
64
65                 void DoCallBack (CrossAppDomainDelegate theDelegate);
66                 bool Equals (object other);
67
68                 int ExecuteAssembly (string assemblyFile);
69                 int ExecuteAssembly (string assemblyFile, Evidence assemblySecurity);
70                 int ExecuteAssembly (string assemblyFile, Evidence assemblySecurity, string[] args);
71
72                 Assembly[] GetAssemblies ();
73                 object GetData (string name);
74                 int GetHashCode();
75                 object GetLifetimeService ();
76                 Type GetType ();
77                 object InitializeLifetimeService ();
78
79                 Assembly Load (AssemblyName assemblyRef);
80                 Assembly Load (byte[] rawAssembly);
81                 Assembly Load (string assemblyString);
82                 Assembly Load (AssemblyName assemblyRef, Evidence assemblySecurity);
83                 Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore);
84                 Assembly Load (string assemblyString, Evidence assemblySecurity);
85                 Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, Evidence securityEvidence);
86
87                 void SetAppDomainPolicy (PolicyLevel domainPolicy);
88                 void SetCachePath (string s);
89                 void SetData (string name, object data);
90                 void SetPrincipalPolicy (PrincipalPolicy policy);
91                 void SetShadowCopyPath (string s);
92                 void SetThreadPrincipal (IPrincipal principal);
93                 string ToString ();
94
95                 event AssemblyLoadEventHandler AssemblyLoad;
96                 event ResolveEventHandler AssemblyResolve;
97                 event EventHandler DomainUnload;
98                 event EventHandler ProcessExit;
99                 event ResolveEventHandler ResourceResolve;
100                 event ResolveEventHandler TypeResolve;
101                 event UnhandledExceptionEventHandler UnhandledException;
102         }
103 }