2019-08-23 11:56:54 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Common.h"
|
|
|
|
#include "DataStream.h"
|
|
|
|
|
|
|
|
NS_BF_BEGIN;
|
|
|
|
|
|
|
|
class FileHandleStream : public DataStream
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
HANDLE mFileHandle;
|
|
|
|
uint8* mCacheBuffer;
|
|
|
|
int mCacheReadPos;
|
|
|
|
int mCacheSize;
|
|
|
|
int mVFilePos;
|
|
|
|
|
|
|
|
public:
|
|
|
|
FileHandleStream();
|
|
|
|
~FileHandleStream();
|
|
|
|
|
|
|
|
void SetCacheSize(int size);
|
|
|
|
|
|
|
|
bool Eof() override;
|
|
|
|
int GetSize() override;
|
|
|
|
using DataStream::Read;
|
2025-03-28 08:08:33 -04:00
|
|
|
int Read(void* ptr, int size) override;
|
2019-08-23 11:56:54 -07:00
|
|
|
using DataStream::Write;
|
2025-03-28 08:08:33 -04:00
|
|
|
int Write(void* ptr, int size) override;
|
2019-08-23 11:56:54 -07:00
|
|
|
|
|
|
|
int GetPos() override;
|
|
|
|
void Seek(int size) override;
|
|
|
|
void SetPos(int pos) override;
|
|
|
|
};
|
|
|
|
|
|
|
|
NS_BF_END;
|