From: Vadim Zeitlin Date: Tue, 20 Aug 2002 22:33:20 +0000 (+0000) Subject: added and documented wxProcess::Is{Input|Error}Available() and IsInputOpened X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/411165f3f40f411d6feba4d13d4934f7fff6cc4f added and documented wxProcess::Is{Input|Error}Available() and IsInputOpened git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/process.tex b/docs/latex/wx/process.tex index 95c907c979..e3ced73249 100644 --- a/docs/latex/wx/process.tex +++ b/docs/latex/wx/process.tex @@ -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}} diff --git a/include/wx/process.h b/include/wx/process.h index 03993984bb..c5136d203a 100644 --- a/include/wx/process.h +++ b/include/wx/process.h @@ -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 diff --git a/src/common/process.cpp b/src/common/process.cpp index 7c23c47620..c8f7cae09a 100644 --- a/src/common/process.cpp +++ b/src/common/process.cpp @@ -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 // ----------------------------------------------------------------------------