Windows msbuild triggers too much to rebuild.
[mono.git] / mono / metadata / assembly-internals.h
1 /*
2  * Copyright 2015 Xamarin Inc
3  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
4  */
5 #ifndef __MONO_METADATA_ASSEMBLY_INTERNALS_H__
6 #define __MONO_METADATA_ASSEMBLY_INTERNALS_H__
7
8 #include <glib.h>
9
10 #include <mono/metadata/assembly.h>
11
12 MONO_API MonoImage*    mono_assembly_load_module_checked (MonoAssembly *assembly, uint32_t idx, MonoError *error);
13
14 MonoAssembly * mono_assembly_open_a_lot (const char *filename, MonoImageOpenStatus *status, gboolean refonly, gboolean load_from_context);
15
16 /* If predicate returns true assembly should be loaded, if false ignore it. */
17 typedef gboolean (*MonoAssemblyCandidatePredicate)(MonoAssembly *, gpointer);
18
19 MonoAssembly*          mono_assembly_open_predicate (const char *filename,
20                                                      gboolean refonly,
21                                                      gboolean load_from_context,
22                                                      MonoAssemblyCandidatePredicate pred,
23                                                      gpointer user_data,
24                                                      MonoImageOpenStatus *status);
25
26 MonoAssembly*          mono_assembly_load_from_predicate (MonoImage *image, const char *fname,
27                                                           gboolean refonly,
28                                                           MonoAssemblyCandidatePredicate pred,
29                                                           gpointer user_data,
30                                                           MonoImageOpenStatus *status);
31
32 /* MonoAssemblyCandidatePredicate that compares the assembly name (name, version,
33  * culture, public key token) of the candidate with the wanted name, if the
34  * wanted name has a public key token (if not present, always return true).
35  * Pass the wanted MonoAssemblyName* as the user_data.
36  */
37 gboolean
38 mono_assembly_candidate_predicate_sn_same_name (MonoAssembly *candidate, gpointer wanted_name);
39
40 #endif /* __MONO_METADATA_ASSEMBLY_INTERNALS_H__ */