RygelPluginLoader

RygelPluginLoader — This class is responsible for plugin loading.

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;
struct              RygelPluginLoaderClass;

Object Hierarchy

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

Signals

  "plugin-available"                               : Run Last

Description

It probes for shared library files in a specific directory, tries to find a module_init() function with this signature: void module_init (RygelPluginLoader* loader);

It then calls that function, passing a pointer to itself. The loaded module can then add plugins to Rygel by calling the rygel_plugin_loader_add_plugin() function.

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 the 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;

This class is responsible for plugin loading.

It probes for shared library files in a specific directory, tries to find a module_init() function with this signature: void module_init (RygelPluginLoader* loader);

It then calls that function, passing a pointer to itself. The loaded module can then add plugins to Rygel by calling the rygel_plugin_loader_add_plugin() function.


struct RygelPluginLoaderClass

struct RygelPluginLoaderClass {
	RygelRecursiveModuleLoaderClass parent_class;
};

The class structure for RYGEL_TYPE_PLUGIN_LOADER. All the fields in this structure are private and should never be accessed directly.

RygelRecursiveModuleLoaderClass parent_class;

the parent class structure

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.