X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/588066b7a39629e44bb39f1ab436b80f38c13f33..b9efe021b554fa3967d1442cf758435c5cd5ae8f:/include/wx/stream.h diff --git a/include/wx/stream.h b/include/wx/stream.h index dc574b2200..d40eb66733 100644 --- a/include/wx/stream.h +++ b/include/wx/stream.h @@ -85,12 +85,27 @@ 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 + + // Reserved for future use + virtual void ReservedStreamFunc1() {} + virtual void ReservedStreamFunc2() {} + virtual void ReservedStreamFunc3() {} + virtual void ReservedStreamFunc4() {} + virtual void ReservedStreamFunc5() {} + virtual void ReservedStreamFunc6() {} + virtual void ReservedStreamFunc7() {} + virtual void ReservedStreamFunc8() {} + virtual void ReservedStreamFunc9() {} + protected: virtual wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode); virtual wxFileOffset OnSysTell() const; @@ -208,7 +223,7 @@ public: protected: // do read up to size bytes of data into the provided buffer // - // this method should return 0 if EOF has been reached or an error occured + // this method should return 0 if EOF has been reached or an error occurred // (m_lasterror should be set accordingly as well) or the number of bytes // read virtual size_t OnSysRead(void *buffer, size_t size) = 0; @@ -257,6 +272,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 +494,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 +530,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;