X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/24e148adbe79d7c911086f5d4fa46e94d7ced003..e93a3a18fc35386cfb04a1f4e73cddfb8ae33315:/include/wx/stream.h diff --git a/include/wx/stream.h b/include/wx/stream.h index a6ab789df5..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 // ---------------------------------------------------------------------------