RygelPluginLoader

RygelPluginLoader — Responsible for plugin loading. Probes for shared library files in a specific directry and tries to grab a function with a specific name and signature, calls it. The loaded module can then add plugins to Rygel by calling the add_plugin method. NOTE: The module SHOULD make sure that plugin is not disabled by user using plugin_disabled method before creating the plugin instance and resources related to that instance.

Synopsis

#define             RYGEL_TYPE_PLUGIN_LOADER
gboolean            rygel_plugin_loader_plugin_disabled (RygelPluginLoader *self,
                                                         const gchar *name);
void                rygel_plugin_loader_add_plugin      (RygelPluginLoader *self,
                                                         RygelPlugin *plugin);
RygelPlugin *       rygel_plugin_loader_get_plugin_by_name
                                                        (RygelPluginLoader *self,
                                                         const gchar *name);
GeeCollection *     rygel_plugin_loader_list_plugins    (RygelPluginLoader *self);
RygelPluginLoader * rygel_plugin_loader_new             (void);
struct              RygelPluginLoader;

Object Hierarchy

  GObject
   +----RygelRecursiveModuleLoader
         +----RygelPluginLoader

Signals

  "plugin-available"                               : Run Last

Description

Details

RYGEL_TYPE_PLUGIN_LOADER

#define RYGEL_TYPE_PLUGIN_LOADER (rygel_plugin_loader_get_type ())

The type for RygelPluginLoader.


rygel_plugin_loader_plugin_disabled ()

gboolean            rygel_plugin_loader_plugin_disabled (RygelPluginLoader *self,
                                                         const gchar *name);

Checks if a plugin is disabled by user

self :

the RygelPluginLoader instance

name :

the name of plugin to check for. [in]

Returns :

true if plugin is disabled, false if not.

rygel_plugin_loader_add_plugin ()

void                rygel_plugin_loader_add_plugin      (RygelPluginLoader *self,
                                                         RygelPlugin *plugin);

self :

the RygelPluginLoader instance

rygel_plugin_loader_get_plugin_by_name ()

RygelPlugin *       rygel_plugin_loader_get_plugin_by_name
                                                        (RygelPluginLoader *self,
                                                         const gchar *name);

self :

the RygelPluginLoader instance

rygel_plugin_loader_list_plugins ()

GeeCollection *     rygel_plugin_loader_list_plugins    (RygelPluginLoader *self);

self :

the RygelPluginLoader instance

rygel_plugin_loader_new ()

RygelPluginLoader * rygel_plugin_loader_new             (void);

struct RygelPluginLoader

struct RygelPluginLoader;

Responsible for plugin loading. Probes for shared library files in a specific directry and tries to grab a function with a specific name and signature, calls it. The loaded module can then add plugins to Rygel by calling the add_plugin method. NOTE: The module SHOULD make sure that plugin is not disabled by user using plugin_disabled method before creating the plugin instance and resources related to that instance.

Signal Details

The "plugin-available" signal

void                user_function                      (RygelPluginLoader *plugin_loader,
                                                        RygelPlugin       *plugin,
                                                        gpointer           user_data)          : Run Last

plugin_loader :

the RygelPluginLoader instance that received the signal

user_data :

user data set when the signal handler was connected.