## IAnjutaDebugManager IAnjutaDebugManager — Common graphical interface to all debugger |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-debug-manager.h>

    #define             IANJUTA_DEBUG_MANAGER_ERROR
    struct              IAnjutaDebugManagerIface;
    GQuark              ianjuta_debug_manager_error_quark   (void);
    gboolean            ianjuta_debug_manager_quit          (IAnjutaDebugManager *obj,
                                                             GError **err);
    gboolean            ianjuta_debug_manager_start         (IAnjutaDebugManager *obj,
                                                             const gchar *uri,
                                                             GError **err);
    gboolean            ianjuta_debug_manager_start_remote  (IAnjutaDebugManager *obj,
                                                             const gchar *server,
                                                             const gchar *uri,
                                                             GError **err);

## Description

This interface wrap the real debugger plugin and provide a common graphical user interface.

## Details

### IANJUTA_DEBUG_MANAGER_ERROR

    #define IANJUTA_DEBUG_MANAGER_ERROR ianjuta_debug_manager_error_quark()

### struct IAnjutaDebugManagerIface

    struct IAnjutaDebugManagerIface {
    	GTypeInterface g_iface;

    	/* Signal */
    	void (*breakpoint_changed) (IAnjutaDebugManager *obj, IAnjutaDebuggerBreakpointItem *breakpoint);
    	/* Signal */
    	void (*debugger_started) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*debugger_stopped) (IAnjutaDebugManager *obj, GError *err);
    	/* Signal */
    	void (*frame_changed) (IAnjutaDebugManager *obj, guint frame,  gint thread);
    	/* Signal */
    	void (*location_changed) (IAnjutaDebugManager *obj, gulong address,  const gchar* uri,  guint line);
    	/* Signal */
    	void (*program_exited) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*program_loaded) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*program_moved) (IAnjutaDebugManager *obj, gint pid,  gint tid,  gulong address,  const gchar* file,  guint line);
    	/* Signal */
    	void (*program_running) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*program_started) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*program_stopped) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*program_unloaded) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*sharedlib_event) (IAnjutaDebugManager *obj);
    	/* Signal */
    	void (*signal_received) (IAnjutaDebugManager *obj, const gchar* name,  const gchar* description);

    	gboolean (*quit) (IAnjutaDebugManager *obj, GError **err);
    	gboolean (*start) (IAnjutaDebugManager *obj, const gchar *uri, GError **err);
    	gboolean (*start_remote) (IAnjutaDebugManager *obj, const gchar *server,  const gchar *uri, GError **err);
    };

### ianjuta_debug_manager_error_quark ()

    GQuark              ianjuta_debug_manager_error_quark   (void);

### ianjuta_debug_manager_quit ()

    gboolean            ianjuta_debug_manager_quit          (IAnjutaDebugManager *obj,
                                                             GError **err);

Quit the debugger, can wait until the debugger is ready.

`obj` : | Self
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debug_manager_start ()

    gboolean            ianjuta_debug_manager_start         (IAnjutaDebugManager *obj,
                                                             const gchar *uri,
                                                             GError **err);

Start the debugger of the given uri

`obj` : | Self
`uri` : | uri of the target
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.

### ianjuta_debug_manager_start_remote ()

    gboolean            ianjuta_debug_manager_start_remote  (IAnjutaDebugManager *obj,
                                                             const gchar *server,
                                                             const gchar *uri,
                                                             GError **err);

Start the debugger of the given uri

`obj` : | Self
`server` : | server (IP address:port)
`uri` : | uri of the local target
`err` : | Error propagation and reporting.
Returns : | TRUE if sucessful, other FALSE.