IAnjutaPluginFactory

IAnjutaPluginFactory — Create Anjuta plugin objects

Stability Level

Unstable, unless otherwise indicated

Synopsis


#include <libanjuta/interfaces/ianjuta-plugin-factory.h>


#define             IANJUTA_TYPE_PLUGIN_FACTORY_ERROR
enum                IAnjutaPluginFactoryError;
#define             IANJUTA_PLUGIN_FACTORY_ERROR
                    IAnjutaPluginFactory;
                    IAnjutaPluginFactoryIface;
GQuark              ianjuta_plugin_factory_error_quark  (void);
GType               ianjuta_plugin_factory_get_type     (void);
AnjutaPlugin*       ianjuta_plugin_factory_new_plugin   (IAnjutaPluginFactory *obj,
                                                         AnjutaPluginHandle *handle,
                                                         AnjutaShell *shell,
                                                         GError **err);

Description

This interface is used to create all Anjuta plugin objects. It is already implemented inside Anjuta by an object able to load plugins written in C. In order to load plugins in other languages (or in a different way), a loader plugin implementing this interface must be written first, probably in C.

Details

IANJUTA_TYPE_PLUGIN_FACTORY_ERROR

#define IANJUTA_TYPE_PLUGIN_FACTORY_ERROR (ianjuta_plugin_factory_error_get_type())


enum IAnjutaPluginFactoryError

typedef enum {
	IANJUTA_PLUGIN_FACTORY_OK = 0,
	IANJUTA_PLUGIN_FACTORY_MISSING_LOCATION,
	IANJUTA_PLUGIN_FACTORY_MISSING_TYPE,
	IANJUTA_PLUGIN_FACTORY_MISSING_MODULE,
	IANJUTA_PLUGIN_FACTORY_INVALID_MODULE,
	IANJUTA_PLUGIN_FACTORY_MISSING_FUNCTION,
	IANJUTA_PLUGIN_FACTORY_INVALID_TYPE,
	IANJUTA_PLUGIN_FACTORY_UNKNOWN_ERROR,
} IAnjutaPluginFactoryError;


IANJUTA_PLUGIN_FACTORY_ERROR

#define IANJUTA_PLUGIN_FACTORY_ERROR ianjuta_plugin_factory_error_quark()


IAnjutaPluginFactory

typedef struct _IAnjutaPluginFactory IAnjutaPluginFactory;


IAnjutaPluginFactoryIface

typedef struct {
	GTypeInterface g_iface;
	

	AnjutaPlugin* (*new_plugin) (IAnjutaPluginFactory *obj, AnjutaPluginHandle* handle,  AnjutaShell *shell, GError **err);
} IAnjutaPluginFactoryIface;


ianjuta_plugin_factory_error_quark ()

GQuark              ianjuta_plugin_factory_error_quark  (void);

Returns :

ianjuta_plugin_factory_get_type ()

GType               ianjuta_plugin_factory_get_type     (void);

Returns :

ianjuta_plugin_factory_new_plugin ()

AnjutaPlugin*       ianjuta_plugin_factory_new_plugin   (IAnjutaPluginFactory *obj,
                                                         AnjutaPluginHandle *handle,
                                                         AnjutaShell *shell,
                                                         GError **err);

Create a new AnjutaPlugin object from the plugin information handle, give it the AnjutaShell object as argument.

obj : Self
handle : Plugin information
shell : Anjuta shell
err : Error propagation and reporting.
Returns : a new plugin object