00001
00010 #ifndef _SHASTREAMMEM_H_
00011 #define _SHASTREAMMEM_H_
00012
00013 #include "SHAtk/SHAstream.h"
00014
00019 class SHAPI SHAstreamMem : public SHAstream
00020 {
00021 protected:
00022 char *buf;
00023 char *pos;
00024 char *end;
00025 int eof;
00026
00027 public:
00028
00030 SHAstreamMem();
00031
00041 int Open(char *buffer, unsigned int size, int access = 3);
00042
00044 virtual ~SHAstreamMem();
00045
00047 virtual int Close(void);
00048
00050 virtual int Read(void *data, SHAstreamPos n);
00051
00053 virtual int Write(const void *data, SHAstreamPos n);
00054
00056 virtual int Seek(SHAstreamPos offset, SHAstreamSeek_e origin);
00057
00059 virtual SHAstreamPos Tell(void);
00060
00062 virtual int Flush(void);
00063
00065 virtual int SHAstreamMem::IsEOF(void);
00066
00067 };
00068
00069 #endif