]> git.saurik.com Git - wxWidgets.git/commitdiff
added flags parameter to wxExecute(wxArrayString *) overloads
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 20 Dec 2004 00:03:35 +0000 (00:03 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 20 Dec 2004 00:03:35 +0000 (00:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/function.tex
include/wx/utils.h
src/common/utilscmn.cpp

index bc1030da8aeede59449fccdcdc0f3772a49e3156..7b87b4fdac5ab3cc8b76ca3aa319ebd9d9e225b3 100644 (file)
@@ -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
index 2450c08a9bcfbe45946ff3857ec7972a7ea906ac..bca3d0be0a04e80b689a4760bc96729f9e8c7857 100644 (file)
@@ -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
 {
index 9f14c1b3cba250e23a55101c9ebbbe5b3aab431d..02c4774c93776b2b57b307a77c161ff470eef3cd 100644 (file)
@@ -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);
 }
 
 // ----------------------------------------------------------------------------