| 20 * along with this program; if not, write to the Free Software |
20 * along with this program; if not, write to the Free Software |
| 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 22 */ |
22 */ |
| 23 #ifndef _GAIM_PLUGIN_H_ |
23 #ifndef _GAIM_PLUGIN_H_ |
| 24 #define _GAIM_PLUGIN_H_ |
24 #define _GAIM_PLUGIN_H_ |
| |
25 #include <gmodule.h> |
| 25 |
26 |
| 26 typedef enum _GaimPluginType GaimPluginType; /**< GaimPluginType */ |
27 typedef enum _GaimPluginType GaimPluginType; /**< GaimPluginType */ |
| 27 typedef struct _GaimPlugin GaimPlugin; /**< GaimPlugin */ |
28 typedef struct _GaimPlugin GaimPlugin; /**< GaimPlugin */ |
| 28 typedef struct _GaimPluginInfo GaimPluginInfo; /**< GaimPluginInfo */ |
29 typedef struct _GaimPluginInfo GaimPluginInfo; /**< GaimPluginInfo */ |
| 29 typedef struct _GaimPluginLoaderInfo GaimPluginLoaderInfo; |
30 typedef struct _GaimPluginLoaderInfo GaimPluginLoaderInfo; |
| 124 initfunc((plugin)); \ |
125 initfunc((plugin)); \ |
| 125 return gaim_plugin_register(plugin); \ |
126 return gaim_plugin_register(plugin); \ |
| 126 } |
127 } |
| 127 #else /* if !STATIC_MODULE */ |
128 #else /* if !STATIC_MODULE */ |
| 128 # define GAIM_INIT_PLUGIN(pluginname, initfunc, plugininfo) \ |
129 # define GAIM_INIT_PLUGIN(pluginname, initfunc, plugininfo) \ |
| 129 gboolean gaim_init_plugin(GaimPlugin *plugin) { \ |
130 G_MODULE_EXPORT gboolean gaim_init_plugin(GaimPlugin *plugin) { \ |
| 130 plugin->info = &(plugininfo); \ |
131 plugin->info = &(plugininfo); \ |
| 131 initfunc((plugin)); \ |
132 initfunc((plugin)); \ |
| 132 return gaim_plugin_register(plugin); \ |
133 return gaim_plugin_register(plugin); \ |
| 133 } |
134 } |
| 134 #endif |
135 #endif |