#ifndef STREAM_H
#define STREAM_H

#include "filesystem/filecommon.h"

class StreamBase
{
public:
	virtual ~StreamBase() {}

	virtual size_t readBuffer(void* buffer, size_t size) = 0;
	virtual size_t writeBuffer(void* buffer, size_t size) = 0;
	virtual void seek(SeekDir way, long offset) = 0;
	virtual size_t tell() = 0;
	virtual bool eof() = 0;
};

class File;
StreamBase* createFileStream(File* file);

#endif // !STREAM_H
