5 #ifndef __I_FILE_SYSTEM_H_INCLUDED__ 6 #define __I_FILE_SYSTEM_H_INCLUDED__ 41 virtual IReadFile* createAndOpenFile(
const path& filename) =0;
67 IReadFile* alreadyOpenedFile,
long pos,
long areaSize) =0;
81 virtual IWriteFile* createMemoryWriteFile(
void* memory,
s32 len,
const path& fileName,
bool deleteMemoryWhenDropped=
false) =0;
92 virtual IWriteFile* createAndWriteFile(
const path& filename,
bool append=
false) =0;
116 virtual bool addFileArchive(
const path& filename,
bool ignoreCase=
true,
117 bool ignorePaths=
true,
148 virtual bool addFileArchive(
IReadFile* file,
bool ignoreCase=
true,
149 bool ignorePaths=
true,
160 virtual u32 getFileArchiveCount()
const =0;
168 virtual bool removeFileArchive(
u32 index) =0;
182 virtual bool removeFileArchive(
const path& filename) =0;
190 virtual bool removeFileArchive(
const IFileArchive* archive) =0;
196 virtual bool moveFileArchive(
u32 sourceIndex,
s32 relative) =0;
207 virtual u32 getArchiveLoaderCount()
const = 0;
230 return addFileArchive(filename, ignoreCase, ignorePaths,
EFAT_ZIP);
246 return addFileArchive(filename, ignoreCase, ignorePaths,
EFAT_FOLDER);
264 return addFileArchive(filename, ignoreCase, ignorePaths,
EFAT_PAK);
269 virtual const path& getWorkingDirectory() =0;
276 virtual bool changeWorkingDirectoryTo(
const path& newDirectory) =0;
281 virtual path getAbsolutePath(
const path& filename)
const =0;
286 virtual path getFileDir(
const path& filename)
const =0;
293 virtual path getFileBasename(
const path& filename,
bool keepExtension=
true)
const =0;
296 virtual path& flattenFilename(
path& directory,
const path& root=
"/")
const =0;
299 virtual path getRelativeFilename(
const path& filename,
const path& directory)
const =0;
319 virtual bool existFile(
const path& filename)
const =0;
328 virtual IXMLReader* createXMLReader(
const path& filename) =0;
346 virtual IXMLReaderUTF8* createXMLReaderUTF8(
const path& filename) =0;
362 virtual IXMLWriter* createXMLWriter(
const path& filename) =0;
The FileSystem manages files and archives and provides access to them.
virtual _IRR_DEPRECATED_ bool addPakFileArchive(const c8 *filename, bool ignoreCase=true, bool ignorePaths=true)
Adds a pak archive to the file system.
Interface providing methods for making it easier to write XML files.
The type of this archive is unknown.
Provides a generic interface for attributes and their values and the possiblity to serialize them...
#define _IRR_DEPRECATED_
Defines a deprecated macro which generates a warning at compile time.
Interface providing read acess to a file.
An ID Software PAK archive.
Provides a list of files and folders.
Class which is able to create an archive from a file.
char c8
8 bit character variable.
IReadFile * createMemoryReadFile(void *memory, long size, const io::path &fileName, bool deleteMemoryWhenDropped)
Internal function, please do not use.
EFileSystemType
FileSystemType: which Filesystem should be used for e.g. browsing.
Everything in the Irrlicht Engine can be found in this namespace.
IReadFile * createLimitReadFile(const io::path &fileName, IReadFile *alreadyOpenedFile, long pos, long areaSize)
Internal function, please do not use.
Interface providing write access to a file.
virtual _IRR_DEPRECATED_ bool addZipFileArchive(const c8 *filename, bool ignoreCase=true, bool ignorePaths=true)
Adds a zip archive to the file system.
signed int s32
32 bit signed variable.
unsigned int u32
32 bit unsigned variable.
Interface providing easy read access to a XML file.
E_FILE_ARCHIVE_TYPE
Contains the different types of archives.
Interface to driver which is able to perform 2d and 3d graphics functions.
virtual _IRR_DEPRECATED_ bool addFolderFileArchive(const c8 *filename, bool ignoreCase=true, bool ignorePaths=true)
Adds an unzipped archive (or basedirectory with subdirectories..) to the file system.
Base class of most objects of the Irrlicht Engine.
The FileArchive manages archives and provides access to files inside them.