diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/beaver-target.c | 17 | ||||
-rw-r--r-- | src/beaver-target.h | 3 |
3 files changed, 28 insertions, 1 deletions
@@ -1,5 +1,14 @@ 2008-04-04 Rob Bradford <rob@openedhand.com> + * src/beaver-target.c: (beaver_target_class_init), + (beaver_target_remote_debug_stop), + (_beaver_target_remote_debug_stop): + * src/beaver-target.h: + Add functionality to the target to allow stopping of the remote + gdbserver. + +2008-04-04 Rob Bradford <rob@openedhand.com> + * src/beaver-target.c: (beaver_target_dispose), (beaver_target_class_init), (beaver_target_init), (beaver_target_remote_debug), (_beaver_target_run_remote), diff --git a/src/beaver-target.c b/src/beaver-target.c index d0b9ba1..dac84f8 100644 --- a/src/beaver-target.c +++ b/src/beaver-target.c @@ -74,6 +74,8 @@ static gboolean _beaver_target_run_remote (BeaverTarget *target, gchar *cmd, GError **out_err); static gboolean _beaver_target_remote_debug (BeaverTarget *target, gchar *cmd, gchar *cmd_args, GError **out_err); +static gboolean _beaver_target_remote_debug_stop (BeaverTarget *target, + GError **out_err); static void beaver_target_get_property (GObject *object, guint property_id, @@ -148,6 +150,7 @@ beaver_target_class_init (BeaverTargetClass *klass) klass->run_remote_v = _beaver_target_run_remote_v; klass->run_remote = _beaver_target_run_remote; klass->remote_debug = _beaver_target_remote_debug; + klass->remote_debug_stop = _beaver_target_remote_debug_stop; signals[STATE_CHANGED] = g_signal_new ("state-changed", G_OBJECT_CLASS_TYPE (object_class), @@ -236,6 +239,12 @@ beaver_target_remote_debug (BeaverTarget *target, gchar *cmd, gchar *cmd_args, return BEAVER_TARGET_GET_CLASS (target)->remote_debug (target, cmd, cmd_args, error); } +gboolean +beaver_target_remote_debug_stop (BeaverTarget *target, GError **error) +{ + return BEAVER_TARGET_GET_CLASS (target)->remote_debug_stop (target, error); +} + /* default implementations */ static gboolean _beaver_target_run_remote (BeaverTarget *target, gchar *cmd, GError **out_err) @@ -400,6 +409,14 @@ _beaver_target_remote_debug (BeaverTarget *target, gchar *cmd, gchar *cmd_args, } } +static gboolean +_beaver_target_remote_debug_stop (BeaverTarget *target, GError **out_err) +{ + gchar *args[] = { "killall gdbserver", NULL }; + + return beaver_target_run_remote_v (target, args, NULL); +} + static void launcher_child_exited_cb (AnjutaLauncher *launcher, gint child_pid, gint status, gulong time, gpointer userdata) diff --git a/src/beaver-target.h b/src/beaver-target.h index 6fa8ab2..9e549e9 100644 --- a/src/beaver-target.h +++ b/src/beaver-target.h @@ -77,6 +77,7 @@ typedef struct { GError **error); gboolean (* remote_debug) (BeaverTarget *target, gchar *cmd, gchar *args, GError **error); + gboolean (* remote_debug_stop) (BeaverTarget *target, GError **error); } BeaverTargetClass; GType beaver_target_get_type (void); @@ -89,7 +90,7 @@ gboolean beaver_target_run_remote_v (BeaverTarget *target, gchar **in_args, GError **error); gboolean beaver_target_remote_debug (BeaverTarget *target, gchar *cmd, gchar *args, GError **error); - +gboolean beaver_target_remote_debug_stop (BeaverTarget *target, GError **error); G_END_DECLS #endif /* _BEAVER_TARGET */ |