![]() |
![]() |
![]() |
Anjuta Developers Reference Manual | ![]() |
---|---|---|---|---|
#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);
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.
#define IANJUTA_TYPE_PLUGIN_FACTORY_ERROR (ianjuta_plugin_factory_error_get_type())
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;
#define IANJUTA_PLUGIN_FACTORY_ERROR ianjuta_plugin_factory_error_quark()
typedef struct { GTypeInterface g_iface; AnjutaPlugin* (*new_plugin) (IAnjutaPluginFactory *obj, AnjutaPluginHandle* handle, AnjutaShell *shell, GError **err); } IAnjutaPluginFactoryIface;
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 |