## GrlPlugin GrlPlugin — Base class for Grilo Plugins |

## Functions

void | (*GrlPluginDeinitFunc) ()
gboolean | (*GrlPluginInitFunc) ()
void | (*GrlPluginRegisterKeysFunc) ()
const gchar * | grl_plugin_get_author ()
const gchar * | grl_plugin_get_description ()
const gchar * | grl_plugin_get_filename ()
const gchar * | grl_plugin_get_id ()
const gchar * | grl_plugin_get_license ()
GModule * | grl_plugin_get_module ()
const gchar * | grl_plugin_get_module_name ()
const gchar * | grl_plugin_get_name ()
const gchar * | grl_plugin_get_site ()
GList * | grl_plugin_get_sources ()
const gchar * | grl_plugin_get_version ()

## Properties

gboolean | loaded | Read

## Types and Values

struct | GrlPlugin
struct | GrlPluginClass
#define | GRL_PLUGIN_AUTHOR
#define | GRL_PLUGIN_DESCRIPTION
#define | GRL_PLUGIN_LICENSE
#define | GRL_PLUGIN_NAME
#define | GRL_PLUGIN_SITE
#define | GRL_PLUGIN_VERSION

## Object Hierarchy

        GObject
        ╰── GrlPlugin

## Includes

    #include <grilo.h>

## Description

Grilo is extensible, so GrlSource instances can be loaded at runtime. A plugin system can provide one or more of the basic

Grilo GrlSource subclasses.

This is a base class for anything that can be added to a Grilo Plugin.

## Functions

### GrlPluginDeinitFunc ()

    void
    (*GrlPluginDeinitFunc) (GrlPlugin *plugin);

### GrlPluginInitFunc ()

    gboolean
    (*GrlPluginInitFunc) (GrlRegistry *registry,
                          GrlPlugin *plugin,
                          GList *configs);

### GrlPluginRegisterKeysFunc ()

    void
    (*GrlPluginRegisterKeysFunc) (GrlRegistry *registry,
                                  GrlPlugin *plugin);

### grl_plugin_get_author ()

    const gchar *
    grl_plugin_get_author (GrlPlugin *plugin);

Get the author of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the author of the `plugin`

Since: 0.2.0

### grl_plugin_get_description ()

    const gchar *
    grl_plugin_get_description (GrlPlugin *plugin);

Get the description of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the description of the `plugin`

Since: 0.2.0

### grl_plugin_get_filename ()

    const gchar *
    grl_plugin_get_filename (GrlPlugin *plugin);

Get the filename containing the plugin

#### Parameters

plugin | a plugin |

#### Returns

the filename containing `plugin`

Since: 0.2.0

### grl_plugin_get_id ()

    const gchar *
    grl_plugin_get_id (GrlPlugin *plugin);

Get the id of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the id of the `plugin`

Since: 0.2.0

### grl_plugin_get_license ()

    const gchar *
    grl_plugin_get_license (GrlPlugin *plugin);

Get the license of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the license of the `plugin`

Since: 0.2.0

### grl_plugin_get_module ()

    GModule *
    grl_plugin_get_module (GrlPlugin *plugin);

Gets the GModule containing the plugin

[skip]

#### Parameters

plugin | a plugin |

#### Returns

a GModule

Since: 0.2.0

### grl_plugin_get_module_name ()

    const gchar *
    grl_plugin_get_module_name (GrlPlugin *plugin);

Get the plugin module name

#### Parameters

plugin | a plugin |

#### Returns

the module name containing `plugin`

Since: 0.3.0

### grl_plugin_get_name ()

    const gchar *
    grl_plugin_get_name (GrlPlugin *plugin);

Get the name of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the name of the `plugin`

Since: 0.2.0

### grl_plugin_get_site ()

    const gchar *
    grl_plugin_get_site (GrlPlugin *plugin);

Get the site of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the site of the `plugin`

Since: 0.2.0

### grl_plugin_get_sources ()

    GList *
    grl_plugin_get_sources (GrlPlugin *plugin);

Gets the sources belonging to `plugin` .

#### Parameters

plugin | a plugin |

#### Returns

a GList of GrlSources. The content of the list should not be modified or freed. Use `g_list_free()` when done using the list.

[transfer container][element-type GrlSource]

Since: 0.2.0

### grl_plugin_get_version ()

    const gchar *
    grl_plugin_get_version (GrlPlugin *plugin);

Get the version of the plugin

#### Parameters

plugin | a plugin |

#### Returns

the version of the `plugin`

Since: 0.2.0

## Types and Values

### struct GrlPlugin

    struct GrlPlugin;

### struct GrlPluginClass

    struct GrlPluginClass {
      GObjectClass parent_class;
    };

#### Members

### GRL_PLUGIN_AUTHOR

    #define GRL_PLUGIN_AUTHOR "author"

### GRL_PLUGIN_DESCRIPTION

    #define GRL_PLUGIN_DESCRIPTION "description"

### GRL_PLUGIN_LICENSE

    #define GRL_PLUGIN_LICENSE "license"

### GRL_PLUGIN_NAME

    #define GRL_PLUGIN_NAME "name"

### GRL_PLUGIN_SITE

    #define GRL_PLUGIN_SITE "site"

### GRL_PLUGIN_VERSION

    #define GRL_PLUGIN_VERSION "version"

## Property Details

### The `“loaded”` property

      “loaded”                   gboolean

`TRUE` if plugin is loaded.

Owner: GrlPlugin

Flags: Read

Default value: FALSE

Since: 0.2.0

## See Also

GrlSource