X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/588066b7a39629e44bb39f1ab436b80f38c13f33..6dc7c02c0ed6e9d2adbf53a38caf6cf2cfb4bd4f:/include/wx/stream.h diff --git a/include/wx/stream.h b/include/wx/stream.h index dc574b2200..0a6f16e545 100644 --- a/include/wx/stream.h +++ b/include/wx/stream.h @@ -85,10 +85,13 @@ public: virtual size_t GetSize() const; virtual wxFileOffset GetLength() const { return wxInvalidOffset; } + // returns true if the streams supports seeking to arbitrary offsets + virtual bool IsSeekable() const { return false; } + #if WXWIN_COMPATIBILITY_2_2 // deprecated, for compatibility only - wxStreamError LastError() const { return m_lasterror; } - size_t StreamSize() const { return GetSize(); } + wxDEPRECATED( wxStreamError LastError() const ); + wxDEPRECATED( size_t StreamSize() const ); #endif // WXWIN_COMPATIBILITY_2_2 protected: @@ -257,6 +260,7 @@ public: virtual size_t LastWrite() const { return wxStreamBase::m_lastcount; } virtual void Sync(); + virtual bool Close() { return true; } wxOutputStream& operator<<(wxInputStream& out) { return Write(out); } wxOutputStream& operator<<( __wxOutputManip func) { return func(*this); } @@ -478,6 +482,7 @@ public: // Position functions wxFileOffset SeekI(wxFileOffset pos, wxSeekMode mode = wxFromStart); wxFileOffset TellI() const; + bool IsSeekable() const { return m_parent_i_stream->IsSeekable(); } // the buffer given to the stream will be deleted by it void SetInputStreamBuffer(wxStreamBuffer *buffer); @@ -513,8 +518,10 @@ public: // Position functions wxFileOffset SeekO(wxFileOffset pos, wxSeekMode mode = wxFromStart); wxFileOffset TellO() const; + bool IsSeekable() const { return m_parent_o_stream->IsSeekable(); } void Sync(); + bool Close(); wxFileOffset GetLength() const;