// 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 )
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;
+ return m_inputStream && m_inputStream->GetLastError() != wxSTREAM_EOF;
}
bool wxProcess::IsInputAvailable() const
{
- return FALSE;
+ return m_inputStream && m_inputStream->CanRead();
}
bool wxProcess::IsErrorAvailable() const
{
- return FALSE;
+ return m_errorStream && m_errorStream->CanRead();
}
-#endif // !Win32 && !Unix
-
#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;
}
}