10class FileStream :
public IOStream {
12 NW4R_UT_RTTI_DECL(FileStream);
14 enum SeekOrigin { SEEK_BEG, SEEK_CUR, SEEK_END };
18 virtual ~FileStream() {}
20 virtual ulong GetSize()
const = 0;
22 virtual void Seek(s32 offset, ulong origin);
24 virtual void Cancel();
25 virtual bool CancelAsync(StreamCallback pCallback,
28 virtual bool CanSeek()
const = 0;
29 virtual bool CanCancel()
const = 0;
31 virtual ulong Tell()
const = 0;
36 FilePosition() : mFileSize(0), mPosition(0) {}
38 ulong GetFileSize()
const {
41 void SetFileSize(ulong size) {
49 ulong Skip(s32 offset);
50 ulong Append(s32 offset);
51 void Seek(s32 offset, ulong origin);