|  |  |  | Totem Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
#include <totem-dirs.h> #define TOTEM_PLUGIN_REGISTER (TYPE_NAME, TypeName, type_name) #define TOTEM_PLUGIN_REGISTER_CONFIGURABLE (TYPE_NAME, TypeName, type_name) char * totem_plugin_find_file (const char *plugin_name,const char *file); GtkBuilder * totem_plugin_load_interface (const char *plugin_name,const char *name,gboolean fatal,GtkWindow *parent,gpointer user_data); char ** totem_get_plugin_paths (void);
libpeas is used as a general-purpose architecture for adding plugins to Totem, with derived support for different programming languages.
The functions in totem-dirs.h are used to allow plugins to find and load files installed alongside the plugins, such as UI files.
#define TOTEM_PLUGIN_REGISTER(TYPE_NAME, TypeName, type_name)
Registers a plugin with the Totem plugin system, including registering the type specified in the parameters and declaring its activate and deactivate functions.
| 
 | the name of the plugin type, in UPPER_CASE | 
| 
 | the name of the plugin type, in CamelCase | 
| 
 | the name of the plugin type, in lower_case | 
#define TOTEM_PLUGIN_REGISTER_CONFIGURABLE(TYPE_NAME, TypeName, type_name)
Registers a configurable plugin with the Totem plugin system, including registering the type specified in the parameters and declaring its activate and deactivate and widget creation functions.
| 
 | the name of the plugin type, in UPPER_CASE | 
| 
 | the name of the plugin type, in CamelCase | 
| 
 | the name of the plugin type, in lower_case | 
char * totem_plugin_find_file (const char *plugin_name,const char *file);
Finds the specified file by looking in the plugin paths
listed by totem_get_plugin_paths() and then in the system
Totem data directory.
This should be used by plugins to find plugin-specific resource files.
| 
 | the plugin name | 
| 
 | the file to find | 
| Returns : | a newly-allocated absolute path for the file, or NULL | 
GtkBuilder * totem_plugin_load_interface (const char *plugin_name,const char *name,gboolean fatal,GtkWindow *parent,gpointer user_data);
Loads an interface file (GtkBuilder UI file) for a plugin, given its filename and assuming it's installed in the plugin's data directory.
This should be used instead of attempting to load interfaces manually in plugins.
| 
 | the plugin name | 
| 
 | interface filename | 
| 
 | TRUEif it's a fatal error if the interface can't be loaded | 
| 
 | the interface's parent GtkWindow. [allow-none] | 
| 
 | a pointer to be passed to each signal handler in the interface when they're called. [allow-none] | 
| Returns : | the GtkBuilder instance for the interface. [transfer full] | 
char **             totem_get_plugin_paths              (void);
Return a NULL-terminated array of paths to directories which can contain Totem plugins. This respects the GSettings disable_user_plugins setting.
| Returns : | a NULL-terminated array of paths to plugin directories. [transfer full] | 
Since 2.90.0