Thu, 24 Oct 2013 03:37:02 +0530
Merged default branch
| 15884 | 1 | #ifndef _PURPLE_MONO_LOADER_MONO_HELPER_H_ |
| 2 | #define _PURPLE_MONO_LOADER_MONO_HELPER_H_ | |
| 11660 | 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 "debug.h" | |
| 12 | ||
| 13 | typedef struct { | |
| 15884 | 14 | PurplePlugin *plugin; |
|
31293
169eeb43b52c
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
15938
diff
changeset
|
15 | |
| 11660 | 16 | MonoAssembly *assm; |
| 17 | MonoClass *klass; | |
|
31293
169eeb43b52c
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
15938
diff
changeset
|
18 | MonoObject *obj; |
|
169eeb43b52c
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
15938
diff
changeset
|
19 | |
| 11660 | 20 | MonoMethod *init; |
| 21 | MonoMethod *load; | |
| 22 | MonoMethod *unload; | |
| 23 | MonoMethod *destroy; | |
|
31293
169eeb43b52c
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
15938
diff
changeset
|
24 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
25 | GList *signal_data; |
| 15884 | 26 | } PurpleMonoPlugin; |
| 11660 | 27 | |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
11996
diff
changeset
|
28 | gboolean ml_init(void); |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
29 | |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
11996
diff
changeset
|
30 | void ml_uninit(void); |
|
11952
9cefc8360bff
[gaim-migrate @ 14243]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11660
diff
changeset
|
31 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
32 | MonoObject* ml_invoke(MonoMethod *method, void *obj, void **params); |
|
11952
9cefc8360bff
[gaim-migrate @ 14243]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11660
diff
changeset
|
33 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
34 | MonoObject* ml_delegate_invoke(MonoObject *method, void **params); |
| 11660 | 35 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
36 | MonoClass* ml_find_plugin_class(MonoImage *image); |
|
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
37 | |
|
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
38 | gchar* ml_get_prop_string(MonoObject *obj, char *field); |
| 11660 | 39 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
40 | void ml_set_prop_string(MonoObject *obj, char *field, char *data); |
| 11660 | 41 | |
|
15938
1b037158411e
SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
42 | MonoObject* ml_get_info_prop(MonoObject *obj); |
|
1b037158411e
SF Patch #1686400 from Eoin Coffey ("ecoffey")
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
43 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
44 | gboolean ml_is_api_dll(MonoImage *image); |
| 11660 | 45 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
46 | MonoDomain* ml_get_domain(void); |
|
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
47 | |
|
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
48 | void ml_set_domain(MonoDomain *d); |
| 11660 | 49 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
50 | void ml_init_internal_calls(void); |
| 11660 | 51 | |
|
35008
e3277f6c9c03
Removed the use of PurpleValue/PurpleType from mono
Ankit Vani <a@nevitus.org>
parents:
34799
diff
changeset
|
52 | MonoObject* ml_object_from_purple_type(GType type, gpointer data); |
| 11660 | 53 | |
|
11996
858bd928831c
[gaim-migrate @ 14289]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11980
diff
changeset
|
54 | MonoObject* ml_create_api_object(char *class_name); |
|
858bd928831c
[gaim-migrate @ 14289]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11980
diff
changeset
|
55 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
56 | void ml_set_api_image(MonoImage *image); |
| 11660 | 57 | |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
11996
diff
changeset
|
58 | MonoImage* ml_get_api_image(void); |
| 11660 | 59 | |
| 60 | /* hash table stuff; probably don't need it anymore */ | |
| 61 | ||
| 15884 | 62 | void ml_add_plugin(PurpleMonoPlugin *plugin); |
| 11660 | 63 | |
| 15884 | 64 | gboolean ml_remove_plugin(PurpleMonoPlugin *plugin); |
| 11660 | 65 | |
| 15884 | 66 | gpointer ml_find_plugin(PurpleMonoPlugin *plugin); |
| 11660 | 67 | |
|
11980
fe5c2c58508c
[gaim-migrate @ 14273]
Eoin Coffey <ecoffey@soc.pidgin.im>
parents:
11952
diff
changeset
|
68 | gpointer ml_find_plugin_by_class(MonoClass *klass); |
| 11660 | 69 | |
|
12323
f52908fb23b0
[gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents:
11996
diff
changeset
|
70 | GHashTable* ml_get_plugin_hash(void); |
| 11660 | 71 | |
| 72 | #endif |