39 lines
880 B
C++
39 lines
880 B
C++
#pragma once
|
|
|
|
#include "IEngine.h"
|
|
#include "IFileSystem.h"
|
|
|
|
|
|
class File
|
|
: public IFile
|
|
{
|
|
public:
|
|
File(IEngine* ar_Engine_, char* ac_Buffer_, unsigned int argBufferLength, const string16 argFileName);
|
|
virtual ~File();
|
|
|
|
virtual char* get_Buffer();
|
|
virtual unsigned int get_BufferLength();
|
|
virtual void SaveAs(string16 argFileName);
|
|
|
|
virtual std::string ReadString();
|
|
virtual float ReadFloat();
|
|
virtual int ReadInt();
|
|
virtual void* ReadDataArray(unsigned int argBytes);
|
|
|
|
virtual void RewindFilePointer();
|
|
virtual char* get_FilePointer() const;
|
|
virtual void set_FilePointer(char* ac_Position_);
|
|
virtual bool IsEof() const;
|
|
|
|
virtual string16 get_FileName() const { return m_FileName; }
|
|
|
|
protected:
|
|
void CheckIntegrity(unsigned int argBytes);
|
|
|
|
private:
|
|
IEngine* m_Engine;
|
|
char* m_Buffer;
|
|
char* m_BufferPosition;
|
|
unsigned int m_BufferLength;
|
|
string16 m_FileName;
|
|
}; |