#ifndef IDATASTREAM_H__ #define IDATASTREAM_H__ #include namespace LifeCore { class IDataStream { public: virtual ~IDataStream(){} virtual void Close() = 0; virtual size_t Read(void* pBuffer, size_t countBytes) = 0; virtual size_t Write(const void* pBuffer, size_t countBytes) = 0; virtual void Seek(size_t position) = 0; virtual size_t Tell() = 0; virtual size_t Length() = 0; virtual bool CanRead() = 0; virtual bool CanWrite() = 0; }; typedef std::auto_ptr IDataStreamPtr; } #endif