// Created: 24/06/98
// RCS-ID: $Id$
// Copyright: (c) Guilhem Lavaux
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "process.h"
#endif
// wxProcess creation
// ----------------------------------------------------------------------------
+#if WXWIN_COMPATIBILITY_2_2
+
+wxProcess::wxProcess(wxEvtHandler *parent, bool redirect)
+{
+ Init(parent, wxID_ANY, redirect ? wxPROCESS_REDIRECT : wxPROCESS_DEFAULT);
+}
+
+#endif // WXWIN_COMPATIBILITY_2_2
+
void wxProcess::Init(wxEvtHandler *parent, int id, int flags)
{
if ( parent )
/* static */
wxProcess *wxProcess::Open(const wxString& cmd, int flags)
{
+ wxASSERT_MSG( !(flags & wxEXEC_SYNC), wxT("wxEXEC_SYNC should not be used." ));
wxProcess *process = new wxProcess(wxPROCESS_REDIRECT);
if ( !wxExecute(cmd, flags, process) )
{
m_outputStream = outputStream;
}
+bool wxProcess::IsInputOpened() const
+{
+ return m_inputStream && m_inputStream->GetLastError() != wxSTREAM_EOF;
+}
+
+bool wxProcess::IsInputAvailable() const
+{
+ return m_inputStream && m_inputStream->CanRead();
+}
+
+bool wxProcess::IsErrorAvailable() const
+{
+ return m_errorStream && m_errorStream->CanRead();
+}
+
#endif // wxUSE_STREAMS
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
/* static */
-wxKillError wxProcess::Kill(int pid, wxSignal sig)
+wxKillError wxProcess::Kill(int pid, wxSignal sig, int flags)
{
wxKillError rc;
- (void)wxKill(pid, sig, &rc);
+ (void)wxKill(pid, sig, &rc, flags);
return rc;
}
{
case wxKILL_OK:
case wxKILL_ACCESS_DENIED:
- return TRUE;
+ return true;
default:
case wxKILL_ERROR:
// fall through
case wxKILL_NO_PROCESS:
- return FALSE;
+ return false;
}
}