Files
bluflame/aiwaz/Aiwaz/FileSystem/File.h
2026-04-18 22:31:51 +02:00

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;
};