22#define EXTERNAL_C_LINKAGE extern "C"
24#define C_INTERFACE_START EXTERNAL_C_LINKAGE {
25#define C_INTERFACE_END }
29#define C_INTERFACE_START
30#define C_INTERFACE_END
33#define JAMI_PLUGIN_ABI_VERSION 1
37#define JAMI_PLUGIN_API_VERSION 2
111#define JAMI_DYN_INIT_FUNC_NAME "JAMI_dynPluginInit"
112#define JAMI_PLUGIN_INIT_STATIC(fname, pname) JAMI_PLUGIN_INIT(fname, pname)
113#define JAMI_PLUGIN_INIT_DYNAMIC(pname) JAMI_PLUGIN_INIT(JAMI_dynPluginInit, pname)
121#define JAMI_PLUGIN_INIT(fname, pname) \
122 (EXTERNAL_C_LINKAGE JAMI_PluginExitFunc fname(const JAMI_PluginAPI* pname))
123#define JAMI_PLUGIN_EXIT(fname) (EXTERNAL_C_LINKAGE void fname(void))
#define C_INTERFACE_START
void(* JAMI_PluginDestroyFunc)(void *object, void *closure)
void(* JAMI_PluginExitFunc)(void)
int32_t(* JAMI_PluginFunc)(const JAMI_PluginAPI *api, const char *name, void *data)
JAMI_PluginExitFunc(* JAMI_PluginInitFunc)(const JAMI_PluginAPI *api)
void *(* JAMI_PluginCreateFunc)(JAMI_PluginObjectParams *params, void *closure)
This structure is filled by the PluginManager.
JAMI_PluginFunc manageComponent
JAMI_PluginVersion version
JAMI_PluginFunc invokeService
JAMI_PluginFunc registerObjectFactory
This structure is filled by plugin.
JAMI_PluginCreateFunc create
JAMI_PluginDestroyFunc destroy
JAMI_PluginVersion version
JAMI_PluginCreateFunc parameter.
const JAMI_PluginAPI * pluginApi
Contains ABI and API versions.