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
This commit is contained in:
Vadim Zeitlin
2002-08-20 22:33:20 +00:00
parent 7906613173
commit 411165f3f4
3 changed files with 61 additions and 0 deletions

View 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. If it is NULL, you have not turned on the redirection.
See \helpref{wxProcess::Redirect}{wxprocessredirect}. 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} \membersection{wxProcess::Kill}\label{wxprocesskill}
\func{static wxKillError}{Kill}{\param{int}{ pid}, \param{wxSignal}{ signal = wxSIGNONE}} \func{static wxKillError}{Kill}{\param{int}{ pid}, \param{wxSignal}{ signal = wxSIGNONE}}

View File

@@ -88,6 +88,13 @@ public:
// close the output stream indicating that nothing more will be written // close the output stream indicating that nothing more will be written
void CloseOutput() { delete m_outputStream; m_outputStream = NULL; } 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) // implementation only (for wxExecute)
// //
// NB: the streams passed here should correspond to the child process // NB: the streams passed here should correspond to the child process

View File

@@ -120,6 +120,28 @@ void wxProcess::SetPipeStreams(wxInputStream *inputSstream,
m_outputStream = outputStream; 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 #endif // wxUSE_STREAMS
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------