X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b33ae2d5a6ed14ab4b89391b2a1cb5e9f164e90..081eb1b120c1bc9147582cff84de756b4a3a63af:/src/common/process.cpp diff --git a/src/common/process.cpp b/src/common/process.cpp index e573fe8e0d..7d9cdbec72 100644 --- a/src/common/process.cpp +++ b/src/common/process.cpp @@ -26,26 +26,33 @@ #include "wx/process.h" +DEFINE_EVENT_TYPE(wxEVT_END_PROCESS) + IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler) IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent) -wxProcess::wxProcess(wxEvtHandler *parent, bool needPipe, int id) +void wxProcess::Init(wxEvtHandler *parent, int id, bool redirect) { - if (parent) + if ( parent ) SetNextHandler(parent); m_id = id; - m_needPipe = needPipe; - m_in_stream = NULL; - m_out_stream = NULL; + m_redirect = redirect; + +#if wxUSE_STREAMS + m_inputStream = NULL; + m_errorStream = NULL; + m_outputStream = NULL; +#endif // wxUSE_STREAMS } wxProcess::~wxProcess() { - if (m_in_stream) - delete m_in_stream; - if (m_out_stream) - delete m_out_stream; +#if wxUSE_STREAMS + delete m_inputStream; + delete m_errorStream; + delete m_outputStream; +#endif // wxUSE_STREAMS } void wxProcess::OnTerminate(int pid, int status) @@ -63,23 +70,15 @@ void wxProcess::Detach() SetNextHandler(NULL); } -void wxProcess::SetPipeStreams(wxInputStream *in_stream, wxOutputStream *out_stream) -{ - m_in_stream = in_stream; - m_out_stream = out_stream; -} +#if wxUSE_STREAMS -wxInputStream *wxProcess::GetInputStream() const +void wxProcess::SetPipeStreams(wxInputStream *inputSstream, + wxOutputStream *outputStream, + wxInputStream *errorStream) { - return m_in_stream; + m_inputStream = inputSstream; + m_errorStream = errorStream; + m_outputStream = outputStream; } -wxOutputStream *wxProcess::GetOutputStream() const -{ - return m_out_stream; -} - -bool wxProcess::NeedPipe() const -{ - return m_needPipe; -} +#endif // wxUSE_STREAMS