2019-08-23 11:56:54 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "DataStream.h"
|
|
|
|
|
|
|
|
NS_BF_BEGIN
|
|
|
|
|
|
|
|
class CachedDataStream : public DataStream
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
const static int CHUNK_SIZE = 8192;
|
|
|
|
|
|
|
|
DataStream* mStream;
|
|
|
|
uint8 mChunk[CHUNK_SIZE];
|
|
|
|
|
|
|
|
uint8* mDataPtr;
|
|
|
|
uint8* mDataEnd;
|
|
|
|
|
|
|
|
public:
|
|
|
|
void Flush();
|
|
|
|
|
|
|
|
public:
|
|
|
|
CachedDataStream(DataStream* stream);
|
|
|
|
~CachedDataStream();
|
|
|
|
|
|
|
|
virtual bool Eof() override;
|
|
|
|
virtual int GetSize() override;
|
2025-03-28 08:08:33 -04:00
|
|
|
virtual int Read(void* ptr, int size) override;
|
|
|
|
virtual int Write(void* ptr, int size) override;
|
2019-08-23 11:56:54 -07:00
|
|
|
|
|
|
|
virtual int GetPos() override;
|
|
|
|
virtual void Seek(int size) override;
|
|
|
|
virtual void SetPos(int pos) override;
|
|
|
|
};
|
|
|
|
|
|
|
|
NS_BF_END
|