summaryrefslogtreecommitdiff
path: root/src/stream.h
blob: ae94234805428bd7f1f12e4209dee0993e565313 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef STREAM_H
#define STREAM_H

#include <stdint.h>
#include <stdio.h>

namespace Bu
{
	class Stream
	{
	public:
		Stream();
		virtual ~Stream();

		virtual void close() = 0;
		virtual size_t read( void *pBuf, size_t nBytes ) = 0;
		virtual size_t write( const void *pBuf, size_t nBytes ) = 0;

		virtual long tell() = 0;
		virtual void seek( long offset ) = 0;
		virtual void setPos( long pos ) = 0;
		virtual void setPosEnd( long pos ) = 0;
		virtual bool isEOS() = 0;

		virtual bool canRead() = 0;
		virtual bool canWrite() = 0;
		virtual bool canSeek() = 0;

	private:

	};
}

#endif