diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2009-11-11 07:33:33 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2009-11-11 07:33:33 +0000 |
commit | eeaacb022ff357997665fa17a9b43b9b9823dd38 (patch) | |
tree | 0d21dbd9f7bb37c0cbcaae71766b258ad665d055 /src/plugin.c | |
parent | 30d77dbdd0591aad49e7cbff3b32f0ad82e73fad (diff) |
added plugin APIs.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2343 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/plugin.c')
-rw-r--r-- | src/plugin.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/plugin.c b/src/plugin.c index 1078f78f..51968572 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -36,6 +36,8 @@ enum { #define SAFE_CALL(func_ptr) { if (func_ptr) func_ptr(); } #define SAFE_CALL_RET(func_ptr) (func_ptr ? func_ptr() : NULL) +#define SAFE_CALL_RET_VAL(func_ptr, retval) \ + (func_ptr ? func_ptr() : retval) #define SAFE_CALL_ARG1(func_ptr, arg1) { if (func_ptr) func_ptr(arg1); } #define SAFE_CALL_ARG1_RET(func_ptr, arg1) \ (func_ptr ? func_ptr(arg1) : NULL) @@ -119,7 +121,8 @@ void syl_plugin_signal_emit(const gchar *name, ...) guint signal_id; if (g_signal_parse_name(name, G_TYPE_FROM_INSTANCE(plugin_obj), &signal_id, NULL, FALSE)) { - va_list var_args; + \ + va_list var_args; va_start(var_args, name); g_signal_emit_valist(plugin_obj, signal_id, 0, var_args); va_end(var_args); @@ -335,6 +338,30 @@ const gchar *syl_plugin_get_prog_version(void) return (gchar *)sym; } +void syl_plugin_main_window_lock(void) +{ + void (*func)(gpointer); + gpointer mainwin; + + mainwin = syl_plugin_main_window_get(); + if (mainwin) { + func = syl_plugin_lookup_symbol("main_window_lock"); + SAFE_CALL_ARG1(func, mainwin); + } +} + +void syl_plugin_main_window_unlock(void) +{ + void (*func)(gpointer); + gpointer mainwin; + + mainwin = syl_plugin_main_window_get(); + if (mainwin) { + func = syl_plugin_lookup_symbol("main_window_unlock"); + SAFE_CALL_ARG1(func, mainwin); + } +} + gpointer syl_plugin_main_window_get(void) { gpointer (*func)(void); @@ -692,6 +719,14 @@ void syl_plugin_inc_mail(void) SAFE_CALL_ARG1(func, syl_plugin_main_window_get()); } +gboolean syl_plugin_inc_is_active(void) +{ + gboolean (*func)(void); + + func = syl_plugin_lookup_symbol("inc_is_active"); + return SAFE_CALL_RET_VAL(func, FALSE); +} + void syl_plugin_inc_lock(void) { void (*func)(void); |