added flags parameter to wxExecute(wxArrayString *) overloads
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
f38f689990
commit
4d17215498
@ -521,14 +521,14 @@ processes.
|
||||
|
||||
\perlnote{In wxPerl this function is called \texttt{Wx::ExecuteArgs}}
|
||||
|
||||
\func{long}{wxExecute}{\param{const wxString\& }{command}, \param{wxArrayString\& }{output}}
|
||||
\func{long}{wxExecute}{\param{const wxString\& }{command}, \param{wxArrayString\& }{output}, \param{int }{flags = 0}}
|
||||
|
||||
\perlnote{In wxPerl this function is called \texttt{Wx::ExecuteStdout} and it
|
||||
only takes the {\tt command} argument,
|
||||
and returns a 2-element list {\tt ( status, output )}, where {\tt output} is
|
||||
an array reference.}
|
||||
|
||||
\func{long}{wxExecute}{\param{const wxString\& }{command}, \param{wxArrayString\& }{output}, \param{wxArrayString\& }{errors}}
|
||||
\func{long}{wxExecute}{\param{const wxString\& }{command}, \param{wxArrayString\& }{output}, \param{wxArrayString\& }{errors}, \param{int }{flags = 0}}
|
||||
|
||||
\perlnote{In wxPerl this function is called \texttt{Wx::ExecuteStdoutStderr}
|
||||
and it only takes the {\tt command} argument,
|
||||
@ -585,9 +585,10 @@ will kill this process as well as all of its children (except those which have
|
||||
started their own session).
|
||||
|
||||
Finally, you may use the third overloaded version of this function to execute
|
||||
a process (always synchronously) and capture its output in the array
|
||||
{\it output}. The fourth version adds the possibility to additionally capture
|
||||
the messages from standard error output in the {\it errors} array.
|
||||
a process (always synchronously, the contents of \arg{flags} is or'd with
|
||||
\textt{wxEXEC\_SYNC}) and capture its output in the array \arg{output}. The
|
||||
fourth version adds the possibility to additionally capture the messages from
|
||||
standard error output in the \arg{errors} array.
|
||||
|
||||
{\bf NB:} Currently wxExecute() can only be used from the main thread, calling
|
||||
this function from another thread will result in an assert failure in debug
|
||||
|
@ -194,12 +194,14 @@ WXDLLIMPEXP_BASE long wxExecute(const wxString& command, int flags = wxEXEC_ASYN
|
||||
// execute the command capturing its output into an array line by line, this is
|
||||
// always synchronous
|
||||
WXDLLIMPEXP_BASE long wxExecute(const wxString& command,
|
||||
wxArrayString& output);
|
||||
wxArrayString& output,
|
||||
int flags = 0);
|
||||
|
||||
// also capture stderr (also synchronous)
|
||||
WXDLLIMPEXP_BASE long wxExecute(const wxString& command,
|
||||
wxArrayString& output,
|
||||
wxArrayString& error);
|
||||
wxArrayString& output,
|
||||
wxArrayString& error,
|
||||
int flags = 0);
|
||||
|
||||
enum wxSignal
|
||||
{
|
||||
|
@ -479,13 +479,14 @@ static bool ReadAll(wxInputStream *is, wxArrayString& output)
|
||||
// public versions of wxExecute() below
|
||||
static long wxDoExecuteWithCapture(const wxString& command,
|
||||
wxArrayString& output,
|
||||
wxArrayString* error)
|
||||
wxArrayString* error,
|
||||
int flags)
|
||||
{
|
||||
// create a wxProcess which will capture the output
|
||||
wxProcess *process = new wxProcess;
|
||||
process->Redirect();
|
||||
|
||||
long rc = wxExecute(command, wxEXEC_SYNC, process);
|
||||
long rc = wxExecute(command, wxEXEC_SYNC | flags, process);
|
||||
|
||||
#if wxUSE_STREAMS
|
||||
if ( rc != -1 )
|
||||
@ -510,16 +511,17 @@ static long wxDoExecuteWithCapture(const wxString& command,
|
||||
return rc;
|
||||
}
|
||||
|
||||
long wxExecute(const wxString& command, wxArrayString& output)
|
||||
long wxExecute(const wxString& command, wxArrayString& output, int flags)
|
||||
{
|
||||
return wxDoExecuteWithCapture(command, output, NULL);
|
||||
return wxDoExecuteWithCapture(command, output, NULL, flags);
|
||||
}
|
||||
|
||||
long wxExecute(const wxString& command,
|
||||
wxArrayString& output,
|
||||
wxArrayString& error)
|
||||
wxArrayString& error,
|
||||
int flags)
|
||||
{
|
||||
return wxDoExecuteWithCapture(command, output, &error);
|
||||
return wxDoExecuteWithCapture(command, output, &error, flags);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user