X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/657d209757c4ba3ce214e776d4d7ce6a99b321c9..0f8df1b95c1dc5cc633fb2fd1127bd28028896f7:/include/wx/stream.h diff --git a/include/wx/stream.h b/include/wx/stream.h index e4a184619e..2e57b4ce7b 100644 --- a/include/wx/stream.h +++ b/include/wx/stream.h @@ -38,12 +38,8 @@ WXDLLEXPORT wxOutputStream& wxEndL(wxOutputStream& o_stream); // wxStream: base classes // --------------------------------------------------------------------------- -#define wxStream_NOERROR wxSTREAM_NOERROR -#define wxStream_EOF wxSTREAM_EOF -#define wxStream_WRITE_ERR wxSTREAM_WRITE_ERROR -#define wxStream_READ_ERR wxSTREAM_READ_ERROR - -typedef enum { +typedef enum +{ wxSTREAM_NO_ERROR = 0, wxSTREAM_NO_ERR = wxSTREAM_NO_ERROR, wxSTREAM_NOERROR = wxSTREAM_NO_ERROR, @@ -58,14 +54,24 @@ typedef enum { } wxStreamError; +// compatibility +#define wxStream_NOERROR wxSTREAM_NOERROR +#define wxStream_EOF wxSTREAM_EOF +#define wxStream_WRITE_ERR wxSTREAM_WRITE_ERROR +#define wxStream_READ_ERR wxSTREAM_READ_ERROR + class WXDLLEXPORT wxStreamBase { public: wxStreamBase(); virtual ~wxStreamBase(); - bool operator!() const { return (LastError() != wxSTREAM_NOERROR); } + // error testing wxStreamError LastError() const { return m_lasterror; } + wxStreamError GetLastError() const { return m_lasterror; } + bool IsOk() const { return LastError() == wxSTREAM_NOERROR; } + bool operator!() const { return LastError() != wxSTREAM_NOERROR; } + virtual size_t GetSize() const { return ~((size_t)0); } size_t StreamSize() const { return GetSize(); } @@ -87,6 +93,9 @@ public: wxInputStream(); virtual ~wxInputStream(); + // is the stream at EOF? + virtual bool Eof() const; + // IO functions virtual char Peek(); char GetC(); @@ -149,7 +158,7 @@ public: // A stream for measuring streamed output // --------------------------------------------------------------------------- -class wxCountingOutputStream: public wxOutputStream +class WXDLLEXPORT wxCountingOutputStream: public wxOutputStream { public: wxCountingOutputStream(); @@ -165,7 +174,6 @@ protected: size_t m_currentPos; }; - // --------------------------------------------------------------------------- // "Filter" streams // --------------------------------------------------------------------------- @@ -265,7 +273,7 @@ protected: // wxBufferedStreams // --------------------------------------------------------------------------- -class wxBufferedInputStream: public wxFilterInputStream +class WXDLLEXPORT wxBufferedInputStream: public wxFilterInputStream { public: wxBufferedInputStream(wxInputStream& stream); @@ -288,7 +296,7 @@ protected: wxStreamBuffer *m_i_streambuf; }; -class wxBufferedOutputStream: public wxFilterOutputStream +class WXDLLEXPORT wxBufferedOutputStream: public wxFilterOutputStream { public: wxBufferedOutputStream(wxOutputStream& stream);