]> git.saurik.com Git - wxWidgets.git/commitdiff
added and documented wxProcess::Is{Input|Error}Available() and IsInputOpened
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 20 Aug 2002 22:33:20 +0000 (22:33 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 20 Aug 2002 22:33:20 +0000 (22:33 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/process.tex
include/wx/process.h
src/common/process.cpp

index 95c907c979e313f4cbd7fdc91b72f64cc43fbce6..e3ced7324959927c78bca80110eb43545ebc3cd9 100644 (file)
@@ -121,6 +121,38 @@ It returns an output stream correspoding to the input stream of the subprocess.
 If it is NULL, you have not turned on the redirection.
 See \helpref{wxProcess::Redirect}{wxprocessredirect}.
 
+\membersection{wxProcess::IsErrorAvailable}\label{wxprocessiserroravailable}
+
+\constfunc{bool}{IsErrorAvailable}{\void}
+
+Returns {\tt TRUE} if there is data to be read on the child process standard
+error stream.
+
+\wxheading{See also}
+
+\helpref{IsInputAvailable}{wxprocessisinputavailable}
+
+\membersection{wxProcess::IsInputAvailable}\label{wxprocessisinputavailable}
+
+\constfunc{bool}{IsInputAvailable}{\void}
+
+Returns {\tt TRUE} if there is data to be read on the child process standard
+output stream. This allows to write simple (and extremely inefficient)
+polling-based code waiting for a better mechanism in future wxWindows versions.
+
+See the \helpref{exec sample}{sampleexec} for an example of using this
+function.
+
+\wxheading{See also}
+
+\helpref{IsInputOpened}{wxprocessisinputopened}
+
+\membersection{wxProcess::IsInputOpened}\label{wxprocessisinputopened}
+
+\constfunc{bool}{IsInputOpened}{\void}
+
+Returns {\tt TRUE} if the child process standard output stream is opened.
+
 \membersection{wxProcess::Kill}\label{wxprocesskill}
 
 \func{static wxKillError}{Kill}{\param{int}{ pid}, \param{wxSignal}{ signal = wxSIGNONE}}
index 03993984bb662415d68fbe5e3629fe0efeb940ab..c5136d203a3681bd677a72319724368a78836bb7 100644 (file)
@@ -88,6 +88,13 @@ public:
     // close the output stream indicating that nothing more will be written
     void CloseOutput() { delete m_outputStream; m_outputStream = NULL; }
 
+    // return TRUE if the child process stdout is not closed
+    bool IsInputOpened() const;
+
+    // return TRUE if any input is available on the child process stdout/err
+    bool IsInputAvailable() const;
+    bool IsErrorAvailable() const;
+
     // implementation only (for wxExecute)
     //
     // NB: the streams passed here should correspond to the child process
index 7c23c4762076117016c77d6cfdeefef5097bdd95..c8f7cae09aa7b290d03ebd94325c95627bd2d4da 100644 (file)
@@ -120,6 +120,28 @@ void wxProcess::SetPipeStreams(wxInputStream *inputSstream,
     m_outputStream = outputStream;
 }
 
+// these are implemented in platform-dependent (and correct!) way under MSW and
+// Unix but we still have to provide these dummy versions for the other
+// platforms here
+#if !defined(__WIN32__) && !defined(__UNIX_LIKE__)
+
+bool wxProcess::IsInputOpened() const
+{
+    return TRUE;
+}
+
+bool wxProcess::IsInputAvailable() const
+{
+    return FALSE;
+}
+
+bool wxProcess::IsErrorAvailable() const
+{
+    return FALSE;
+}
+
+#endif // !Win32 && !Unix
+
 #endif // wxUSE_STREAMS
 
 // ----------------------------------------------------------------------------