AgsPlugin

AgsPlugin — interfacing plugins

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── AgsPlugin

Known Implementations

AgsPlugin is implemented by AgsFileLink.

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: 2.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: 2.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: 2.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: 2.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: 2.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: 2.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: 2.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: 2.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

Since: 2.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

 

Since: 2.0.0


ags_plugin_read ()

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

Read of file.

Parameters

file

the AgsFile

 

node

the node

 

plugin

the AgsPlugin

 

Since: 2.0.0


ags_plugin_write ()

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

Write to file.

Parameters

file

the AgsFile

 

parent

the parent node

 

plugin

the AgsPlugin

 

Returns

the new node you created

Since: 2.0.0


AGS_IS_PLUGIN()

#define AGS_IS_PLUGIN(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_PLUGIN))

AGS_IS_PLUGIN_INTERFACE()

#define AGS_IS_PLUGIN_INTERFACE(vtable)    (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_PLUGIN))

AGS_PLUGIN()

#define AGS_PLUGIN(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_PLUGIN, AgsPlugin))

AGS_PLUGIN_GET_INTERFACE()

#define AGS_PLUGIN_GET_INTERFACE(obj)      (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_PLUGIN, AgsPluginInterface))

AGS_PLUGIN_INTERFACE()

#define AGS_PLUGIN_INTERFACE(vtable)       (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_PLUGIN, AgsPluginInterface))

ags_plugin_get_type ()

GType
ags_plugin_get_type ();

Types and Values

AGS_TYPE_PLUGIN

#define AGS_TYPE_PLUGIN                    (ags_plugin_get_type())

AgsPlugin

typedef struct _AgsPlugin AgsPlugin;

struct AgsPluginInterface

struct AgsPluginInterface {
  GTypeInterface ginterface;
  
  gchar* (*get_name)(AgsPlugin *plugin);
  void (*set_name)(AgsPlugin *plugin, gchar *name);

  gchar* (*get_version)(AgsPlugin *plugin);
  void (*set_version)(AgsPlugin *plugin, gchar *version);

  gchar* (*get_build_id)(AgsPlugin *plugin);
  void (*set_build_id)(AgsPlugin *plugin, gchar *build_id);

  gchar* (*get_xml_type)(AgsPlugin *plugin);
  void (*set_xml_type)(AgsPlugin *plugin, gchar *xml_type);  

  GList* (*get_ports)(AgsPlugin *plugin);
  void (*set_ports)(AgsPlugin *plugin, GList *ports);

  void (*read)(AgsFile *file,
	       xmlNode *node,
	       AgsPlugin *plugin);
  xmlNode* (*write)(AgsFile *file,
		    xmlNode *parent,
		    AgsPlugin *plugin);
};