| Anjuta Developers Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Prerequisites | ||||
#include <libanjuta/interfaces/ianjuta-debugger-variable.h> #define IANJUTA_DEBUGGER_VARIABLE_ERROR IAnjutaDebuggerVariable; IAnjutaDebuggerVariableIface; IAnjutaDebuggerVariableObject; void (*IAnjutaDebuggerVariableCallback) (const IAnjutaDebuggerVariableObject *data,gpointer user_data,GError *err); GQuark ianjuta_debugger_variable_error_quark (void); gboolean ianjuta_debugger_variable_assign (IAnjutaDebuggerVariable *obj,const gchar *name,const gchar *value,GError **err); gboolean ianjuta_debugger_variable_create (IAnjutaDebuggerVariable *obj,const gchar *expression,IAnjutaDebuggerVariableCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_variable_destroy (IAnjutaDebuggerVariable *obj,const gchar *name,GError **err); gboolean ianjuta_debugger_variable_evaluate (IAnjutaDebuggerVariable *obj,const gchar *name,IAnjutaDebuggerGCharCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_variable_list_children (IAnjutaDebuggerVariable *obj,const gchar *name,guint from,IAnjutaDebuggerGListCallback callback,gpointer user_data,GError **err); gboolean ianjuta_debugger_variable_update (IAnjutaDebuggerVariable *obj,IAnjutaDebuggerGListCallback callback,gpointer user_data,GError **err);
This interface is used to examine and change values of expression. It is based on the MI2 variable object interface of gdb. A variable needs to be created before being able to get or set its value and list its children.
#define IANJUTA_DEBUGGER_VARIABLE_ERROR ianjuta_debugger_variable_error_quark()
typedef struct {
IAnjutaDebuggerIface g_iface;
gboolean (*assign) (IAnjutaDebuggerVariable *obj, const gchar *name, const gchar *value, GError **err);
gboolean (*create) (IAnjutaDebuggerVariable *obj, const gchar *expression, IAnjutaDebuggerVariableCallback callback, gpointer user_data, GError **err);
gboolean (*destroy) (IAnjutaDebuggerVariable *obj, const gchar *name, GError **err);
gboolean (*evaluate) (IAnjutaDebuggerVariable *obj, const gchar *name, IAnjutaDebuggerGCharCallback callback, gpointer user_data, GError **err);
gboolean (*list_children) (IAnjutaDebuggerVariable *obj, const gchar *name, guint from, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err);
gboolean (*update) (IAnjutaDebuggerVariable *obj, IAnjutaDebuggerGListCallback callback, gpointer user_data, GError **err);
} IAnjutaDebuggerVariableIface;
typedef struct {
gchar *name;
gchar *expression;
gchar *type;
gchar *value;
gboolean changed;
gboolean exited;
gboolean deleted;
gint children;
gboolean has_more;
} IAnjutaDebuggerVariableObject;
Defines a variable object.
| unique variable object name created by backend | |
| corresponding variable name or expression | |
| variable type | |
| variable value | |
| TRUE if the variable has changed | |
| TRUE if the variable is outside current scope | |
| TRUE if the variable has been removed | |
| Number of variable children, -1 if unknown | |
| TRUE if the children value is wrong |
void (*IAnjutaDebuggerVariableCallback) (const IAnjutaDebuggerVariableObject *data,gpointer user_data,GError *err);
This callback function is used to return a IAnjutaDebuggerVariableObject.
|
a IAnjutaDebuggerVariableObject object |
|
user data passed to the function |
|
GQuark ianjuta_debugger_variable_error_quark
(void);
Returns : |
gboolean ianjuta_debugger_variable_assign (IAnjutaDebuggerVariable *obj,const gchar *name,const gchar *value,GError **err);
Set the value of one variable or child object.
|
Self |
|
Variable name |
|
Variable value |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_variable_create (IAnjutaDebuggerVariable *obj,const gchar *expression,IAnjutaDebuggerVariableCallback callback,gpointer user_data,GError **err);
Create a new variable object in the current thread and frame.
|
Self |
|
Variable expression |
|
Callback to call when the variable has been created |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_variable_destroy (IAnjutaDebuggerVariable *obj,const gchar *name,GError **err);
Delete a previously created variable or child object including its own children.
|
Self |
|
Variable name |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_variable_evaluate (IAnjutaDebuggerVariable *obj,const gchar *name,IAnjutaDebuggerGCharCallback callback,gpointer user_data,GError **err);
Get the value of one variable or child object.
|
Self |
|
Variable name |
|
Callback to call with the variable value |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_variable_list_children (IAnjutaDebuggerVariable *obj,const gchar *name,guint from,IAnjutaDebuggerGListCallback callback,gpointer user_data,GError **err);
List and create objects for variable object's children. The backend can returns only a part of the children, in this case a last variable with a NULL name is added to the list given to the callback function. If the remaining children are wanted, this function must be called again with a from argument corresponding to the first missing children.
|
Self |
|
Variable name |
|
Starting from this children (zero-based) |
|
Callback to call when the children have been created with a list of variable objects |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |
gboolean ianjuta_debugger_variable_update (IAnjutaDebuggerVariable *obj,IAnjutaDebuggerGListCallback callback,gpointer user_data,GError **err);
List all changed variable objects since the last call.
|
Self |
|
Callback to call with the list of all changed variable names |
|
User data that is passed back to the callback |
|
Error propagation and reporting. |
Returns : |
TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |