1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 /* 3 * ianjuta-debugger-variable.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_DEBUGGER_VARIABLE_H_ 21 #define _IANJUTA_DEBUGGER_VARIABLE_H_ 22 23 #include <glib-object.h> 24 #include <libanjuta/interfaces/ianjuta-debugger.h> 25 26 G_BEGIN_DECLS 27 28 #define IANJUTA_TYPE_DEBUGGER_VARIABLE (ianjuta_debugger_variable_get_type ()) 29 #define IANJUTA_DEBUGGER_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IANJUTA_TYPE_DEBUGGER_VARIABLE, IAnjutaDebuggerVariable)) 30 #define IANJUTA_IS_DEBUGGER_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IANJUTA_TYPE_DEBUGGER_VARIABLE)) 31 #define IANJUTA_DEBUGGER_VARIABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), IANJUTA_TYPE_DEBUGGER_VARIABLE, IAnjutaDebuggerVariableIface)) 32 33 #define IANJUTA_DEBUGGER_VARIABLE_ERROR ianjuta_debugger_variable_error_quark() 34 35 typedef struct _IAnjutaDebuggerVariable IAnjutaDebuggerVariable; 36 typedef struct _IAnjutaDebuggerVariableIface IAnjutaDebuggerVariableIface; 37 38 /** 39 * IAnjutaDebuggerVariableObject: 40 * @name: unique variable object name created by backend 41 * @expression: corresponding variable name or expression 42 * @type: variable type 43 * @value: variable value 44 * @changed: TRUE if the variable has changed 45 * @exited: TRUE if the variable is outside current scope 46 * @deleted: TRUE if the variable has been removed 47 * @children: Number of variable children, -1 if unknown 48 * @has_more: TRUE if the children value is wrong 49 * 50 * Defines a variable object. 51 */ 52 typedef struct _IAnjutaDebuggerVariableObject IAnjutaDebuggerVariableObject; 53 struct _IAnjutaDebuggerVariableObject { 54 gchar *name; 55 gchar *expression; 56 gchar *type; 57 gchar *value; 58 gboolean changed; 59 gboolean exited; 60 gboolean deleted; 61 gint children; 62 gboolean has_more; 63 }; 64 65 /** 66 * IAnjutaDebuggerVariableCallback: 67 * @data: a #IAnjutaDebuggerVariableObject object 68 * @user_data: user data passed to the function 69 * @err: error 70 * 71 * This callback function is used to return a #IAnjutaDebuggerVariableObject. 72 */ 73 typedef void (*IAnjutaDebuggerVariableCallback) (const IAnjutaDebuggerVariableObject *data, gpointer user_data, GError* err); 74 75 76 77 struct _IAnjutaDebuggerVariableIface { 78 IAnjutaDebuggerIface g_iface; 79 80 81 gboolean (*assign) (IAnjutaDebuggerVariable *obj, const gchar *name, const gchar *value, GError **err); 82 gboolean (*create) (IAnjutaDebuggerVariable *obj, const gchar *expression, IAnjutaDebuggerVariableCallback callback, gpointer user_data, GError **err); 83 gboolean (*destroy) (IAnjutaDebuggerVariable *obj, const gchar *name, GError **err); 84 gboolean (*evaluate) (IAnjutaDebuggerVariable *obj, const gchar *name, IAnjutaDebuggerGCharCallback callback, gpointer user_data, GError **err); 85 gboolean (*list_children) (IAnjutaDebuggerVariable *obj, const gchar *name, guint from, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err); 86 gboolean (*update) (IAnjutaDebuggerVariable *obj, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err); 87 88 }; 89 90 91 GQuark ianjuta_debugger_variable_error_quark (void); 92 GType ianjuta_debugger_variable_get_type (void); 93 94 gboolean ianjuta_debugger_variable_assign (IAnjutaDebuggerVariable *obj, const gchar *name, const gchar *value, GError **err); 95 96 gboolean ianjuta_debugger_variable_create (IAnjutaDebuggerVariable *obj, const gchar *expression, IAnjutaDebuggerVariableCallback callback, gpointer user_data, GError **err); 97 98 gboolean ianjuta_debugger_variable_destroy (IAnjutaDebuggerVariable *obj, const gchar *name, GError **err); 99 100 gboolean ianjuta_debugger_variable_evaluate (IAnjutaDebuggerVariable *obj, const gchar *name, IAnjutaDebuggerGCharCallback callback, gpointer user_data, GError **err); 101 102 gboolean ianjuta_debugger_variable_list_children (IAnjutaDebuggerVariable *obj, const gchar *name, guint from, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err); 103 104 gboolean ianjuta_debugger_variable_update (IAnjutaDebuggerVariable *obj, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err); 105 106 107 G_END_DECLS 108 109 #endif 110