#include #include #include #include "src/PluginInfo.h" #include "src/Author.h" typedef struct _CapuchinIAppObject CapuchinIAppObject; typedef struct _CapuchinIAppObjectIface CapuchinIAppObjectIface; #define CAPUCHIN_TYPE_IAPP_OBJECT (capuchin_iapp_object_get_type ()) #define CAPUCHIN_IAPP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAPUCHIN_TYPE_IAPP_OBJECT, CapuchinIAppObject)) #define CAPUCHIN_IS_IAPP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAPUCHIN_TYPE_IAPP_OBJECT)) #define CAPUCHIN_IAPP_OBJECT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CAPUCHIN_TYPE_IAPP_OBJECT, CapuchinIAppObjectIface)) struct _CapuchinIAppObjectIface { GTypeInterface parent_iface; char* (*GetApplicationName) (CapuchinIAppObject* self); void (*Update) (CapuchinIAppObject* self, gboolean force_update); void (*Install) (CapuchinIAppObject* self, const char* plugin_id); CapuchinPluginInfo** (*GetAvailablePlugins) (CapuchinIAppObject* self, int* result_length1); CapuchinPluginInfo** (*GetAvailableUpdates) (CapuchinIAppObject* self, CapuchinPluginInfo** plugins, int plugins_length1, int* result_length1); char* (*GetDescription) (CapuchinIAppObject* self, const char* plugin_id); char* (*GetChanges) (CapuchinIAppObject* self, const char* plugin_id, const char* version); char** (*GetTags) (CapuchinIAppObject* self, const char* plugin_id, int* result_length1); CapuchinAuthor* (*GetAuthor) (CapuchinIAppObject* self, const char* plugin_id); void (*Close) (CapuchinIAppObject* self); }; static char* capuchin_iapp_object_GetApplicationName (CapuchinIAppObject* self); static void capuchin_iapp_object_Update (CapuchinIAppObject* self, gboolean force_update); static void capuchin_iapp_object_Install (CapuchinIAppObject* self, const char* plugin_id); static CapuchinPluginInfo** capuchin_iapp_object_GetAvailablePlugins (CapuchinIAppObject* self, int* result_length1); static CapuchinPluginInfo** capuchin_iapp_object_GetAvailableUpdates (CapuchinIAppObject* self, CapuchinPluginInfo** plugins, int plugins_length1, int* result_length1); static char* capuchin_iapp_object_GetDescription (CapuchinIAppObject* self, const char* plugin_id); static char* capuchin_iapp_object_GetChanges (CapuchinIAppObject* self, const char* plugin_id, const char* version); static char** capuchin_iapp_object_GetTags (CapuchinIAppObject* self, const char* plugin_id, int* result_length1); static CapuchinAuthor* capuchin_iapp_object_GetAuthor (CapuchinIAppObject* self, const char* plugin_id); static void capuchin_iapp_object_Close (CapuchinIAppObject* self); static GType capuchin_iapp_object_get_type (void); static char* capuchin_iapp_object_GetApplicationName (CapuchinIAppObject* self) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetApplicationName (self); } static void capuchin_iapp_object_Update (CapuchinIAppObject* self, gboolean force_update) { CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->Update (self, force_update); } static void capuchin_iapp_object_Install (CapuchinIAppObject* self, const char* plugin_id) { CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->Install (self, plugin_id); } static CapuchinPluginInfo** capuchin_iapp_object_GetAvailablePlugins (CapuchinIAppObject* self, int* result_length1) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetAvailablePlugins (self, result_length1); } static CapuchinPluginInfo** capuchin_iapp_object_GetAvailableUpdates (CapuchinIAppObject* self, CapuchinPluginInfo** plugins, int plugins_length1, int* result_length1) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetAvailableUpdates (self, plugins, plugins_length1, result_length1); } static char* capuchin_iapp_object_GetDescription (CapuchinIAppObject* self, const char* plugin_id) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetDescription (self, plugin_id); } static char* capuchin_iapp_object_GetChanges (CapuchinIAppObject* self, const char* plugin_id, const char* version) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetChanges (self, plugin_id, version); } static char** capuchin_iapp_object_GetTags (CapuchinIAppObject* self, const char* plugin_id, int* result_length1) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetTags (self, plugin_id, result_length1); } static CapuchinAuthor* capuchin_iapp_object_GetAuthor (CapuchinIAppObject* self, const char* plugin_id) { return CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->GetAuthor (self, plugin_id); } static void capuchin_iapp_object_Close (CapuchinIAppObject* self) { CAPUCHIN_IAPP_OBJECT_GET_INTERFACE (self)->Close (self); } static void capuchin_iapp_object_base_init (CapuchinIAppObjectIface * iface) { static gboolean initialized = FALSE; if (!initialized) { initialized = TRUE; } } static GType capuchin_iapp_object_get_type (void) { static GType capuchin_iapp_object_type_id = 0; if (G_UNLIKELY (capuchin_iapp_object_type_id == 0)) { static const GTypeInfo g_define_type_info = { sizeof (CapuchinIAppObjectIface), (GBaseInitFunc) capuchin_iapp_object_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL }; capuchin_iapp_object_type_id = g_type_register_static (G_TYPE_INTERFACE, "CapuchinIAppObject", &g_define_type_info, 0); } return capuchin_iapp_object_type_id; }