[assembly] Add mono_assembly_open_predicate function
[mono.git] / mono / metadata / assembly-internals.h
index c24e328f33083ff1c3beb8da8736aefe9be59bf7..e40603a388bc170711c858311e2512b978bee770 100644 (file)
@@ -5,10 +5,22 @@
 #ifndef __MONO_METADATA_ASSEMBLY_INTERNALS_H__
 #define __MONO_METADATA_ASSEMBLY_INTERNALS_H__
 
+#include <glib.h>
+
 #include <mono/metadata/assembly.h>
 
 MONO_API MonoImage*    mono_assembly_load_module_checked (MonoAssembly *assembly, uint32_t idx, MonoError *error);
 
 MonoAssembly * mono_assembly_open_a_lot (const char *filename, MonoImageOpenStatus *status, gboolean refonly, gboolean load_from_context);
 
+/* If predicate returns true assembly should be loaded, if false ignore it. */
+typedef gboolean (*MonoAssemblyOpenPredicate)(MonoAssembly *, gpointer);
+
+MonoAssembly*          mono_assembly_open_predicate (const char *filename,
+                                                    gboolean refonly,
+                                                    gboolean load_from_context,
+                                                    MonoAssemblyOpenPredicate pred,
+                                                    gpointer user_data,
+                                                    MonoImageOpenStatus *status);
+
 #endif /* __MONO_METADATA_ASSEMBLY_INTERNALS_H__ */