Mercurial > pidgin.yaz
annotate plugins/mono/loader/mono-helper.h @ 12547:a25bdcad6b21
[gaim-migrate @ 14865]
La la la la laaaaaaa, little birdies
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 18 Dec 2005 15:22:58 +0000 |
parents | fc464a0abccc |
children |
rev | line source |
---|---|
11660 | 1 #ifndef _GAIM_MONO_LOADER_MONO_HELPER_H_ |
2 #define _GAIM_MONO_LOADER_MONO_HELPER_H_ | |
3 | |
4 #include <mono/jit/jit.h> | |
5 #include <mono/metadata/object.h> | |
6 #include <mono/metadata/environment.h> | |
7 #include <mono/metadata/assembly.h> | |
8 #include <mono/metadata/debug-helpers.h> | |
9 #include <mono/metadata/tokentype.h> | |
10 #include "plugin.h" | |
11 #include "value.h" | |
12 #include "debug.h" | |
13 | |
14 typedef struct { | |
15 GaimPlugin *plugin; | |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
16 |
11660 | 17 MonoAssembly *assm; |
18 MonoClass *klass; | |
19 MonoObject *obj; | |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
20 |
11660 | 21 MonoMethod *init; |
22 MonoMethod *load; | |
23 MonoMethod *unload; | |
24 MonoMethod *destroy; | |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
25 |
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
26 GList *signal_data; |
11660 | 27 } GaimMonoPlugin; |
28 | |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11996
diff
changeset
|
29 gboolean ml_init(void); |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
30 |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11996
diff
changeset
|
31 void ml_uninit(void); |
11952 | 32 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
33 MonoObject* ml_invoke(MonoMethod *method, void *obj, void **params); |
11952 | 34 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
35 MonoObject* ml_delegate_invoke(MonoObject *method, void **params); |
11660 | 36 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
37 MonoClass* ml_find_plugin_class(MonoImage *image); |
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
38 |
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
39 gchar* ml_get_prop_string(MonoObject *obj, char *field); |
11660 | 40 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
41 void ml_set_prop_string(MonoObject *obj, char *field, char *data); |
11660 | 42 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
43 gboolean ml_is_api_dll(MonoImage *image); |
11660 | 44 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
45 MonoDomain* ml_get_domain(void); |
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
46 |
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
47 void ml_set_domain(MonoDomain *d); |
11660 | 48 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
49 void ml_init_internal_calls(void); |
11660 | 50 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
51 MonoObject* ml_object_from_gaim_type(GaimType type, gpointer data); |
11660 | 52 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
53 MonoObject* ml_object_from_gaim_subtype(GaimSubType type, gpointer data); |
11660 | 54 |
11996
ecd33ffb0b0a
[gaim-migrate @ 14289]
Gary Kramlich <grim@reaperworld.com>
parents:
11980
diff
changeset
|
55 MonoObject* ml_create_api_object(char *class_name); |
ecd33ffb0b0a
[gaim-migrate @ 14289]
Gary Kramlich <grim@reaperworld.com>
parents:
11980
diff
changeset
|
56 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
57 void ml_set_api_image(MonoImage *image); |
11660 | 58 |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11996
diff
changeset
|
59 MonoImage* ml_get_api_image(void); |
11660 | 60 |
61 /* hash table stuff; probably don't need it anymore */ | |
62 | |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
63 void ml_add_plugin(GaimMonoPlugin *plugin); |
11660 | 64 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
65 gboolean ml_remove_plugin(GaimMonoPlugin *plugin); |
11660 | 66 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
67 gpointer ml_find_plugin(GaimMonoPlugin *plugin); |
11660 | 68 |
11980
67fbd2ff4c4e
[gaim-migrate @ 14273]
Gary Kramlich <grim@reaperworld.com>
parents:
11952
diff
changeset
|
69 gpointer ml_find_plugin_by_class(MonoClass *klass); |
11660 | 70 |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
11996
diff
changeset
|
71 GHashTable* ml_get_plugin_hash(void); |
11660 | 72 |
73 #endif |