| 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 |
|
TRUE if 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