2002-06-08 Martin Baulig <martin@gnome.org>
[mono.git] / mcs / class / corlib / System / _AppDomain.cs
1 //
2 // System._AppDomain
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
16 namespace System
17 {
18
19 [CLSCompliant(false)]
20 public interface _AppDomain {
21
22         string BaseDirectory {get; }
23         string DynamicDirectory {get; }
24         Evidence Evidence {get; }
25         string FriendlyName {get; }
26         string RelativeSearchPath {get; }
27         bool ShadowCopyFiles {get; }
28
29         void AppendPrivatePath (string path);
30         void ClearPrivatePath ();
31         void ClearShadowCopyPath ();
32
33         ObjectHandle CreateInstance (string assemblyName, string typeName);
34         ObjectHandle CreateInstance (
35                 string assemblyName,
36                 string typeName,
37                 object[] activationAttributes);
38         ObjectHandle CreateInstance (
39                 string assemblyName,
40                 string typeName,
41                 bool ignoreCase,
42                 BindingFlags bindingAttr,
43                 Binder binder,
44                 object[] args,
45                 CultureInfo culture,
46                 object[] activationAttributes,
47                 Evidence securityAttribtutes);
48
49         ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName);
50         ObjectHandle CreateInstanceFrom (
51                 string assemblyName, string typeName,
52                 object[] activationAttributes);
53         ObjectHandle CreateInstanceFrom (string assemblyName,
54                 string typeName,
55                 bool ignoreCase,
56                 BindingFlags bindingAttr,
57                 Binder binder,
58                 object[] args,
59                 CultureInfo culture,
60                 object[] activationAttributes,
61                 Evidence securityAttribtutes);
62
63         AssemblyBuilder DefineDynamicAssembly (
64                 AssemblyName name,
65                 AssemblyBuilderAccess access);
66         AssemblyBuilder DefineDynamicAssembly (
67                 AssemblyName name,
68                 AssemblyBuilderAccess access,
69                 Evidence evidence);
70         AssemblyBuilder DefineDynamicAssembly (
71                 AssemblyName name,
72                 AssemblyBuilderAccess access, string dir);
73         AssemblyBuilder DefineDynamicAssembly (
74                 AssemblyName name,
75                 AssemblyBuilderAccess access,
76                 string dir,
77                 Evidence evidence);
78         AssemblyBuilder DefineDynamicAssembly (
79                 AssemblyName name,
80                 AssemblyBuilderAccess access,
81                 PermissionSet requiredPermissions,
82                 PermissionSet optionalPermissions,
83                 PermissionSet refusedPersmissions);
84         AssemblyBuilder DefineDynamicAssembly (
85                 AssemblyName name,
86                 AssemblyBuilderAccess access,
87                 Evidence evidence,
88                 PermissionSet requiredPermissions,
89                 PermissionSet optionalPermissions,
90                 PermissionSet refusedPersmissions);
91         AssemblyBuilder DefineDynamicAssembly (
92                 AssemblyName name,
93                 AssemblyBuilderAccess access,
94                 string dir,
95                 PermissionSet requiredPermissions,
96                 PermissionSet optionalPermissions,
97                 PermissionSet refusedPersmissions);
98         AssemblyBuilder DefineDynamicAssembly (
99                 AssemblyName name,
100                 AssemblyBuilderAccess access,
101                 string dir,
102                 Evidence evidence,
103                 PermissionSet requiredPermissions,
104                 PermissionSet optionalPermissions,
105                 PermissionSet refusedPersmissions);
106         AssemblyBuilder DefineDynamicAssembly (
107                 AssemblyName name,
108                 AssemblyBuilderAccess access,
109                 string dir,
110                 Evidence evidence,
111                 PermissionSet requiredPermissions,
112                 PermissionSet optionalPermissions,
113                 PermissionSet refusedPersmissions,
114                 bool isSynchronized);
115
116         void DoCallBack (CrossAppDomainDelegate theDelegate);
117         bool Equals (object other);
118
119         int ExecuteAssembly (string assemblyFile);
120         int ExecuteAssembly (string assemblyFile, Evidence assemblySecurity);
121         int ExecuteAssembly (
122                 string assemblyFile,
123                 Evidence assemblySecurity,
124                 string[] args);
125
126         Assembly[] GetAssemblies ();
127         object GetData (string name);
128         int GetHashCode();
129         object GetLifetimeService ();
130         Type GetType ();
131         object InitializeLifetimeService ();
132
133         Assembly Load (AssemblyName assemblyRef);
134         Assembly Load (byte[] rawAssembly);
135         Assembly Load (string assemblyString);
136         Assembly Load (AssemblyName assemblyRef, Evidence assemblySecurity);
137         Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore);
138         Assembly Load (string assemblyString, Evidence assemblySecurity);
139         Assembly Load (
140                 byte[] rawAssembly,
141                 byte[] rawSymbolStore,
142                 Evidence securityEvidence);
143
144         void SetAppDomainPolicy (PolicyLevel domainPolicy);
145         void SetCachePath (string s);
146         void SetData (string name, object data);
147         void SetPrincipalPolicy (PrincipalPolicy policy);
148         void SetShadowCopyPath (string s);
149         void SetThreadPrincipal (IPrincipal principal);
150         //string ToString ();
151
152         event AssemblyLoadEventHandler AssemblyLoad;
153         event ResolveEventHandler AssemblyResolve;
154         event EventHandler DomainUnload;
155         event EventHandler ProcessExit;
156         event ResolveEventHandler ResourceResolve;
157         event ResolveEventHandler TypeResolve;
158         event UnhandledExceptionEventHandler UnhandledException;
159 }
160
161 }