|  |  |  | Anjuta Developers Reference Manual |  | 
|---|---|---|---|---|
#include <libanjuta/interfaces/ianjuta-debugger-breakpoint.h> #define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_METHOD #define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE enum IAnjutaDebuggerBreakpointMethod; enum IAnjutaDebuggerBreakpointType; IAnjutaDebuggerBreakpointItem; #define IANJUTA_DEBUGGER_BREAKPOINT_ERROR IAnjutaDebuggerBreakpoint; IAnjutaDebuggerBreakpointIface; GType ianjuta_debugger_breakpoint_type_get_type (void); GQuark ianjuta_debugger_breakpoint_error_quark (void); GType ianjuta_debugger_breakpoint_get_type (void); gboolean ianjuta_debugger_breakpoint_clear (IAnjutaDebuggerBreakpoint *obj, guint id, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_breakpoint_condition (IAnjutaDebuggerBreakpoint *obj, guint id, const gchar *condition, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_breakpoint_enable (IAnjutaDebuggerBreakpoint *obj, guint id, gboolean enable, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_breakpoint_ignore (IAnjutaDebuggerBreakpoint *obj, guint id, guint ignore, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gint ianjuta_debugger_breakpoint_implement (IAnjutaDebuggerBreakpoint *obj, GError **err); gboolean ianjuta_debugger_breakpoint_list (IAnjutaDebuggerBreakpoint *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_breakpoint_set_at_address (IAnjutaDebuggerBreakpoint *obj, gulong address, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_breakpoint_set_at_function (IAnjutaDebuggerBreakpoint *obj, const gchar *file, const gchar *function, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_breakpoint_set_at_line (IAnjutaDebuggerBreakpoint *obj, const gchar *file, guint line, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err);
#define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_METHOD (ianjuta_debugger_breakpoint_method_get_type())
#define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE (ianjuta_debugger_breakpoint_type_get_type())
typedef enum {
	IANJUTA_DEBUGGER_BREAKPOINT_SET_AT_ADDRESS = 1 << 0,
	IANJUTA_DEBUGGER_BREAKPOINT_SET_AT_FUNCTION = 1 << 1,
	IANJUTA_DEBUGGER_BREAKPOINT_ENABLE = 1 << 2,
	IANJUTA_DEBUGGER_BREAKPOINT_IGNORE = 1 << 3,
	IANJUTA_DEBUGGER_BREAKPOINT_CONDITION = 1 << 4
} IAnjutaDebuggerBreakpointMethod;
typedef enum {
	IANJUTA_DEBUGGER_BREAKPOINT_REMOVED = 1 << 0,
	IANJUTA_DEBUGGER_BREAKPOINT_UPDATED = 1 << 17,
	IANJUTA_DEBUGGER_BREAKPOINT_ON_LINE = 1 << 1,
	IANJUTA_DEBUGGER_BREAKPOINT_ON_ADDRESS = 1 << 2,
	IANJUTA_DEBUGGER_BREAKPOINT_ON_FUNCTION = 1 << 3,
	IANJUTA_DEBUGGER_BREAKPOINT_ON_READ = 1 << 4,
	IANJUTA_DEBUGGER_BREAKPOINT_ON_WRITE = 1 << 5,
	IANJUTA_DEBUGGER_BREAKPOINT_WITH_ENABLE = 1 << 16,
	IANJUTA_DEBUGGER_BREAKPOINT_WITH_IGNORE = 1 << 15,
	IANJUTA_DEBUGGER_BREAKPOINT_WITH_TIME = 1 << 11,
	IANJUTA_DEBUGGER_BREAKPOINT_WITH_CONDITION = 1 << 12,
	IANJUTA_DEBUGGER_BREAKPOINT_WITH_TEMPORARY = 1 << 13
} IAnjutaDebuggerBreakpointType;
typedef struct {
	gint type;
	guint id;
	gchar *file;
	guint line;
	gchar *function;
	gulong address;
	gboolean enable;
	guint ignore;
	guint times;
	gchar *condition;
	gboolean temporary;
} IAnjutaDebuggerBreakpointItem;
#define IANJUTA_DEBUGGER_BREAKPOINT_ERROR ianjuta_debugger_breakpoint_error_quark()
typedef struct {
	IAnjutaDebuggerIface g_iface;
	
	gboolean (*clear) (IAnjutaDebuggerBreakpoint *obj, guint id,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*condition) (IAnjutaDebuggerBreakpoint *obj, guint id,  const gchar* condition,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*enable) (IAnjutaDebuggerBreakpoint *obj, guint id,  gboolean enable,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*ignore) (IAnjutaDebuggerBreakpoint *obj, guint id,  guint ignore,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gint (*implement) (IAnjutaDebuggerBreakpoint *obj, GError **err);
	gboolean (*list) (IAnjutaDebuggerBreakpoint *obj, IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*set_at_address) (IAnjutaDebuggerBreakpoint *obj, gulong address,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*set_at_function) (IAnjutaDebuggerBreakpoint *obj, const gchar* file,  const gchar* function,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
	gboolean (*set_at_line) (IAnjutaDebuggerBreakpoint *obj, const gchar* file,  guint line,  IAnjutaDebuggerCallback callback,  gpointer user_data, GError **err);
} IAnjutaDebuggerBreakpointIface;
GType               ianjuta_debugger_breakpoint_type_get_type
                                                        (void);
| Returns : | 
GQuark              ianjuta_debugger_breakpoint_error_quark
                                                        (void);
| Returns : | 
GType               ianjuta_debugger_breakpoint_get_type
                                                        (void);
| Returns : | 
gboolean ianjuta_debugger_breakpoint_clear (IAnjutaDebuggerBreakpoint *obj, guint id, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err);
Clear a breakpoint put by any set functions. The Id of the breakpoint is given in the callback of the set functions.
| obj: | Self | 
| id: | Breakpoint identification number | 
| callback: | Callback to call when the breakpoint has been cleared | 
| user_data: | User data that is passed back to the callback | 
| err: | 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_breakpoint_condition
                                                        (IAnjutaDebuggerBreakpoint *obj,
                                                         guint id,
                                                         const gchar *condition,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
Add a condition, evaluate in the program context, on the breakpoint, the program will stop when it reachs the breakpoint only if the condition is true. This function is optional.
| obj: | Self | 
| id: | Breakpoint identification number | 
| condition: | fixme | 
| callback: | Callback to call when the breakpoint has been changed | 
| user_data: | User data that is passed back to the callback | 
| err: | 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_breakpoint_enable (IAnjutaDebuggerBreakpoint *obj, guint id, gboolean enable, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err);
Enable of disable a breakpoint. This function is optional.
| obj: | Self | 
| id: | Breakpoint identification number | 
| enable: | TRUE to enable the breakpoint, FALSE to disable it | 
| callback: | Callback to call when the breakpoint has been changed | 
| user_data: | User data that is passed back to the callback | 
| err: | 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_breakpoint_ignore (IAnjutaDebuggerBreakpoint *obj, guint id, guint ignore, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err);
This allow to ignore the breakpoint a number of time before stopping. This function is optional.
| obj: | Self | 
| id: | Breakpoint identification number | 
| ignore: | Number of time a breakpoint must be ignored | 
| callback: | Callback to call when the breakpoint has been changed | 
| user_data: | User data that is passed back to the callback | 
| err: | Error propagation and reporting. | 
| Returns : | TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. | 
gint                ianjuta_debugger_breakpoint_implement
                                                        (IAnjutaDebuggerBreakpoint *obj,
                                                         GError **err);
Return all implemented methods.
| obj: | Self | 
| err: | Error propagation and reporting. | 
| Returns : | A OR of IAnjutaDebuggerBreakpointMethod corresponding to all implemented optional methods. | 
gboolean ianjuta_debugger_breakpoint_list (IAnjutaDebuggerBreakpoint *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err);
List all breakpoints set in the debugger. It is useful to know how many time a breakpoint has been hit.
| obj: | Self | 
| callback: | Callback to call with the list of breakpoints | 
| user_data: | User data that is passed back to the callback | 
| err: | 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_breakpoint_set_at_address
                                                        (IAnjutaDebuggerBreakpoint *obj,
                                                         gulong address,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
Set a breakpoint at the specified address. This function is optional.
| obj: | Self | 
| address: | Address of the breakpoint | 
| callback: | Callback to call when the breakpoint has been set | 
| user_data: | |
| err: | 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_breakpoint_set_at_function
                                                        (IAnjutaDebuggerBreakpoint *obj,
                                                         const gchar *file,
                                                         const gchar *function,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
Set a breakpoint at the beginning of the specified function. This function is optional.
| obj: | Self | 
| file: | File containing the breakpoint | 
| function: | Function name where the breakpoint is put | 
| callback: | Callback to call when the breakpoint has been set | 
| user_data: | User data that is passed back to the callback | 
| err: | 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_breakpoint_set_at_line
                                                        (IAnjutaDebuggerBreakpoint *obj,
                                                         const gchar *file,
                                                         guint line,
                                                         IAnjutaDebuggerCallback callback,
                                                         gpointer user_data,
                                                         GError **err);
Set a breakpoint at the specified line in the file.
| obj: | Self | 
| file: | File containing the breakpoint | 
| line: | Line number where is the breakpoint | 
| callback: | Callback to call when the breakpoint has been set | 
| user_data: | User data that is passed back to the callback | 
| err: | Error propagation and reporting. | 
| Returns : | TRUE if the request succeed and the callback is called. If FALSE, the callback will not be called. |