/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ /* * ianjuta-debugger.h -- Autogenerated from libanjuta.idl * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _IANJUTA_DEBUGGER_H_ #define _IANJUTA_DEBUGGER_H_ #include #include #include G_BEGIN_DECLS #define IANJUTA_TYPE_DEBUGGER (ianjuta_debugger_get_type ()) #define IANJUTA_DEBUGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IANJUTA_TYPE_DEBUGGER, IAnjutaDebugger)) #define IANJUTA_IS_DEBUGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IANJUTA_TYPE_DEBUGGER)) #define IANJUTA_DEBUGGER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), IANJUTA_TYPE_DEBUGGER, IAnjutaDebuggerIface)) #define IANJUTA_TYPE_DEBUGGER_BREAKPOINT_TYPE (ianjuta_debugger_breakpoint_type_get_type()) #define IANJUTA_TYPE_DEBUGGER_DATA (ianjuta_debugger_data_get_type()) #define IANJUTA_TYPE_DEBUGGER_ERROR (ianjuta_debugger_error_get_type()) #define IANJUTA_TYPE_DEBUGGER_OUTPUT_TYPE (ianjuta_debugger_output_type_get_type()) #define IANJUTA_TYPE_DEBUGGER_STATE (ianjuta_debugger_state_get_type()) #define IANJUTA_TYPE_DEBUGGER_STATUS (ianjuta_debugger_status_get_type()) typedef enum { IANJUTA_DEBUGGER_BREAK_REMOVED, IANJUTA_DEBUGGER_BREAK_ON_LINE, IANJUTA_DEBUGGER_BREAK_ON_ADDRESS, IANJUTA_DEBUGGER_BREAK_ON_FUNCTION } IAnjutaDebuggerBreakpointType; typedef enum { IANJUTA_DEBUGGER_INFORMATION, IANJUTA_DEBUGGER_BREAKPOINT, IANJUTA_DEBUGGER_FRAME, IANJUTA_DEBUGGER_VARIABLE, IANJUTA_DEBUGGER_REGISTER } IAnjutaDebuggerData; typedef enum { IANJUTA_DEBUGGER_OK = 0, IANJUTA_DEBUGGER_NOT_READY = -1, IANJUTA_DEBUGGER_NOT_RUNNING = -2, IANJUTA_DEBUGGER_NOT_STOPPED = -3, IANJUTA_DEBUGGER_NOT_LOADED = -4, IANJUTA_DEBUGGER_NOT_STARTED = -5, IANJUTA_DEBUGGER_NOT_CONNECTED = -6, IANJUTA_DEBUGGER_NOT_IMPLEMENTED = -7, IANJUTA_DEBUGGER_CANCEL, IANJUTA_DEBUGGER_UNABLE_TO_CREATE_VARIABLE, IANJUTA_DEBUGGER_UNABLE_TO_ACCESS_MEMORY, IANJUTA_DEBUGGER_UNABLE_TO_OPEN_FILE, IANJUTA_DEBUGGER_UNKNOWN_ERROR } IAnjutaDebuggerError; typedef enum { IANJUTA_DEBUGGER_OUTPUT, IANJUTA_DEBUGGER_WARNING_OUTPUT, IANJUTA_DEBUGGER_ERROR_OUTPUT, IANJUTA_DEBUGGER_INFO_OUTPUT } IAnjutaDebuggerOutputType; typedef enum { IANJUTA_DEBUGGER_UNDEFINED = -1, IANJUTA_DEBUGGER_NO = 0, IANJUTA_DEBUGGER_YES = 1 } IAnjutaDebuggerState; typedef enum { IANJUTA_DEBUGGER_BUSY, IANJUTA_DEBUGGER_STOPPED, IANJUTA_DEBUGGER_STARTED, IANJUTA_DEBUGGER_PROGRAM_LOADED, IANJUTA_DEBUGGER_PROGRAM_RUNNING, IANJUTA_DEBUGGER_PROGRAM_STOPPED } IAnjutaDebuggerStatus; typedef struct _IAnjutaDebuggerALine IAnjutaDebuggerALine; struct _IAnjutaDebuggerALine { guint address; const gchar *label; const gchar *text; }; typedef struct _IAnjutaDebuggerBreakpoint IAnjutaDebuggerBreakpoint; struct _IAnjutaDebuggerBreakpoint { IAnjutaDebuggerBreakpointType type; guint id; gchar *file; guint line; gchar *function; guint address; IAnjutaDebuggerState enable; guint ignore; guint times; gchar *condition; IAnjutaDebuggerState keep; }; typedef struct _IAnjutaDebuggerDisassembly IAnjutaDebuggerDisassembly; struct _IAnjutaDebuggerDisassembly { guint size; IAnjutaDebuggerALine data[]; }; typedef struct _IAnjutaDebuggerFrame IAnjutaDebuggerFrame; struct _IAnjutaDebuggerFrame { guint thread; guint level; gchar *args; gchar *file; guint line; gchar *function; gchar *library; guint address; }; typedef struct _IAnjutaDebuggerMemory IAnjutaDebuggerMemory; struct _IAnjutaDebuggerMemory { guint address; guint length; gchar *data; }; typedef struct _IAnjutaDebuggerRegister IAnjutaDebuggerRegister; struct _IAnjutaDebuggerRegister { guint num; gchar *name; gchar *value; }; typedef struct _IAnjutaDebuggerVariable IAnjutaDebuggerVariable; struct _IAnjutaDebuggerVariable { gchar *name; gchar *expression; gchar *type; gchar *value; gboolean changed; gint children; }; #define IANJUTA_DEBUGGER_ERROR ianjuta_debugger_error_quark() typedef void (*IAnjutaDebuggerCallback) (const gpointer data, gpointer user_data, GError* err); typedef void (*IAnjutaDebuggerGListCallback) (const GList* list, gpointer user_data, GError* err); typedef void (*IAnjutaDebuggerGCharCallback) (const gchar *value, gpointer user_data, GError* err); typedef void (*IAnjutaDebuggerBreakpointCallback) (const IAnjutaDebuggerBreakpoint *breakpoint, gpointer user_data, GError* err); typedef void (*IAnjutaDebuggerOutputCallback) (IAnjutaDebuggerOutputType type, const gchar *output, gpointer user_data); typedef void (*IAnjutaDebuggerMemoryCallback) (const gchar* address, guint length, const gchar *data, gpointer user_data, GError *err); typedef void (*IAnjutaDebuggerVariableCallback) (IAnjutaDebuggerVariable *variable, gpointer user_data, GError *err); typedef struct _IAnjutaDebugger IAnjutaDebugger; typedef struct _IAnjutaDebuggerIface IAnjutaDebuggerIface; struct _IAnjutaDebuggerIface { GTypeInterface g_iface; /* Signal */ void (*debugger_ready) (IAnjutaDebugger *obj, IAnjutaDebuggerStatus status); /* Signal */ void (*debugger_started) (IAnjutaDebugger *obj); /* Signal */ void (*debugger_stopped) (IAnjutaDebugger *obj, gint status); /* Signal */ void (*frame_changed) (IAnjutaDebugger *obj, guint frame, guint thread); /* Signal */ void (*location_changed) (IAnjutaDebugger *obj, const gchar* file, guint line, guint address); /* Signal */ void (*program_exited) (IAnjutaDebugger *obj); /* Signal */ void (*program_loaded) (IAnjutaDebugger *obj); /* Signal */ void (*program_running) (IAnjutaDebugger *obj); /* Signal */ void (*program_stopped) (IAnjutaDebugger *obj, guint thread); /* Signal */ void (*sharedlib_event) (IAnjutaDebugger *obj); /* Signal */ void (*signal_received) (IAnjutaDebugger *obj, const gchar* name, const gchar* description); gboolean (*abort) (IAnjutaDebugger *obj, GError **err); gboolean (*attach) (IAnjutaDebugger *obj, pid_t pid, const GList* source_search_directories, GError **err); gboolean (*callback) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*clear_breakpoint) (IAnjutaDebugger *obj, guint id, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*condition_breakpoint) (IAnjutaDebugger *obj, guint id, const gchar* condition, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); void (*disable_log) (IAnjutaDebugger *obj, GError **err); gboolean (*enable_breakpoint) (IAnjutaDebugger *obj, guint id, gboolean enable, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); void (*enable_log) (IAnjutaDebugger *obj, IAnjutaMessageView *log, GError **err); gboolean (*evaluate) (IAnjutaDebugger *obj, const gchar* name, const gchar* value, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*exit) (IAnjutaDebugger *obj, GError **err); IAnjutaDebuggerStatus (*get_status) (IAnjutaDebugger *obj, GError **err); gboolean (*handle_signal) (IAnjutaDebugger *obj, const gchar *name, gboolean stop, gboolean print, gboolean ignore, GError **err); gboolean (*ignore_breakpoint) (IAnjutaDebugger *obj, guint id, guint ignore, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_args) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_frame) (IAnjutaDebugger *obj, guint frame, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_program) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_sharedlib) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_signal) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_target) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_thread) (IAnjutaDebugger *obj, guint thread, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_udot) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*info_variables) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*initialize) (IAnjutaDebugger *obj, IAnjutaDebuggerOutputCallback func, gpointer user_data, GError **err); gboolean (*inspect) (IAnjutaDebugger *obj, const gchar* name, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*interrupt) (IAnjutaDebugger *obj, GError **err); gboolean (*list_argument) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*list_frame) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*list_local) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*list_register) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*list_thread) (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*load) (IAnjutaDebugger *obj, const gchar *file, const gchar *mime_type, const GList* source_search_directories, gboolean terminal, GError **err); gboolean (*print) (IAnjutaDebugger *obj, const gchar *variable, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*quit) (IAnjutaDebugger *obj, GError **err); gboolean (*run) (IAnjutaDebugger *obj, GError **err); gboolean (*run_to) (IAnjutaDebugger *obj, const gchar *uri, gint line, GError **err); gboolean (*send_command) (IAnjutaDebugger *obj, const gchar *command, GError **err); gboolean (*set_breakpoint_at_address) (IAnjutaDebugger *obj, guint address, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*set_breakpoint_at_function) (IAnjutaDebugger *obj, const gchar* file, const gchar* function, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*set_breakpoint_at_line) (IAnjutaDebugger *obj, const gchar* file, guint line, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean (*set_frame) (IAnjutaDebugger *obj, guint frame, GError **err); gboolean (*set_thread) (IAnjutaDebugger *obj, guint thread, GError **err); gboolean (*start) (IAnjutaDebugger *obj, const gchar *args, GError **err); gboolean (*step_in) (IAnjutaDebugger *obj, GError **err); gboolean (*step_out) (IAnjutaDebugger *obj, GError **err); gboolean (*step_over) (IAnjutaDebugger *obj, GError **err); gboolean (*unload) (IAnjutaDebugger *obj, GError **err); }; GType ianjuta_debugger_breakpoint_type_get_type (void); GType ianjuta_debugger_data_get_type (void); GType ianjuta_debugger_error_get_type (void); GType ianjuta_debugger_output_type_get_type (void); GType ianjuta_debugger_state_get_type (void); GType ianjuta_debugger_status_get_type (void); GQuark ianjuta_debugger_error_quark (void); GType ianjuta_debugger_get_type (void); gboolean ianjuta_debugger_abort (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_attach (IAnjutaDebugger *obj, pid_t pid, const GList* source_search_directories, GError **err); gboolean ianjuta_debugger_callback (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_clear_breakpoint (IAnjutaDebugger *obj, guint id, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_condition_breakpoint (IAnjutaDebugger *obj, guint id, const gchar* condition, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); void ianjuta_debugger_disable_log (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_enable_breakpoint (IAnjutaDebugger *obj, guint id, gboolean enable, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); void ianjuta_debugger_enable_log (IAnjutaDebugger *obj, IAnjutaMessageView *log, GError **err); gboolean ianjuta_debugger_evaluate (IAnjutaDebugger *obj, const gchar* name, const gchar* value, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_exit (IAnjutaDebugger *obj, GError **err); IAnjutaDebuggerStatus ianjuta_debugger_get_status (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_handle_signal (IAnjutaDebugger *obj, const gchar *name, gboolean stop, gboolean print, gboolean ignore, GError **err); gboolean ianjuta_debugger_ignore_breakpoint (IAnjutaDebugger *obj, guint id, guint ignore, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_args (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_frame (IAnjutaDebugger *obj, guint frame, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_program (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_sharedlib (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_signal (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_target (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_thread (IAnjutaDebugger *obj, guint thread, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_udot (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_info_variables (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_initialize (IAnjutaDebugger *obj, IAnjutaDebuggerOutputCallback func, gpointer user_data, GError **err); gboolean ianjuta_debugger_inspect (IAnjutaDebugger *obj, const gchar* name, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_interrupt (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_list_argument (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_list_frame (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_list_local (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_list_register (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_list_thread (IAnjutaDebugger *obj, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_load (IAnjutaDebugger *obj, const gchar *file, const gchar *mime_type, const GList* source_search_directories, gboolean terminal, GError **err); gboolean ianjuta_debugger_print (IAnjutaDebugger *obj, const gchar *variable, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_quit (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_run (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_run_to (IAnjutaDebugger *obj, const gchar *uri, gint line, GError **err); gboolean ianjuta_debugger_send_command (IAnjutaDebugger *obj, const gchar *command, GError **err); gboolean ianjuta_debugger_set_breakpoint_at_address (IAnjutaDebugger *obj, guint address, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_set_breakpoint_at_function (IAnjutaDebugger *obj, const gchar* file, const gchar* function, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_set_breakpoint_at_line (IAnjutaDebugger *obj, const gchar* file, guint line, IAnjutaDebuggerCallback callback, gpointer user_data, GError **err); gboolean ianjuta_debugger_set_frame (IAnjutaDebugger *obj, guint frame, GError **err); gboolean ianjuta_debugger_set_thread (IAnjutaDebugger *obj, guint thread, GError **err); gboolean ianjuta_debugger_start (IAnjutaDebugger *obj, const gchar *args, GError **err); gboolean ianjuta_debugger_step_in (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_step_out (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_step_over (IAnjutaDebugger *obj, GError **err); gboolean ianjuta_debugger_unload (IAnjutaDebugger *obj, GError **err); G_END_DECLS #endif