## RygelPluginLoader

RygelPluginLoader — This class is responsible for plugin loading.

## Functions

gboolean | rygel_plugin_loader_plugin_disabled ()
void | rygel_plugin_loader_add_plugin ()
RygelPlugin * | rygel_plugin_loader_get_plugin_by_name ()
GeeCollection * | rygel_plugin_loader_list_plugins ()
RygelPluginLoader * | rygel_plugin_loader_new ()

## Signals

void | plugin-available | Run Last

## Types and Values

#define | RYGEL_TYPE_PLUGIN_LOADER
struct | RygelPluginLoader
struct | RygelPluginLoaderClass

## Object Hierarchy

        GObject
        ╰── RygelRecursiveModuleLoader
            ╰── RygelPluginLoader

## 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.

## Functions

### 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

#### Parameters

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

#### Parameters

self | the RygelPluginLoader instance |
plugin |  |

### rygel_plugin_loader_get_plugin_by_name ()

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

#### Parameters

self | the RygelPluginLoader instance |
name |  |

### rygel_plugin_loader_list_plugins ()

    GeeCollection *
    rygel_plugin_loader_list_plugins (RygelPluginLoader *self);

#### Parameters

self | the RygelPluginLoader instance |

### rygel_plugin_loader_new ()

    RygelPluginLoader *
    rygel_plugin_loader_new (void);

## Types and Values

### RYGEL_TYPE_PLUGIN_LOADER

    #define RYGEL_TYPE_PLUGIN_LOADER (rygel_plugin_loader_get_type ())

The type for RygelPluginLoader.

### 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.

#### Members

## Signal Details

### The `“plugin-available”` signal

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

#### Parameters

plugin_loader | the RygelPluginLoader instance that received the signal |
plugin |  |
user_data | user data set when the signal handler was connected. |

Flags: Run Last