diff options
Diffstat (limited to 'src/beaver-target.c')
-rw-r--r-- | src/beaver-target.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/beaver-target.c b/src/beaver-target.c index c341827..9a3f52e 100644 --- a/src/beaver-target.c +++ b/src/beaver-target.c @@ -57,6 +57,7 @@ static guint signals[LAST_SIGNAL] = { 0 }; static const gchar *ssh_options[] = { "ssh", + "-t", "-l", "root", "-o", "CheckHostIP no", "-o", "StrictHostKeyChecking no", @@ -77,6 +78,7 @@ 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_remote_stop (BeaverTarget *target); static void beaver_target_get_property (GObject *object, guint property_id, @@ -156,6 +158,7 @@ beaver_target_class_init (BeaverTargetClass *klass) klass->run_remote = _beaver_target_run_remote; klass->remote_debug = _beaver_target_remote_debug; klass->remote_debug_stop = _beaver_target_remote_debug_stop; + klass->remote_stop = _beaver_target_remote_stop; signals[STATE_CHANGED] = g_signal_new ("state-changed", G_OBJECT_CLASS_TYPE (object_class), @@ -237,6 +240,12 @@ beaver_target_run_remote (BeaverTarget *target, gchar *cmd, GError **error) return BEAVER_TARGET_GET_CLASS (target)->run_remote (target, cmd, error); } +void +beaver_target_remote_stop (BeaverTarget *target) +{ + BEAVER_TARGET_GET_CLASS (target)->remote_stop (target); +} + gboolean beaver_target_remote_debug (BeaverTarget *target, gchar *cmd, gchar *cmd_args, GError **error) @@ -314,7 +323,7 @@ _beaver_target_run_remote_v (BeaverTarget *target, gchar **in_args, if (anjuta_launcher_execute_v (priv->launcher, args, launcher_data_cb, target)) { - beaver_target_set_state (target, TARGET_STATE_BUSY); + beaver_target_set_state (target, TARGET_STATE_REMOTE_RUNNING); return TRUE; } else { gchar *debug_str = NULL; @@ -427,6 +436,14 @@ _beaver_target_remote_debug_stop (BeaverTarget *target, GError **out_err) } static void +_beaver_target_remote_stop (BeaverTarget *target) +{ + BeaverTargetPrivate *priv = TARGET_PRIVATE (target); + + anjuta_launcher_reset (priv->launcher); +} + +static void launcher_child_exited_cb (AnjutaLauncher *launcher, gint child_pid, gint status, gulong time, gpointer userdata) { |