- bool IsOk() const { return LastError() == wxSTREAM_NOERROR; }
- bool operator!() const { return LastError() != wxSTREAM_NOERROR; }
-
- virtual size_t GetSize() const { return 0; }
-
- // deprecated, for compatibility only
- wxStreamError LastError() const { return m_lasterror; }
- size_t StreamSize() const { return GetSize(); }
+ bool IsOk() const { return GetLastError() == wxSTREAM_NO_ERROR; }
+ bool operator!() const { return !IsOk(); }
+
+ // reset the stream state
+ void Reset() { m_lasterror = wxSTREAM_NO_ERROR; }
+
+ // this doesn't make sense for all streams, always test its return value
+ 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; }
+
+ // 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() {}