aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-plugin.h
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-10-07 17:37:33 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-10-07 17:37:33 +0800
commit714fcc165ac9d611625f80015fc8eb7912de8eaa (patch)
treea01d54be78129a4c7905710745f5f07ebe349afa /e-util/e-plugin.h
parentb0e927b258bc1a05fc5df822dbfb55b3f5679d31 (diff)
downloadgsoc2013-evolution-714fcc165ac9d611625f80015fc8eb7912de8eaa.tar.gz
gsoc2013-evolution-714fcc165ac9d611625f80015fc8eb7912de8eaa.tar.zst
gsoc2013-evolution-714fcc165ac9d611625f80015fc8eb7912de8eaa.zip
noop if we're disabled, and do some lifecycle stuff now, call
2004-10-07 Not Zed <NotZed@Ximian.com> * e-plugin.c (epl_invoke): noop if we're disabled, and do some lifecycle stuff now, call e_plugin_lib_enable on the module if it exists. svn path=/trunk/; revision=27494
Diffstat (limited to 'e-util/e-plugin.h')
-rw-r--r--e-util/e-plugin.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/e-util/e-plugin.h b/e-util/e-plugin.h
index 802469acb4..1ecc75b308 100644
--- a/e-util/e-plugin.h
+++ b/e-util/e-plugin.h
@@ -102,6 +102,13 @@ char *e_plugin_xml_content_domain(xmlNodePtr node, const char *domain);
typedef struct _EPluginLib EPluginLib;
typedef struct _EPluginLibClass EPluginLibClass;
+/* The callback signature used for epluginlib methods */
+typedef void *(EPluginLibFunc)(EPluginLib *ep, void *data);
+/* The setup method, this will be called when the plugin is
+ * initialised. In the future it may also be called when the plugin
+ * is disabled. */
+typedef int (EPluginLibEnableFunc)(EPluginLib *ep, int enable);
+
/**
* struct _EPluginLib -
*
@@ -112,6 +119,9 @@ typedef struct _EPluginLibClass EPluginLibClass;
* This is a concrete EPlugin class. It loads and invokes dynamically
* loaded libraries using GModule. The shared object isn't loaded
* until the first callback is invoked.
+ *
+ * When the plugin is loaded, and if it exists, "e_plugin_lib_enable"
+ * will be invoked to initialise the
**/
struct _EPluginLib {
EPlugin plugin;