diff options
Diffstat (limited to 'lib/common/IOStream.h')
-rw-r--r-- | lib/common/IOStream.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/common/IOStream.h b/lib/common/IOStream.h index 042ccca4..0b1cedd3 100644 --- a/lib/common/IOStream.h +++ b/lib/common/IOStream.h @@ -22,9 +22,13 @@ class IOStream { public: IOStream(); - IOStream(const IOStream &rToCopy); virtual ~IOStream(); - + +private: + IOStream(const IOStream &rToCopy); /* forbidden */ + IOStream& operator=(const IOStream &rToCopy); /* forbidden */ + +public: enum { TimeOutInfinite = -1, @@ -44,6 +48,7 @@ public: virtual int Read(void *pBuffer, int NBytes, int Timeout = IOStream::TimeOutInfinite) = 0; virtual pos_type BytesLeftToRead(); // may return IOStream::SizeOfStreamUnknown (and will for most stream types) virtual void Write(const void *pBuffer, int NBytes) = 0; + virtual void Write(const char *pBuffer); virtual void WriteAllBuffered(); virtual pos_type GetPosition() const; virtual void Seek(pos_type Offset, int SeekType); @@ -57,6 +62,7 @@ public: // Utility functions bool ReadFullBuffer(void *pBuffer, int NBytes, int *pNBytesRead, int Timeout = IOStream::TimeOutInfinite); bool CopyStreamTo(IOStream &rCopyTo, int Timeout = IOStream::TimeOutInfinite, int BufferSize = 1024); + void Flush(int Timeout = IOStream::TimeOutInfinite); static int ConvertSeekTypeToOSWhence(int SeekType); }; |