29 #ifndef _PURPLE_PLUGIN_H_
30 #define _PURPLE_PLUGIN_H_
65 #define PURPLE_PRIORITY_DEFAULT 0
66 #define PURPLE_PRIORITY_HIGHEST 9999
67 #define PURPLE_PRIORITY_LOWEST -9999
69 #define PURPLE_PLUGIN_FLAG_INVISIBLE 0x01
71 #define PURPLE_PLUGIN_MAGIC 5
81 unsigned int major_version;
82 unsigned int minor_version;
124 void (*_purple_reserved1)(void);
125 void (*_purple_reserved2)(void);
126 void (*_purple_reserved3)(void);
127 void (*_purple_reserved4)(void);
142 void (*_purple_reserved1)(void);
143 void (*_purple_reserved2)(void);
144 void (*_purple_reserved3)(void);
145 void (*_purple_reserved4)(void);
164 void (*_purple_reserved1)(void);
165 void (*_purple_reserved2)(void);
166 void (*_purple_reserved3)(void);
167 void (*_purple_reserved4)(void);
170 #define PURPLE_PLUGIN_LOADER_INFO(plugin) \
171 ((PurplePluginLoaderInfo *)(plugin)->info->extra_info)
174 PurplePluginPrefFrame *(*get_plugin_pref_frame)(
PurplePlugin *plugin);
179 void (*_purple_reserved1)(void);
180 void (*_purple_reserved2)(void);
181 void (*_purple_reserved3)(void);
182 void (*_purple_reserved4)(void);
185 #define PURPLE_PLUGIN_HAS_PREF_FRAME(plugin) \
186 ((plugin)->info != NULL && (plugin)->info->prefs_info != NULL)
188 #define PURPLE_PLUGIN_UI_INFO(plugin) \
189 ((PurplePluginUiInfo*)(plugin)->info->prefs_info)
209 #define PURPLE_PLUGIN_HAS_ACTIONS(plugin) \
210 ((plugin)->info != NULL && (plugin)->info->actions != NULL)
212 #define PURPLE_PLUGIN_ACTIONS(plugin, context) \
213 (PURPLE_PLUGIN_HAS_ACTIONS(plugin)? \
214 (plugin)->info->actions(plugin, context): NULL)
220 #if !defined(PURPLE_PLUGINS) || defined(PURPLE_STATIC_PRPL)
221 # define _FUNC_NAME(x) purple_init_##x##_plugin
222 # define PURPLE_INIT_PLUGIN(pluginname, initfunc, plugininfo) \
223 gboolean _FUNC_NAME(pluginname)(void);\
224 gboolean _FUNC_NAME(pluginname)(void) { \
225 PurplePlugin *plugin = purple_plugin_new(TRUE, NULL); \
226 plugin->info = &(plugininfo); \
227 initfunc((plugin)); \
228 purple_plugin_load((plugin)); \
229 return purple_plugin_register(plugin); \
232 # define PURPLE_INIT_PLUGIN(pluginname, initfunc, plugininfo) \
233 G_MODULE_EXPORT gboolean purple_init_plugin(PurplePlugin *plugin); \
234 G_MODULE_EXPORT gboolean purple_init_plugin(PurplePlugin *plugin) { \
235 plugin->info = &(plugininfo); \
236 initfunc((plugin)); \
237 return purple_plugin_register(plugin); \
453 PurpleSignalMarshalFunc marshal,
569 #if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_PLUGIN_C_)
580 #if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_PLUGIN_C_)
590 #if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_PLUGIN_C_)
602 #if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_PLUGIN_C_)
612 #if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_PLUGIN_C_)
624 #if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_PLUGIN_C_)