## STPlugin

STPlugin — an object for describing a plugin.

## Synopsis

    struct      STPlugin;
    void        st_plugin_set_name              (STPlugin *plugin,
                                                 const char *name);
    void        st_plugin_set_label             (STPlugin *plugin,
                                                 const char *label);
    void        st_plugin_set_icon_from_pixbuf  (STPlugin *plugin,
                                                 GdkPixbuf *pixbuf);
    gboolean    (*STPluginGetInfoCallback)      (STPlugin *plugin,
                                                 GError **err);
    gboolean    (*STPluginInitCallback)         (GError **err);

## Description

## Details

### struct STPlugin

    struct STPlugin {

      GObject		object;

      STPluginPrivate	*priv;

      gpointer		reserved[16];
    };

### st_plugin_set_name ()

    void        st_plugin_set_name              (STPlugin *plugin,
                                                 const char *name);

Sets the plugin internal name.

`plugin` : | a plugin.
`name` : | the plugin name.

### st_plugin_set_label ()

    void        st_plugin_set_label             (STPlugin *plugin,
                                                 const char *label);

Sets the plugin label, which will be used in the plugins preferences, and in various other places of the user interface.

`plugin` : | a plugin.
`label` : | the plugin label.

### st_plugin_set_icon_from_pixbuf ()

    void        st_plugin_set_icon_from_pixbuf  (STPlugin *plugin,
                                                 GdkPixbuf *pixbuf);

Sets the plugin icon from a GdkPixbuf.

`plugin` : | a plugin.
`pixbuf` : | an icon.

### STPluginGetInfoCallback ()

    gboolean    (*STPluginGetInfoCallback)      (STPlugin *plugin,
                                                 GError **err);

Specifies the type of the plugin information function.

If a plugin contains a function named `plugin_get_info()`, it will be called before `plugin_init()`. The function should set the plugin information using `st_plugin_set_name()`, `st_plugin_set_label()`, etc.

`plugin` : | a plugin.
`err` : | a location to store errors.
Returns : | the function should return `FALSE` if streamtuner must not initialize the plugin. In such case it should also set `err`.

### STPluginInitCallback ()

    gboolean    (*STPluginInitCallback)         (GError **err);

Specifies the type of the plugin initialization function.

A plugin must contain a function named `plugin_init()`, which will be called when the plugin is loaded.

`err` : | a location to store errors.
Returns : | the function should return `FALSE` if the plugin could not be initialized. In such case it should also set `err`.

## See Also

STHandler, st-version