1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 /* 3 * ianjuta-project.h -- Autogenerated from libanjuta.idl 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 20 #ifndef _IANJUTA_PROJECT_H_ 21 #define _IANJUTA_PROJECT_H_ 22 23 #include <glib-object.h> 24 #include <libanjuta/anjuta-project.h> 25 #include <gtk/gtk.h> 26 27 G_BEGIN_DECLS 28 29 #define IANJUTA_TYPE_PROJECT (ianjuta_project_get_type ()) 30 #define IANJUTA_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IANJUTA_TYPE_PROJECT, IAnjutaProject)) 31 #define IANJUTA_IS_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IANJUTA_TYPE_PROJECT)) 32 #define IANJUTA_PROJECT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), IANJUTA_TYPE_PROJECT, IAnjutaProjectIface)) 33 34 #define IANJUTA_TYPE_PROJECT_ERROR (ianjuta_project_error_get_type()) 35 #define IANJUTA_TYPE_PROJECT_PROBE (ianjuta_project_probe_get_type()) 36 37 #define IANJUTA_PROJECT_ERROR ianjuta_project_error_quark() 38 39 typedef struct _IAnjutaProject IAnjutaProject; 40 typedef struct _IAnjutaProjectIface IAnjutaProjectIface; 41 42 /* Types */ 43 typedef enum { 44 IANJUTA_PROJECT_ERROR_SUCCESS = 0, 45 IANJUTA_PROJECT_ERROR_DOESNT_EXIST, 46 IANJUTA_PROJECT_ERROR_ALREADY_EXISTS, 47 IANJUTA_PROJECT_ERROR_VALIDATION_FAILED, 48 IANJUTA_PROJECT_ERROR_PROJECT_MALFORMED, 49 IANJUTA_PROJECT_ERROR_WRONG_PARENT, 50 IANJUTA_PROJECT_ERROR_NOT_SUPPORTED, 51 IANJUTA_PROJECT_ERROR_GENERAL_FAILURE 52 } IAnjutaProjectError; 53 54 typedef enum { 55 IANJUTA_PROJECT_PROBE_FILES = 10, 56 IANJUTA_PROJECT_PROBE_MAKE_FILES = 100, 57 IANJUTA_PROJECT_PROBE_PROJECT_FILES = 200 58 } IAnjutaProjectProbe; 59 60 61 struct _IAnjutaProjectIface { 62 GTypeInterface g_iface; 63 64 /* Signal */ 65 void (*file_changed) (IAnjutaProject *obj, gpointer node); 66 /* Signal */ 67 void (*node_changed) (IAnjutaProject *obj, gpointer node, GError *error); 68 /* Signal */ 69 void (*node_loaded) (IAnjutaProject *obj, gpointer node, GError *error); 70 /* Signal */ 71 void (*node_saved) (IAnjutaProject *obj, gpointer node, GError *error); 72 73 AnjutaProjectNode * (*add_node_after) (IAnjutaProject *obj, AnjutaProjectNode *parent, AnjutaProjectNode *sibling, AnjutaProjectNodeType type, GFile *file, const gchar *name, GError **err); 74 AnjutaProjectNode * (*add_node_before) (IAnjutaProject *obj, AnjutaProjectNode *parent, AnjutaProjectNode *sibling, AnjutaProjectNodeType type, GFile *file, const gchar *name, GError **err); 75 const GList* (*get_node_info) (IAnjutaProject *obj, GError **err); 76 AnjutaProjectNode * (*get_root) (IAnjutaProject *obj, GError **err); 77 gboolean (*is_loaded) (IAnjutaProject *obj, GError **err); 78 gboolean (*load_node) (IAnjutaProject *obj, AnjutaProjectNode *node, GError **err); 79 gboolean (*remove_node) (IAnjutaProject *obj, AnjutaProjectNode *node, GError **err); 80 gboolean (*remove_property) (IAnjutaProject *obj, AnjutaProjectNode *node, const gchar *id, const gchar *name, GError **err); 81 gboolean (*save_node) (IAnjutaProject *obj, AnjutaProjectNode *node, GError **err); 82 AnjutaProjectProperty * (*set_property) (IAnjutaProject *obj, AnjutaProjectNode *node, const gchar *id, const gchar *name, const gchar *value, GError **err); 83 84 }; 85 86 GType ianjuta_project_error_get_type (void); 87 GType ianjuta_project_probe_get_type (void); 88 89 GQuark ianjuta_project_error_quark (void); 90 GType ianjuta_project_get_type (void); 91 92 AnjutaProjectNode * ianjuta_project_add_node_after (IAnjutaProject *obj, AnjutaProjectNode *parent, AnjutaProjectNode *sibling, AnjutaProjectNodeType type, GFile *file, const gchar *name, GError **err); 93 94 AnjutaProjectNode * ianjuta_project_add_node_before (IAnjutaProject *obj, AnjutaProjectNode *parent, AnjutaProjectNode *sibling, AnjutaProjectNodeType type, GFile *file, const gchar *name, GError **err); 95 96 const GList* ianjuta_project_get_node_info (IAnjutaProject *obj, GError **err); 97 98 AnjutaProjectNode * ianjuta_project_get_root (IAnjutaProject *obj, GError **err); 99 100 gboolean ianjuta_project_is_loaded (IAnjutaProject *obj, GError **err); 101 102 gboolean ianjuta_project_load_node (IAnjutaProject *obj, AnjutaProjectNode *node, GError **err); 103 104 gboolean ianjuta_project_remove_node (IAnjutaProject *obj, AnjutaProjectNode *node, GError **err); 105 106 gboolean ianjuta_project_remove_property (IAnjutaProject *obj, AnjutaProjectNode *node, const gchar *id, const gchar *name, GError **err); 107 108 gboolean ianjuta_project_save_node (IAnjutaProject *obj, AnjutaProjectNode *node, GError **err); 109 110 AnjutaProjectProperty * ianjuta_project_set_property (IAnjutaProject *obj, AnjutaProjectNode *node, const gchar *id, const gchar *name, const gchar *value, GError **err); 111 112 113 G_END_DECLS 114 115 #endif 116