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