35 lines
855 B
C++
35 lines
855 B
C++
#pragma once
|
|
|
|
|
|
struct __declspec(novtable) IFile
|
|
{
|
|
virtual ~IFile() {};
|
|
|
|
virtual char* get_Buffer() = 0;
|
|
virtual unsigned int get_BufferLength() = 0;
|
|
virtual void SaveAs(string16 argFileName) = 0;
|
|
|
|
virtual std::string ReadString() = 0;
|
|
virtual float ReadFloat() = 0;
|
|
virtual int ReadInt() = 0;
|
|
virtual void* ReadDataArray(unsigned int argBytes) = 0;
|
|
|
|
virtual void RewindFilePointer() = 0;
|
|
virtual char* get_FilePointer() const = 0;
|
|
virtual void set_FilePointer(char* ac_Position_) = 0;
|
|
virtual bool IsEof() const = 0;
|
|
|
|
virtual string16 get_FileName() const = 0;
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) IFileSystem
|
|
{
|
|
virtual ~IFileSystem() {};
|
|
|
|
virtual void InitializeFromDirectory(string16 argDirectory = L"data") = 0;
|
|
virtual void InitializeFromZipFile(string16 argZipFile = L"data.pak") = 0;
|
|
|
|
virtual IFile* Open(string16 argFileName) = 0;
|
|
};
|