## AgsPlugin

AgsPlugin — interfacing plugins

## Stability Level

Stable, unless otherwise indicated

## Functions

gchar * | ags_plugin_get_name ()
void | ags_plugin_set_name ()
gchar * | ags_plugin_get_version ()
void | ags_plugin_set_version ()
gchar * | ags_plugin_get_build_id ()
void | ags_plugin_set_build_id ()
gchar * | ags_plugin_get_xml_type ()
void | ags_plugin_set_xml_type ()
GList * | ags_plugin_get_ports ()
void | ags_plugin_set_ports ()
void | ags_plugin_read ()
xmlNode * | ags_plugin_write ()

## Object Hierarchy

        GInterface
        ╰── AgsPlugin

## Includes

    #include <ags/object/ags_plugin.h>

## Description

The AgsPlugin interface gives you a unique access to classes. It can be used by AgsFile and solves some of the serialization.

## Functions

### ags_plugin_get_name ()

    gchar *
    ags_plugin_get_name (AgsPlugin *plugin);

Retrieve the name of the plugin.

#### Parameters

plugin | an `AgsPlugin` |

#### Returns

the plugins name

Since: 3.0.0

### ags_plugin_set_name ()

    void
    ags_plugin_set_name (AgsPlugin *plugin,
                         gchar *name);

Set the name of the plugin.

#### Parameters

plugin | an `AgsPlugin` |
name | the name of plugin |

Since: 3.0.0

### ags_plugin_get_version ()

    gchar *
    ags_plugin_get_version (AgsPlugin *plugin);

Retrieve the version of the plugin.

#### Parameters

plugin | an `AgsPlugin` |

#### Returns

the plugins version

Since: 3.0.0

### ags_plugin_set_version ()

    void
    ags_plugin_set_version (AgsPlugin *plugin,
                            gchar *version);

Set the version of the plugin.

#### Parameters

plugin | an `AgsPlugin` |
version | the version of plugin |

Since: 3.0.0

### ags_plugin_get_build_id ()

    gchar *
    ags_plugin_get_build_id (AgsPlugin *plugin);

Retrieve the build id of the plugin.

#### Parameters

plugin | an `AgsPlugin` |

#### Returns

the plugins build id

Since: 3.0.0

### ags_plugin_set_build_id ()

    void
    ags_plugin_set_build_id (AgsPlugin *plugin,
                             gchar *build_id);

Set the build id of the plugin.

#### Parameters

plugin | an `AgsPlugin` |
build_id | the build id of plugin |

Since: 3.0.0

### ags_plugin_get_xml_type ()

    gchar *
    ags_plugin_get_xml_type (AgsPlugin *plugin);

Retrieve the xml type of the plugin.

#### Parameters

plugin | an `AgsPlugin` |

#### Returns

the plugins xml type

Since: 3.0.0

### ags_plugin_set_xml_type ()

    void
    ags_plugin_set_xml_type (AgsPlugin *plugin,
                             gchar *xml_type);

Set the build id of the plugin.

#### Parameters

plugin | an `AgsPlugin` |
xml_type | the build id of plugin |

Since: 3.0.0

### ags_plugin_get_ports ()

    GList *
    ags_plugin_get_ports (AgsPlugin *plugin);

Retrieve the ports of the plugin.

#### Parameters

plugin | an `AgsPlugin` |

#### Returns

the plugins ports.

[element-type GObject][transfer full]

Since: 3.0.0

### ags_plugin_set_ports ()

    void
    ags_plugin_set_ports (AgsPlugin *plugin,
                          GList *ports);

Set the build id of the plugin.

#### Parameters

plugin | an `AgsPlugin` |
ports | the build id of plugin. | [element-type GObject][transfer none]

Since: 3.0.0

### ags_plugin_read ()

    void
    ags_plugin_read (GObject *file,
                     xmlNode *node,
                     AgsPlugin *plugin);

Read of file.

#### Parameters

file | the GObject |
node | the node |
plugin | the AgsPlugin |

Since: 3.0.0

### ags_plugin_write ()

    xmlNode *
    ags_plugin_write (GObject *file,
                      xmlNode *parent,
                      AgsPlugin *plugin);

Write to file.

#### Parameters

file | the GObject |
parent | the parent node |
plugin | the AgsPlugin |

#### Returns

the new node you created.

[transfer none]

Since: 3.0.0