2004-01-19 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / appdomain.h
index cb6411dc8073e8163384e67d3fa10caf458fc782..45b8a3195bec27b40898867b750a5834cf794918 100644 (file)
@@ -37,6 +37,9 @@ typedef struct {
        MonoString *shadow_copy_files;
        MonoBoolean publisher_policy;
        MonoBoolean path_changed;
+       int loader_optimization;
+       MonoBoolean disallow_binding_redirects;
+       MonoBoolean disallow_code_downloads;
 } MonoAppDomainSetup;
 
 typedef GArray MonoJitInfoTable;
@@ -68,6 +71,7 @@ typedef struct {
        MonoObject obj;
        gint32 domain_id;
        gint32 context_id;
+       gpointer *static_data;
 } MonoAppContext;
 
 typedef enum {
@@ -106,7 +110,9 @@ struct _MonoDomain {
        MonoMethod         *create_proxy_for_type_method;
        MonoMethod         *private_invoke_method;
        MonoAppContext     *default_context;
-       GHashTable         *thread_static_fields;
+       MonoException      *out_of_memory_ex;
+       /* Used to store offsets of thread and context static fields */
+       GHashTable         *special_static_fields;
        GHashTable         *jump_target_hash;
        MonoGHashTable     *class_init_trampoline_hash;
        /* 
@@ -148,6 +154,12 @@ 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_domain_create         (void);
 
@@ -204,6 +216,12 @@ MonoObject *
 ves_icall_System_AppDomain_GetData                 (MonoAppDomain *ad, 
                                                    MonoString    *name);
 
+MonoReflectionAssembly *
+ves_icall_System_AppDomain_LoadAssemblyRaw         (MonoAppDomain *ad,
+                                                   MonoArray *raw_assembly, 
+                                                   MonoArray *raw_symbol_store,
+                                                   MonoObject *evidence);
+
 void
 ves_icall_System_AppDomain_SetData                 (MonoAppDomain *ad, 
                                                    MonoString    *name, 
@@ -223,7 +241,7 @@ ves_icall_System_Reflection_Assembly_LoadFrom      (MonoString *fname);
 
 MonoReflectionAssembly *
 ves_icall_System_AppDomain_LoadAssembly            (MonoAppDomain *ad, 
-                                                   MonoReflectionAssemblyName *assRef,
+                                                   MonoString *assRef,
                                                    MonoObject    *evidence);
 
 gboolean
@@ -253,13 +271,13 @@ ves_icall_System_AppDomain_InternalSetDomain         (MonoAppDomain *ad);
 MonoAppDomain * 
 ves_icall_System_AppDomain_InternalSetDomainByID   (gint32 domainid);
 
-MonoObject *
+void
 ves_icall_System_AppDomain_InternalPushDomainRef (MonoAppDomain *ad);
 
-MonoObject *
+void
 ves_icall_System_AppDomain_InternalPushDomainRefByID (gint32 domain_id);
 
-MonoObject *
+void
 ves_icall_System_AppDomain_InternalPopDomainRef (void);
 
 MonoAppContext *