#ifndef _WX_WXSTREAM_H__
#define _WX_WXSTREAM_H__
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "stream.h"
-#endif
-
#include "wx/defs.h"
#if wxUSE_STREAMS
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
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;
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;
// 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);
// 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();