## 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
                        IAnjutaDebugManager;
                        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);

## Object Hierarchy

      GInterface
       +----IAnjutaDebugManager

## Prerequisites

IAnjutaDebugManager requires GObject.

## Signals

      "breakpoint-changed"                             : Run Last
      "debugger-started"                               : Run Last
      "debugger-stopped"                               : Run Last
      "frame-changed"                                  : Run Last
      "location-changed"                               : Run Last
      "program-exited"                                 : Run Last
      "program-loaded"                                 : Run Last
      "program-moved"                                  : Run Last
      "program-running"                                : Run Last
      "program-started"                                : Run Last
      "program-stopped"                                : Run Last
      "program-unloaded"                               : Run Last
      "sharedlib-event"                                : Run Last
      "signal-received"                                : Run Last

## 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()

### IAnjutaDebugManager

    typedef struct _IAnjutaDebugManager IAnjutaDebugManager;

### IAnjutaDebugManagerIface

    typedef struct {
    	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);
    } IAnjutaDebugManagerIface;

### ianjuta_debug_manager_error_quark ()

    GQuark              ianjuta_debug_manager_error_quark   (void);

Returns : |

### 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.

## Signal Details

### The `"breakpoint-changed"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             arg1,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"debugger-started"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"debugger-stopped"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            GError              *arg1,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.

### The `"frame-changed"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            guint                arg1,
                                                            gint                 arg2,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.

### The `"location-changed"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gulong               arg1,
                                                            gchar               *arg2,
                                                            guint                arg3,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`arg1` : |
`arg2` : |
`arg3` : |
`user_data` : | user data set when the signal handler was connected.

### The `"program-exited"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"program-loaded"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"program-moved"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gint                 arg1,
                                                            gint                 arg2,
                                                            gulong               arg3,
                                                            gchar               *arg4,
                                                            guint                arg5,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`arg1` : |
`arg2` : |
`arg3` : |
`arg4` : |
`arg5` : |
`user_data` : | user data set when the signal handler was connected.

### The `"program-running"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"program-started"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"program-stopped"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"program-unloaded"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"sharedlib-event"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"signal-received"` signal

    void                user_function                      (IAnjutaDebugManager *ianjutadebugmanager,
                                                            gchar               *arg1,
                                                            gchar               *arg2,
                                                            gpointer             user_data)                : Run Last

`ianjutadebugmanager` : | the object which received the signal.
`arg1` : |
`arg2` : |
`user_data` : | user data set when the signal handler was connected.