12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #pragma once
- #include "Common.h"
- #include "DataStream.h"
- NS_BF_BEGIN;
- class FileStream : public DataStream
- {
- BF_DISALLOW_COPY(FileStream);
- public:
- FILE* mFP;
- uint8* mCacheBuffer;
- int mCacheReadPos;
- int mCacheSize;
- int mVFilePos;
- bool mReadPastEnd;
- public:
- FileStream();
- ~FileStream();
- bool Open(const StringImpl& filePath, const char* fopenOptions);
- bool IsOpen();
- void Close();
- void SetCacheSize(int size);
- bool Eof() override;
- int GetSize() override;
- using DataStream::Read;
- int Read(void* ptr, int size) override;
- using DataStream::Write;
- int Write(void* ptr, int size) override;
- int GetPos() override;
- void Seek(int size) override;
- void SetPos(int pos) override;
- };
- class FileSubStream : public FileStream
- {
- public:
- int mOffset;
- int mSize;
- public:
- int GetSize() override;
- int GetPos() override;
- void SetPos(int pos) override;
- };
- class SysFileStream : public DataStream
- {
- BF_DISALLOW_COPY(SysFileStream);
- public:
- BfpFile* mFile;
- public:
- SysFileStream();
- ~SysFileStream();
- bool Open(const StringImpl& filePath, BfpFileCreateKind createKind, BfpFileCreateFlags createFlags);
- bool IsOpen();
- void Close();
- void SetSizeFast(int size); // May create uninitialized data
- bool Eof() override;
- int GetSize() override;
- using DataStream::Read;
- int Read(void* ptr, int size) override;
- using DataStream::Write;
- int Write(void* ptr, int size) override;
- int GetPos() override;
- void Seek(int size) override;
- void SetPos(int pos) override;
- };
- NS_BF_END;
|