// Author: Julian Smart
// Modified by:
// Created: 04/01/98
-// RCS-ID: $Id$
// Copyright: (c) 1998-2002 wxWidgets dev team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/msw/private/hiddenwin.h"
+// FIXME-VC6: These are not defined in VC6 SDK headers.
+#ifndef BELOW_NORMAL_PRIORITY_CLASS
+ #define BELOW_NORMAL_PRIORITY_CLASS 0x4000
+#endif
+
+#ifndef ABOVE_NORMAL_PRIORITY_CLASS
+ #define ABOVE_NORMAL_PRIORITY_CLASS 0x8000
+#endif
+
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
#if wxUSE_STREAMS && !defined(__WXWINCE__)
-// ----------------------------------------------------------------------------
-// wxPipeStreams
-// ----------------------------------------------------------------------------
-
-class wxPipeInputStream: public wxInputStream
-{
-public:
- wxPipeInputStream(HANDLE hInput);
- virtual ~wxPipeInputStream();
-
- // returns true if the pipe is still opened
- bool IsOpened() const { return m_hInput != INVALID_HANDLE_VALUE; }
-
- // returns true if there is any data to be read from the pipe
- virtual bool CanRead() const;
-
-protected:
- size_t OnSysRead(void *buffer, size_t len);
-
-protected:
- HANDLE m_hInput;
-
- wxDECLARE_NO_COPY_CLASS(wxPipeInputStream);
-};
-
-class wxPipeOutputStream: public wxOutputStream
-{
-public:
- wxPipeOutputStream(HANDLE hOutput);
- virtual ~wxPipeOutputStream() { Close(); }
- bool Close();
-
-protected:
- size_t OnSysWrite(const void *buffer, size_t len);
-
-protected:
- HANDLE m_hOutput;
-
- wxDECLARE_NO_COPY_CLASS(wxPipeOutputStream);
-};
-
-// define this to let wxexec.cpp know that we know what we're doing
-#define _WX_USED_BY_WXEXECUTE_
-#include "../common/execcmn.cpp"
+#include "wx/private/pipestream.h"
+#include "wx/private/streamtempinput.h"
// ----------------------------------------------------------------------------
// wxPipe represents a Win32 anonymous pipe
}
// Translate wxWidgets priority to Windows conventions.
- unsigned prio = handler->GetPriority();
- if ( prio <= 20 )
- dwFlags |= IDLE_PRIORITY_CLASS;
- else if ( prio <= 40 )
- dwFlags |= BELOW_NORMAL_PRIORITY_CLASS;
- else if ( prio <= 60 )
- dwFlags |= NORMAL_PRIORITY_CLASS;
- else if ( prio <= 80 )
- dwFlags |= ABOVE_NORMAL_PRIORITY_CLASS;
- else if ( prio <= 99 )
- dwFlags |= HIGH_PRIORITY_CLASS;
- else if ( prio <= 100 )
- dwFlags |= REALTIME_PRIORITY_CLASS;
- else
+ if ( handler )
{
- wxFAIL_MSG(wxT("invalid value of thread priority parameter"));
- dwFlags |= THREAD_PRIORITY_NORMAL;
+ unsigned prio = handler->GetPriority();
+ if ( prio <= 20 )
+ dwFlags |= IDLE_PRIORITY_CLASS;
+ else if ( prio <= 40 )
+ dwFlags |= BELOW_NORMAL_PRIORITY_CLASS;
+ else if ( prio <= 60 )
+ dwFlags |= NORMAL_PRIORITY_CLASS;
+ else if ( prio <= 80 )
+ dwFlags |= ABOVE_NORMAL_PRIORITY_CLASS;
+ else if ( prio <= 99 )
+ dwFlags |= HIGH_PRIORITY_CLASS;
+ else if ( prio <= 100 )
+ dwFlags |= REALTIME_PRIORITY_CLASS;
+ else
+ {
+ wxFAIL_MSG(wxT("invalid value of thread priority parameter"));
+ dwFlags |= NORMAL_PRIORITY_CLASS;
+ }
}
bool ok = ::CreateProcess