X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af8481937288aa79f67b5e7df3caeef5a7824248..8d0a7b563acf4bd7e75824ba2076a7ab4d81a650:/include/wx/unix/pipe.h?ds=sidebyside diff --git a/include/wx/unix/pipe.h b/include/wx/unix/pipe.h index 93257ea456..356ee9d394 100644 --- a/include/wx/unix/pipe.h +++ b/include/wx/unix/pipe.h @@ -5,7 +5,7 @@ // Modified by: // Created: 24.06.2003 (extracted from src/unix/utilsunx.cpp) // RCS-ID: $Id$ -// Copyright: (c) 2003 Vadim Zeitlin +// Copyright: (c) 2003 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -56,21 +56,12 @@ public: bool IsOk() const { return m_fds[Read] != INVALID_FD; } // return the descriptor for one of the pipe ends - int operator[](Direction which) const - { - wxASSERT_MSG( which >= 0 && (size_t)which < WXSIZEOF(m_fds), - _T("invalid pipe index") ); - - return m_fds[which]; - } + int operator[](Direction which) const { return m_fds[which]; } // detach a descriptor, meaning that the pipe dtor won't close it, and // return it int Detach(Direction which) { - wxASSERT_MSG( which >= 0 && (size_t)which < WXSIZEOF(m_fds), - _T("invalid pipe index") ); - int fd = m_fds[which]; m_fds[which] = INVALID_FD; @@ -94,5 +85,27 @@ private: int m_fds[2]; }; +#if wxUSE_STREAMS + +#include "wx/wfstream.h" + +// ---------------------------------------------------------------------------- +// wxPipeInputStream: stream for reading from a pipe +// ---------------------------------------------------------------------------- + +class wxPipeInputStream : public wxFileInputStream +{ +public: + wxPipeInputStream(int fd) : wxFileInputStream(fd) { } + + // return TRUE if the pipe is still opened + bool IsOpened() const { return !Eof(); } + + // return TRUE if we have anything to read, don't block + virtual bool CanRead() const; +}; + +#endif // wxUSE_STREAMS + #endif // _WX_UNIX_PIPE_H_