![]() |
![]() |
![]() |
Anjuta Developers Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Signals |
#include <libanjuta/anjuta-launcher.h> struct AnjutaLauncher; struct AnjutaLauncherClass; void (*AnjutaLauncherOutputCallback) (AnjutaLauncher *launcher
,AnjutaLauncherOutputType output_type
,const gchar *chars
,gpointer user_data
); enum AnjutaLauncherOutputType; AnjutaLauncherPriv; gboolean anjuta_launcher_execute (AnjutaLauncher *launcher
,const gchar *command_str
,AnjutaLauncherOutputCallback callback
,gpointer callback_data
); gboolean anjuta_launcher_execute_v (AnjutaLauncher *launcher
,gchar *const dir
,gchar *const argv[]
,gchar *const envp[]
,AnjutaLauncherOutputCallback callback
,gpointer callback_data
); pid_t anjuta_launcher_get_child_pid (AnjutaLauncher *launcher
); gboolean anjuta_launcher_is_busy (AnjutaLauncher *launcher
); AnjutaLauncher * anjuta_launcher_new (void
); void anjuta_launcher_reset (AnjutaLauncher *launcher
); void anjuta_launcher_send_ptyin (AnjutaLauncher *launcher
,const gchar *input_str
); void anjuta_launcher_send_stdin (AnjutaLauncher *launcher
,const gchar *input_str
); void anjuta_launcher_send_stdin_eof (AnjutaLauncher *launcher
); gboolean anjuta_launcher_set_buffered_output (AnjutaLauncher *launcher
,gboolean buffered
); gboolean anjuta_launcher_set_check_passwd_prompt (AnjutaLauncher *launcher
,gboolean check_passwd
); void anjuta_launcher_set_encoding (AnjutaLauncher *launcher
,const gchar *charset
); gboolean anjuta_launcher_set_terminal_echo (AnjutaLauncher *launcher
,gboolean echo_on
); gboolean anjuta_launcher_set_terminate_on_exit (AnjutaLauncher *launcher
,gboolean terminate_on_exit
); void anjuta_launcher_signal (AnjutaLauncher *launcher
,int sig
);
struct AnjutaLauncherClass { GObjectClass parent_class; /* Signals */ void (*child_exited) (AnjutaLauncher *launcher, int child_pid, int exit_status, gulong time_taken_in_seconds); void (*busy) (AnjutaLauncher *launcher, gboolean busy_flag); };
void (*AnjutaLauncherOutputCallback) (AnjutaLauncher *launcher
,AnjutaLauncherOutputType output_type
,const gchar *chars
,gpointer user_data
);
This callback is called when new characters arrive from the launcher execution.
|
a AnjutaLauncher object |
|
Type of the output |
|
Characters being outputed |
|
User data passed back to the user |
typedef enum { ANJUTA_LAUNCHER_OUTPUT_STDOUT, ANJUTA_LAUNCHER_OUTPUT_STDERR, ANJUTA_LAUNCHER_OUTPUT_PTY } AnjutaLauncherOutputType;
gboolean anjuta_launcher_execute (AnjutaLauncher *launcher
,const gchar *command_str
,AnjutaLauncherOutputCallback callback
,gpointer callback_data
);
Executes a command in the launcher. Both outputs (STDOUT and STDERR) are delivered to the above callback. The data are delivered as they arrive from the process and could be of any lenght. If the process asks for passwords, the user will be automatically prompted with a dialog to enter it. Please note that not all formats of the password are recognized. Those with the standard 'assword:' substring in the prompt should work well.
|
a AnjutaLancher object. |
|
The command to execute. |
|
The callback for delivering output from the process. |
|
Callback data for the above callback. |
Returns : |
TRUE if successfully launched, otherwise FALSE. |
gboolean anjuta_launcher_execute_v (AnjutaLauncher *launcher
,gchar *const dir
,gchar *const argv[]
,gchar *const envp[]
,AnjutaLauncherOutputCallback callback
,gpointer callback_data
);
The first of the args
is the command itself. The rest are sent to the
as it's arguments. This function works similar to anjuta_launcher_execute()
.
|
a AnjutaLancher object. |
|
Working directory or NULL. |
|
Command args. |
|
Additional environment variable. |
|
The callback for delivering output from the process. |
|
Callback data for the above callback. |
Returns : |
TRUE if successfully launched, otherwise FALSE. |
pid_t anjuta_launcher_get_child_pid (AnjutaLauncher *launcher
);
Gets the Process ID of the child being executed.
|
a AnjutaLancher object. |
Returns : |
Process ID of the child. |
gboolean anjuta_launcher_is_busy (AnjutaLauncher *launcher
);
Tells if the laucher is currently executing any command.
|
a AnjutaLancher object. |
Returns : |
TRUE if launcher is busy, otherwisee FALSE. |
AnjutaLauncher * anjuta_launcher_new (void
);
Sets if input (those given in STDIN) should enabled or disabled. By default, it is disabled.
Returns : |
a new instance of AnjutaLancher class. |
void anjuta_launcher_reset (AnjutaLauncher *launcher
);
Resets the launcher and kills (SIGTERM) current process, if it is still executing.
|
a AnjutaLancher object. |
void anjuta_launcher_send_ptyin (AnjutaLauncher *launcher
,const gchar *input_str
);
Sends a string to TTY input of the process currently being executed. Mostly useful for entering passwords and other inputs which are directly read from TTY input of the process.
|
a AnjutaLancher object. |
|
The string to send to PTY of the process. |
void anjuta_launcher_send_stdin (AnjutaLauncher *launcher
,const gchar *input_str
);
Sends a EOF to Standard input of the process currently being executed.
|
a AnjutaLancher object. |
gboolean anjuta_launcher_set_buffered_output (AnjutaLauncher *launcher
,gboolean buffered
);
Sets if output should buffered or not. By default, it is buffered.
|
a AnjutaLancher object. |
|
buffer output. |
Returns : |
Previous flag value |
gboolean anjuta_launcher_set_check_passwd_prompt (AnjutaLauncher *launcher
,gboolean check_passwd
);
Set if output is checked for a password prompti. A special dialog box is use to enter it in this case. By default, this behavior is enabled.
|
a AnjutaLancher object. |
|
check for password. |
Returns : |
Previous flag value |
void anjuta_launcher_set_encoding (AnjutaLauncher *launcher
,const gchar *charset
);
Sets the character set to use for Input/Output with the process.
|
a AnjutaLancher object. |
|
Character set to use for Input/Output with the process. |
gboolean anjuta_launcher_set_terminal_echo (AnjutaLauncher *launcher
,gboolean echo_on
);
Sets if input (those given in STDIN) should enabled or disabled. By default, it is disabled.
|
a AnjutaLancher object. |
|
Echo ON flag. |
Returns : |
Previous flag value |
gboolean anjuta_launcher_set_terminate_on_exit (AnjutaLauncher *launcher
,gboolean terminate_on_exit
);
When this flag is set, al i/o channels are closed and the child-exit signal is emitted as soon as the child exit. By default, or when this flag is clear, the launcher object wait until the i/o channels are closed.
|
a AnjutaLancher object. |
|
terminate on exit flag |
Returns : |
Previous flag value |
void anjuta_launcher_signal (AnjutaLauncher *launcher
,int sig
);
Sends a kernel signal to the process that is being executed.
|
a AnjutaLancher object. |
|
kernel signal ID (e.g. SIGTERM). |
"busy"
signalvoid user_function (AnjutaLauncher *launcher,
gboolean busy,
gpointer user_data) : Run First
Emitted when a child starts after a call to one execute function (busy is TRUE) or when a child exits and all i/o channels are closed (busy is FALSE).
|
a AnjutaLancher object. |
|
TRUE is a child is currently running |
|
user data set when the signal handler was connected. |
"child-exited"
signalvoid user_function (AnjutaLauncher *launcher,
gint child_pid,
gint status,
gulong time,
gpointer user_data) : Run First
Emitted when the child has exited and all i/o channels have been closed. If the terminate on exit flag is set, the i/o channels are automatically closed when the child exit. You need to use WEXITSTATUS and friend to get the child exit code from the status returned.
|
a AnjutaLancher object. |
|
process ID of the child |
|
status as returned by waitpid function |
|
time in seconds taken by the child |
|
user data set when the signal handler was connected. |