summaryrefslogtreecommitdiff
path: root/lib/common/IOStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common/IOStream.h')
-rw-r--r--lib/common/IOStream.h10
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);
};