ply_fd_watch_t *fd_watch;
ply_terminal_session_output_handler_t output_handler;
- ply_terminal_session_done_handler_t done_handler;
+ ply_terminal_session_hangup_handler_t hangup_handler;
void *user_data;
uint32_t is_running : 1;
ply_terminal_session_flags_t flags,
ply_terminal_session_begin_handler_t begin_handler,
ply_terminal_session_output_handler_t output_handler,
- ply_terminal_session_done_handler_t done_handler,
+ ply_terminal_session_hangup_handler_t hangup_handler,
void *user_data)
{
pid_t pid;
assert (session != NULL);
assert (session->loop != NULL);
assert (!session->is_running);
- assert (session->done_handler == NULL);
+ assert (session->hangup_handler == NULL);
run_in_parent = (flags & PLY_TERMINAL_SESSION_FLAGS_RUN_IN_PARENT) != 0;
look_in_path = (flags & PLY_TERMINAL_SESSION_FLAGS_LOOK_IN_PATH) != 0;
{
session->is_running = true;
session->output_handler = output_handler;
- session->done_handler = done_handler;
+ session->hangup_handler = hangup_handler;
session->user_data = user_data;
ply_terminal_session_start_logging (session);
ply_terminal_session_attach (ply_terminal_session_t *session,
ply_terminal_session_flags_t flags,
ply_terminal_session_output_handler_t output_handler,
- ply_terminal_session_done_handler_t done_handler,
+ ply_terminal_session_hangup_handler_t hangup_handler,
int ptmx,
void *user_data)
{
assert (session != NULL);
assert (session->loop != NULL);
assert (!session->is_running);
- assert (session->done_handler == NULL);
+ assert (session->hangup_handler == NULL);
should_redirect_console =
(flags & PLY_TERMINAL_SESSION_FLAGS_REDIRECT_CONSOLE) != 0;
session->is_running = true;
session->output_handler = output_handler;
- session->done_handler = done_handler;
+ session->hangup_handler = hangup_handler;
session->user_data = user_data;
ply_terminal_session_start_logging (session);
}
session->output_handler = NULL;
- session->done_handler = NULL;
+ session->hangup_handler = NULL;
session->user_data = NULL;
session->is_running = false;
static void
ply_terminal_session_on_hangup (ply_terminal_session_t *session)
{
- ply_terminal_session_done_handler_t done_handler;
+ ply_terminal_session_hangup_handler_t hangup_handler;
assert (session != NULL);
- done_handler = session->done_handler;
+ hangup_handler = session->hangup_handler;
ply_logger_flush (session->logger);
session->is_running = false;
ply_terminal_session_stop_logging (session);
- session->done_handler = NULL;
+ session->hangup_handler = NULL;
- if (done_handler != NULL)
- done_handler (session->user_data, session);
+ if (hangup_handler != NULL)
+ hangup_handler (session->user_data, session);
ply_terminal_session_detach (session);
}
if (!ply_terminal_session_run (session, flags,
(ply_terminal_session_begin_handler_t) NULL,
(ply_terminal_session_output_handler_t) NULL,
- (ply_terminal_session_done_handler_t)
+ (ply_terminal_session_hangup_handler_t)
on_finished, loop))
{
perror ("could not start terminal session");
typedef void (* ply_terminal_session_output_handler_t)
(void *user_data, const uint8_t *output, size_t size, ply_terminal_session_t *session);
-typedef void (* ply_terminal_session_done_handler_t)
+typedef void (* ply_terminal_session_hangup_handler_t)
(void *user_data, ply_terminal_session_t *session);
typedef enum
ply_terminal_session_flags_t flags,
ply_terminal_session_begin_handler_t begin_handler,
ply_terminal_session_output_handler_t output_handler,
- ply_terminal_session_done_handler_t done_handler,
+ ply_terminal_session_hangup_handler_t done_handler,
void *user_data);
bool ply_terminal_session_attach (ply_terminal_session_t *session,
ply_terminal_session_flags_t flags,
ply_terminal_session_output_handler_t output_handler,
- ply_terminal_session_done_handler_t done_handler,
+ ply_terminal_session_hangup_handler_t hangup_handler,
int ptmx,
void *user_data);