From 71e94ee161447b84c0eaabf6567f8fa62262cd3e Mon Sep 17 00:00:00 2001 From: Mirrorbot Date: Sat, 27 Dec 2025 17:53:06 -0600 Subject: Inital commit --- doc/html/_i_file_system_8h_source.html | 286 +++++++++++++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 doc/html/_i_file_system_8h_source.html (limited to 'doc/html/_i_file_system_8h_source.html') diff --git a/doc/html/_i_file_system_8h_source.html b/doc/html/_i_file_system_8h_source.html new file mode 100644 index 0000000..787d201 --- /dev/null +++ b/doc/html/_i_file_system_8h_source.html @@ -0,0 +1,286 @@ + + + + +Irrlicht 3D Engine: IFileSystem.h Source File + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+
Irrlicht 3D Engine + +
+ +
+ + + + + + +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+
IFileSystem.h
+
+
+Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
+00002 // This file is part of the "Irrlicht Engine".
+00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
+00004 
+00005 #ifndef __I_FILE_SYSTEM_H_INCLUDED__
+00006 #define __I_FILE_SYSTEM_H_INCLUDED__
+00007 
+00008 #include "IReferenceCounted.h"
+00009 #include "IXMLReader.h"
+00010 #include "IFileArchive.h"
+00011 
+00012 namespace irr
+00013 {
+00014 namespace video
+00015 {
+00016     class IVideoDriver;
+00017 } // end namespace video
+00018 namespace io
+00019 {
+00020 
+00021 class IReadFile;
+00022 class IWriteFile;
+00023 class IFileList;
+00024 class IXMLWriter;
+00025 class IAttributes;
+00026 
+00027 
+00029 
+00032 class IFileSystem : public virtual IReferenceCounted
+00033 {
+00034 public:
+00035 
+00037 
+00041     virtual IReadFile* createAndOpenFile(const path& filename) =0;
+00042 
+00044 
+00054     virtual IReadFile* createMemoryReadFile(void* memory, s32 len, const path& fileName, bool deleteMemoryWhenDropped=false) =0;
+00055 
+00057 
+00066     virtual IReadFile* createLimitReadFile(const path& fileName,
+00067             IReadFile* alreadyOpenedFile, long pos, long areaSize) =0;
+00068 
+00070 
+00081     virtual IWriteFile* createMemoryWriteFile(void* memory, s32 len, const path& fileName, bool deleteMemoryWhenDropped=false) =0;
+00082 
+00083 
+00085 
+00092     virtual IWriteFile* createAndWriteFile(const path& filename, bool append=false) =0;
+00093 
+00095 
+00116     virtual bool addFileArchive(const path& filename, bool ignoreCase=true,
+00117             bool ignorePaths=true,
+00118             E_FILE_ARCHIVE_TYPE archiveType=EFAT_UNKNOWN,
+00119             const core::stringc& password="",
+00120             IFileArchive** retArchive=0) =0;
+00121 
+00123 
+00148     virtual bool addFileArchive(IReadFile* file, bool ignoreCase=true,
+00149             bool ignorePaths=true,
+00150             E_FILE_ARCHIVE_TYPE archiveType=EFAT_UNKNOWN,
+00151             const core::stringc& password="",
+00152             IFileArchive** retArchive=0) =0;
+00153 
+00155 
+00157     virtual bool addFileArchive(IFileArchive* archive) =0;
+00158 
+00160     virtual u32 getFileArchiveCount() const =0;
+00161 
+00163 
+00168     virtual bool removeFileArchive(u32 index) =0;
+00169 
+00171 
+00182     virtual bool removeFileArchive(const path& filename) =0;
+00183 
+00185 
+00190     virtual bool removeFileArchive(const IFileArchive* archive) =0;
+00191 
+00193 
+00196     virtual bool moveFileArchive(u32 sourceIndex, s32 relative) =0;
+00197 
+00199     virtual IFileArchive* getFileArchive(u32 index) =0;
+00200 
+00202 
+00204     virtual void addArchiveLoader(IArchiveLoader* loader) =0;
+00205 
+00207     virtual u32 getArchiveLoaderCount() const = 0;
+00208 
+00210 
+00213     virtual IArchiveLoader* getArchiveLoader(u32 index) const = 0;
+00214 
+00216 
+00228     _IRR_DEPRECATED_ virtual bool addZipFileArchive(const c8* filename, bool ignoreCase=true, bool ignorePaths=true)
+00229     {
+00230         return addFileArchive(filename, ignoreCase, ignorePaths, EFAT_ZIP);
+00231     }
+00232 
+00234 
+00244     _IRR_DEPRECATED_ virtual bool addFolderFileArchive(const c8* filename, bool ignoreCase=true, bool ignorePaths=true)
+00245     {
+00246         return addFileArchive(filename, ignoreCase, ignorePaths, EFAT_FOLDER);
+00247     }
+00248 
+00250 
+00262     _IRR_DEPRECATED_ virtual bool addPakFileArchive(const c8* filename, bool ignoreCase=true, bool ignorePaths=true)
+00263     {
+00264         return addFileArchive(filename, ignoreCase, ignorePaths, EFAT_PAK);
+00265     }
+00266 
+00268 
+00269     virtual const path& getWorkingDirectory() =0;
+00270 
+00272 
+00276     virtual bool changeWorkingDirectoryTo(const path& newDirectory) =0;
+00277 
+00279 
+00281     virtual path getAbsolutePath(const path& filename) const =0;
+00282 
+00284 
+00286     virtual path getFileDir(const path& filename) const =0;
+00287 
+00289 
+00293     virtual path getFileBasename(const path& filename, bool keepExtension=true) const =0;
+00294 
+00296     virtual path& flattenFilename(path& directory, const path& root="/") const =0;
+00297 
+00299     virtual path getRelativeFilename(const path& filename, const path& directory) const =0;
+00300 
+00302 
+00305     virtual IFileList* createFileList() =0;
+00306 
+00308 
+00311     virtual IFileList* createEmptyFileList(const io::path& path, bool ignoreCase, bool ignorePaths) =0;
+00312 
+00314     virtual EFileSystemType setFileListSystem(EFileSystemType listType) =0;
+00315 
+00317 
+00319     virtual bool existFile(const path& filename) const =0;
+00320 
+00322 
+00328     virtual IXMLReader* createXMLReader(const path& filename) =0;
+00329 
+00331 
+00337     virtual IXMLReader* createXMLReader(IReadFile* file) =0;
+00338 
+00340 
+00346     virtual IXMLReaderUTF8* createXMLReaderUTF8(const path& filename) =0;
+00347 
+00349 
+00355     virtual IXMLReaderUTF8* createXMLReaderUTF8(IReadFile* file) =0;
+00356 
+00358 
+00362     virtual IXMLWriter* createXMLWriter(const path& filename) =0;
+00363 
+00365 
+00369     virtual IXMLWriter* createXMLWriter(IWriteFile* file) =0;
+00370 
+00372 
+00377     virtual IAttributes* createEmptyAttributes(video::IVideoDriver* driver=0) =0;
+00378 };
+00379 
+00380 
+00381 } // end namespace io
+00382 } // end namespace irr
+00383 
+00384 #endif
+00385 
+
+
+ + + + + -- cgit v1.2.3-70-g09d2