X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fappdomain.h;h=f2ee91f8ee730884303f8d5197cbaa3fc1fb0b39;hb=dd866d68820e0f66046256bb5d3f84e3988a8be0;hp=c3ba0be22b2786302a2585e6c3c51de28326881b;hpb=0eb8b6e3fe3ba2ee4884b8ebbda858d0c9ebb8e1;p=mono.git diff --git a/mono/metadata/appdomain.h b/mono/metadata/appdomain.h index c3ba0be22b2..f2ee91f8ee7 100644 --- a/mono/metadata/appdomain.h +++ b/mono/metadata/appdomain.h @@ -10,102 +10,163 @@ #ifndef _MONO_METADATA_APPDOMAIN_H_ #define _MONO_METADATA_APPDOMAIN_H_ -#include #include #include #include +#include -/* This is a copy of System.AppDomainSetup */ -typedef struct { - MonoObject object; - MonoString *application_base; - MonoString *application_name; - MonoString *cache_path; - MonoString *configuration_file; - MonoString *dynamic_base; - MonoString *license_file; - MonoString *private_bin_path; - MonoString *private_bin_path_probe; - MonoString *shadow_copy_directories; - MonoString *shadow_copy_files; - MonoBoolean publisher_policy; -} MonoAppDomainSetup; +typedef void (*MonoThreadStartCB) (guint32 tid, gpointer stack_start, + gpointer func); +typedef void (*MonoThreadAttachCB) (guint32 tid, gpointer stack_start); typedef struct _MonoAppDomain MonoAppDomain; +typedef struct _MonoAppContext MonoAppContext; +typedef struct _MonoJitInfo MonoJitInfo; -struct _MonoDomain { - MonoAppDomain *domain; - GHashTable *env; - GHashTable *assemblies; - MonoAppDomainSetup *setup; - MonoString *friendly_name; - GHashTable *ldstr_table; - GHashTable *class_vtable_hash; - GHashTable *jit_code_hash; -}; - -/* This is a copy of System.AppDomain */ -struct _MonoAppDomain { - MonoObject object; - MonoDomain *data; -}; +typedef void (*MonoDomainFunc) (MonoDomain *domain, gpointer user_data); + +MonoDomain* +mono_init (const char *filename); + +MonoDomain* +mono_get_root_domain (void); + +void +mono_runtime_init (MonoDomain *domain, MonoThreadStartCB start_cb, + MonoThreadAttachCB attach_cb); + +void +mono_runtime_cleanup (MonoDomain *domain); + +void +mono_runtime_install_cleanup (MonoDomainFunc func); + +void +mono_runtime_quit (void); + +gboolean +mono_runtime_is_shutting_down (void); + +const char* +mono_check_corlib_version (void); MonoDomain * -mono_init (void); +mono_domain_create (void); + +inline MonoDomain * +mono_domain_get (void); inline MonoDomain * -mono_domain_get (void); +mono_domain_get_by_id (gint32 domainid); + +gint32 +mono_domain_get_id (MonoDomain *domain); + +inline gboolean +mono_domain_set (MonoDomain *domain, gboolean force); inline void -mono_domain_set (MonoDomain *domain); +mono_domain_set_internal (MonoDomain *domain); + +gboolean +mono_domain_is_unloading (MonoDomain *domain); + +void +mono_domain_foreach (MonoDomainFunc func, gpointer user_data); MonoAssembly * -mono_domain_assembly_open (MonoDomain *domain, char *name); +mono_domain_assembly_open (MonoDomain *domain, const char *name); + +gboolean +mono_domain_finalize (MonoDomain *domain, guint32 timeout); void -mono_domain_unload (MonoDomain *domain); +mono_domain_free (MonoDomain *domain, gboolean force); + +gboolean +mono_domain_has_type_resolve (MonoDomain *domain); + +MonoReflectionAssembly * +mono_domain_try_type_resolve (MonoDomain *domain, char *name, MonoObject *tb); void -ves_icall_System_AppDomainSetup_InitAppDomainSetup (MonoAppDomainSetup *setup); +mono_context_init (MonoDomain *domain); -MonoAppDomain * -ves_icall_System_AppDomain_getCurDomain (void); +inline void +mono_context_set (MonoAppContext *new_context); -MonoAppDomain * -ves_icall_System_AppDomain_createDomain (MonoString *friendly_name, - MonoAppDomainSetup *setup); +inline MonoAppContext * +mono_context_get (void); -MonoObject * -ves_icall_System_AppDomain_GetData (MonoAppDomain *ad, - MonoString *name); +MonoJitInfo * +mono_jit_info_table_find (MonoDomain *domain, char *addr); -void -ves_icall_System_AppDomain_SetData (MonoAppDomain *ad, - MonoString *name, - MonoObject *data); +MonoImage* +mono_get_corlib (void); -MonoAppDomainSetup * -ves_icall_System_AppDomain_getSetup (MonoAppDomain *ad); +MonoClass* +mono_get_object_class (void); -MonoString * -ves_icall_System_AppDomain_getFriendlyName (MonoAppDomain *ad); +MonoClass* +mono_get_byte_class (void); -MonoArray * -ves_icall_System_AppDomain_GetAssemblies (MonoAppDomain *ad); +MonoClass* +mono_get_void_class (void); -MonoReflectionAssembly * -ves_icall_System_AppDomain_LoadAssembly (MonoAppDomain *ad, - MonoReflectionAssemblyName *assRef, - MonoObject *evidence); +MonoClass* +mono_get_boolean_class (void); -void -ves_icall_System_AppDomain_Unload (MonoAppDomain *ad); +MonoClass* +mono_get_sbyte_class (void); -gint32 -ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad, - MonoString *file, - MonoObject *evidence, - MonoArray *args); +MonoClass* +mono_get_int16_class (void); + +MonoClass* +mono_get_uint16_class (void); + +MonoClass* +mono_get_int32_class (void); + +MonoClass* +mono_get_uint32_class (void); + +MonoClass* +mono_get_intptr_class (void); + +MonoClass* +mono_get_uintptr_class (void); + +MonoClass* +mono_get_int64_class (void); + +MonoClass* +mono_get_uint64_class (void); + +MonoClass* +mono_get_single_class (void); + +MonoClass* +mono_get_double_class (void); + +MonoClass* +mono_get_char_class (void); + +MonoClass* +mono_get_string_class (void); + +MonoClass* +mono_get_enum_class (void); + +MonoClass* +mono_get_array_class (void); + +MonoClass* +mono_get_thread_class (void); + +MonoClass* +mono_get_exception_class (void); #endif /* _MONO_METADATA_APPDOMAIN_H_ */ +