#include <glib/glist.h>
#include <gmodule.h>
#include "signals.h"
#include "value.h"
#include "pluginpref.h"
Include dependency graph for plugin.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | _PurplePluginInfo |
Detailed information about a plugin. More... | |
struct | _PurplePluginLoaderInfo |
Extra information for loader plugins. More... | |
struct | _PurplePlugin |
A plugin handle. More... | |
struct | _PurplePluginUiInfo |
struct | _PurplePluginAction |
The structure used in the actions member of PurplePluginInfo. More... | |
Plugin API | |
PurplePlugin * | purple_plugin_new (gboolean native, const char *path) |
Creates a new plugin structure. | |
PurplePlugin * | purple_plugin_probe (const char *filename) |
Probes a plugin, retrieving the information on it and adding it to the list of available plugins. | |
gboolean | purple_plugin_register (PurplePlugin *plugin) |
Registers a plugin and prepares it for loading. | |
gboolean | purple_plugin_load (PurplePlugin *plugin) |
Attempts to load a previously probed plugin. | |
gboolean | purple_plugin_unload (PurplePlugin *plugin) |
Unloads the specified plugin. | |
void | purple_plugin_disable (PurplePlugin *plugin) |
Disable a plugin. | |
gboolean | purple_plugin_reload (PurplePlugin *plugin) |
Reloads a plugin. | |
void | purple_plugin_destroy (PurplePlugin *plugin) |
Unloads a plugin and destroys the structure from memory. | |
gboolean | purple_plugin_is_loaded (const PurplePlugin *plugin) |
Returns whether or not a plugin is currently loaded. | |
gboolean | purple_plugin_is_unloadable (const PurplePlugin *plugin) |
Returns whether or not a plugin is unloadable. | |
const gchar * | purple_plugin_get_id (const PurplePlugin *plugin) |
Returns a plugin's id. | |
const gchar * | purple_plugin_get_name (const PurplePlugin *plugin) |
Returns a plugin's name. | |
const gchar * | purple_plugin_get_version (const PurplePlugin *plugin) |
Returns a plugin's version. | |
const gchar * | purple_plugin_get_summary (const PurplePlugin *plugin) |
Returns a plugin's summary. | |
const gchar * | purple_plugin_get_description (const PurplePlugin *plugin) |
Returns a plugin's description. | |
const gchar * | purple_plugin_get_author (const PurplePlugin *plugin) |
Returns a plugin's author. | |
const gchar * | purple_plugin_get_homepage (const PurplePlugin *plugin) |
Returns a plugin's homepage. | |
Plugin IPC API | |
gboolean | purple_plugin_ipc_register (PurplePlugin *plugin, const char *command, PurpleCallback func, PurpleSignalMarshalFunc marshal, PurpleValue *ret_value, int num_params,...) |
Registers an IPC command in a plugin. | |
void | purple_plugin_ipc_unregister (PurplePlugin *plugin, const char *command) |
Unregisters an IPC command in a plugin. | |
void | purple_plugin_ipc_unregister_all (PurplePlugin *plugin) |
Unregisters all IPC commands in a plugin. | |
gboolean | purple_plugin_ipc_get_params (PurplePlugin *plugin, const char *command, PurpleValue **ret_value, int *num_params, PurpleValue ***params) |
Returns a list of value types used for an IPC command. | |
void * | purple_plugin_ipc_call (PurplePlugin *plugin, const char *command, gboolean *ok,...) |
Executes an IPC command. | |
Plugins API | |
void | purple_plugins_add_search_path (const char *path) |
Add a new directory to search for plugins. | |
void | purple_plugins_unload_all (void) |
Unloads all loaded plugins. | |
void | purple_plugins_destroy_all (void) |
Destroys all registered plugins. | |
void | purple_plugins_save_loaded (const char *key) |
Saves the list of loaded plugins to the specified preference key. | |
void | purple_plugins_load_saved (const char *key) |
Attempts to load all the plugins in the specified preference key that were loaded when purple last quit. | |
void | purple_plugins_probe (const char *ext) |
Probes for plugins in the registered module paths. | |
gboolean | purple_plugins_enabled (void) |
Returns whether or not plugin support is enabled. | |
void | purple_plugins_register_probe_notify_cb (void(*func)(void *), void *data) |
Registers a function that will be called when probing is finished. | |
void | purple_plugins_unregister_probe_notify_cb (void(*func)(void *)) |
Unregisters a function that would be called when probing is finished. | |
void | purple_plugins_register_load_notify_cb (void(*func)(PurplePlugin *, void *), void *data) |
Registers a function that will be called when a plugin is loaded. | |
void | purple_plugins_unregister_load_notify_cb (void(*func)(PurplePlugin *, void *)) |
Unregisters a function that would be called when a plugin is loaded. | |
void | purple_plugins_register_unload_notify_cb (void(*func)(PurplePlugin *, void *), void *data) |
Registers a function that will be called when a plugin is unloaded. | |
void | purple_plugins_unregister_unload_notify_cb (void(*func)(PurplePlugin *, void *)) |
Unregisters a function that would be called when a plugin is unloaded. | |
PurplePlugin * | purple_plugins_find_with_name (const char *name) |
Finds a plugin with the specified name. | |
PurplePlugin * | purple_plugins_find_with_filename (const char *filename) |
Finds a plugin with the specified filename (filename with a path). | |
PurplePlugin * | purple_plugins_find_with_basename (const char *basename) |
Finds a plugin with the specified basename (filename without a path). | |
PurplePlugin * | purple_plugins_find_with_id (const char *id) |
Finds a plugin with the specified plugin ID. | |
GList * | purple_plugins_get_loaded (void) |
Returns a list of all loaded plugins. | |
GList * | purple_plugins_get_protocols (void) |
Returns a list of all valid protocol plugins. | |
GList * | purple_plugins_get_all (void) |
Returns a list of all plugins, whether loaded or not. | |
Plugins SubSytem API | |
void * | purple_plugins_get_handle (void) |
Returns the plugin subsystem handle. | |
void | purple_plugins_init (void) |
Initializes the plugin subsystem. | |
void | purple_plugins_uninit (void) |
Uninitializes the plugin subsystem. | |
Defines | |
#define | PURPLE_PRIORITY_DEFAULT 0 |
#define | PURPLE_PRIORITY_HIGHEST 9999 |
#define | PURPLE_PRIORITY_LOWEST -9999 |
#define | PURPLE_PLUGIN_FLAG_INVISIBLE 0x01 |
#define | PURPLE_PLUGIN_MAGIC 5 |
#define | PURPLE_PLUGIN_LOADER_INFO(plugin) ((PurplePluginLoaderInfo *)(plugin)->info->extra_info) |
#define | PURPLE_PLUGIN_HAS_PREF_FRAME(plugin) ((plugin)->info != NULL && (plugin)->info->prefs_info != NULL) |
#define | PURPLE_PLUGIN_UI_INFO(plugin) ((PurplePluginUiInfo*)(plugin)->info->prefs_info) |
#define | PURPLE_PLUGIN_HAS_ACTIONS(plugin) ((plugin)->info != NULL && (plugin)->info->actions != NULL) |
#define | PURPLE_PLUGIN_ACTIONS(plugin, context) |
#define | _FUNC_NAME(x) purple_init_##x##_plugin |
Handles the initialization of modules. | |
#define | PURPLE_INIT_PLUGIN(pluginname, initfunc, plugininfo) |
Typedefs | |
typedef _PurplePlugin | PurplePlugin |
typedef _PurplePluginInfo | PurplePluginInfo |
typedef _PurplePluginUiInfo | PurplePluginUiInfo |
typedef _PurplePluginLoaderInfo | PurplePluginLoaderInfo |
typedef _PurplePluginAction | PurplePluginAction |
typedef int | PurplePluginPriority |
Plugin priority. | |
Enumerations | |
enum | PurplePluginType { PURPLE_PLUGIN_UNKNOWN = -1, PURPLE_PLUGIN_STANDARD = 0, PURPLE_PLUGIN_LOADER, PURPLE_PLUGIN_PROTOCOL } |
Plugin types. More... | |
Functions | |
PurplePluginAction * | purple_plugin_action_new (const char *label, void(*callback)(PurplePluginAction *)) |
Allocates and returns a new PurplePluginAction. | |
void | purple_plugin_action_free (PurplePluginAction *action) |
Frees a PurplePluginAction. |
Definition in file plugin.h.
|
Value: gboolean _FUNC_NAME(pluginname)(void);\ gboolean _FUNC_NAME(pluginname)(void) { \ PurplePlugin *plugin = purple_plugin_new(TRUE, NULL); \ plugin->info = &(plugininfo); \ initfunc((plugin)); \ purple_plugin_load((plugin)); \ return purple_plugin_register(plugin); \ } |
|
Value: (PURPLE_PLUGIN_HAS_ACTIONS(plugin)? \ (plugin)->info->actions(plugin, context): NULL) |
|
Plugin types.
|
|
Frees a PurplePluginAction.
|
|
Allocates and returns a new PurplePluginAction.
|
|
Unloads a plugin and destroys the structure from memory.
|
|
Disable a plugin. This function adds the plugin to a list of plugins to "disable at the next startup" by excluding said plugins from the list of plugins to save. The UI needs to call purple_plugins_save_loaded() after calling this for it to have any effect.
|
|
Returns a plugin's author.
|
|
Returns a plugin's description.
|
|
Returns a plugin's homepage.
|
|
Returns a plugin's id.
|
|
Returns a plugin's name.
|
|
Returns a plugin's summary.
|
|
Returns a plugin's version.
|
|
Executes an IPC command.
|
|
Returns a list of value types used for an IPC command.
|
|
Registers an IPC command in a plugin.
|
|
Unregisters an IPC command in a plugin.
|
|
Unregisters all IPC commands in a plugin.
|
|
Returns whether or not a plugin is currently loaded.
|
|
Returns whether or not a plugin is unloadable.
If this returns
|
|
Attempts to load a previously probed plugin.
|
|
Creates a new plugin structure.
|
|
Probes a plugin, retrieving the information on it and adding it to the list of available plugins.
|
|
Registers a plugin and prepares it for loading. This shouldn't be called by anything but the internal module code. Plugins should use the PURPLE_INIT_PLUGIN() macro to register themselves with the core.
|
|
Reloads a plugin.
|
|
Unloads the specified plugin.
|
|
Add a new directory to search for plugins.
|
|
Returns whether or not plugin support is enabled.
|
|
Finds a plugin with the specified basename (filename without a path).
|
|
Finds a plugin with the specified filename (filename with a path).
|
|
Finds a plugin with the specified plugin ID.
|
|
Finds a plugin with the specified name.
|
|
Returns a list of all plugins, whether loaded or not.
|
|
Returns the plugin subsystem handle.
|
|
Returns a list of all loaded plugins.
|
|
Returns a list of all valid protocol plugins. A protocol plugin is considered invalid if it does not contain the call to the PURPLE_INIT_PLUGIN() macro, or if it was compiled against an incompatable API version.
|
|
Attempts to load all the plugins in the specified preference key that were loaded when purple last quit.
|
|
Probes for plugins in the registered module paths.
|
|
Registers a function that will be called when a plugin is loaded.
|
|
Registers a function that will be called when probing is finished.
|
|
Registers a function that will be called when a plugin is unloaded.
|
|
Saves the list of loaded plugins to the specified preference key.
|
|
Unregisters a function that would be called when a plugin is loaded.
|
|
Unregisters a function that would be called when probing is finished.
|
|
Unregisters a function that would be called when a plugin is unloaded.
|