2 * appdomain.h: AppDomain functions
5 * Dietmar Maurer (dietmar@ximian.com)
7 * (C) 2001 Ximian, Inc.
10 #ifndef _MONO_METADATA_APPDOMAIN_H_
11 #define _MONO_METADATA_APPDOMAIN_H_
16 #include <mono/metadata/object.h>
17 #include <mono/metadata/reflection.h>
18 #include <mono/metadata/mempool.h>
20 /* This is a copy of System.AppDomainSetup */
23 MonoString *application_base;
24 MonoString *application_name;
25 MonoString *cache_path;
26 MonoString *configuration_file;
27 MonoString *dynamic_base;
28 MonoString *license_file;
29 MonoString *private_bin_path;
30 MonoString *private_bin_path_probe;
31 MonoString *shadow_copy_directories;
32 MonoString *shadow_copy_files;
33 MonoBoolean publisher_policy;
36 typedef struct _MonoAppDomain MonoAppDomain;
39 MonoAppDomain *domain;
42 GHashTable *assemblies;
43 MonoAppDomainSetup *setup;
44 MonoString *friendly_name;
45 GHashTable *ldstr_table;
46 GHashTable *class_vtable_hash;
47 GHashTable *jit_code_hash;
50 /* This is a copy of System.AppDomain */
51 struct _MonoAppDomain {
56 extern MonoDomain *mono_root_domain;
59 mono_init (const char *filename);
62 mono_domain_get (void);
65 mono_domain_set (MonoDomain *domain);
68 mono_domain_assembly_open (MonoDomain *domain, char *name);
71 mono_domain_unload (MonoDomain *domain, gboolean force);
74 ves_icall_System_AppDomainSetup_InitAppDomainSetup (MonoAppDomainSetup *setup);
77 ves_icall_System_AppDomain_getCurDomain (void);
80 ves_icall_System_AppDomain_createDomain (MonoString *friendly_name,
81 MonoAppDomainSetup *setup);
84 ves_icall_System_AppDomain_GetData (MonoAppDomain *ad,
88 ves_icall_System_AppDomain_SetData (MonoAppDomain *ad,
93 ves_icall_System_AppDomain_getSetup (MonoAppDomain *ad);
96 ves_icall_System_AppDomain_getFriendlyName (MonoAppDomain *ad);
99 ves_icall_System_AppDomain_GetAssemblies (MonoAppDomain *ad);
101 MonoReflectionAssembly *
102 ves_icall_System_AppDomain_LoadAssembly (MonoAppDomain *ad,
103 MonoReflectionAssemblyName *assRef,
104 MonoObject *evidence);
107 ves_icall_System_AppDomain_Unload (MonoAppDomain *ad);
110 ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad,
112 MonoObject *evidence,
115 #endif /* _MONO_METADATA_APPDOMAIN_H_ */