pidgin/pidgin
Clone
Summary
Browse
Changes
Graph
Create a glibcompat.h to define G_GNUC_(BEGIN,END)_IGNORE_DEPRECATIONS which was added in 2.32.0 but we only require 2.16.0
release-2.x.y
2019-11-11, Gary Kramlich
dc5e8cca7434
Create a glibcompat.h to define G_GNUC_(BEGIN,END)_IGNORE_DEPRECATIONS which was added in 2.32.0 but we only require 2.16.0
#ifndef _PURPLE_MONO_LOADER_MONO_HELPER_H_
#define _PURPLE_MONO_LOADER_MONO_HELPER_H_
#include
<mono/jit/jit.h>
#include
<mono/metadata/object.h>
#include
<mono/metadata/environment.h>
#include
<mono/metadata/assembly.h>
#include
<mono/metadata/debug-helpers.h>
#include
<mono/metadata/tokentype.h>
#include
"plugin.h"
#include
"value.h"
#include
"debug.h"
typedef
struct
{
PurplePlugin
*
plugin
;
MonoAssembly
*
assm
;
MonoClass
*
klass
;
MonoObject
*
obj
;
MonoMethod
*
init
;
MonoMethod
*
load
;
MonoMethod
*
unload
;
MonoMethod
*
destroy
;
GList
*
signal_data
;
}
PurpleMonoPlugin
;
gboolean
ml_init
(
void
);
void
ml_uninit
(
void
);
MonoObject
*
ml_invoke
(
MonoMethod
*
method
,
void
*
obj
,
void
**
params
);
MonoObject
*
ml_delegate_invoke
(
MonoObject
*
method
,
void
**
params
);
MonoClass
*
ml_find_plugin_class
(
MonoImage
*
image
);
gchar
*
ml_get_prop_string
(
MonoObject
*
obj
,
char
*
field
);
void
ml_set_prop_string
(
MonoObject
*
obj
,
char
*
field
,
char
*
data
);
MonoObject
*
ml_get_info_prop
(
MonoObject
*
obj
);
gboolean
ml_is_api_dll
(
MonoImage
*
image
);
MonoDomain
*
ml_get_domain
(
void
);
void
ml_set_domain
(
MonoDomain
*
d
);
void
ml_init_internal_calls
(
void
);
MonoObject
*
ml_object_from_purple_type
(
PurpleType
type
,
gpointer
data
);
MonoObject
*
ml_object_from_purple_subtype
(
PurpleSubType
type
,
gpointer
data
);
MonoObject
*
ml_create_api_object
(
char
*
class_name
);
void
ml_set_api_image
(
MonoImage
*
image
);
MonoImage
*
ml_get_api_image
(
void
);
/* hash table stuff; probably don't need it anymore */
void
ml_add_plugin
(
PurpleMonoPlugin
*
plugin
);
gboolean
ml_remove_plugin
(
PurpleMonoPlugin
*
plugin
);
gpointer
ml_find_plugin
(
PurpleMonoPlugin
*
plugin
);
gpointer
ml_find_plugin_by_class
(
MonoClass
*
klass
);
GHashTable
*
ml_get_plugin_hash
(
void
);
#endif