Irrlicht 3D Engine
IFileList.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_LIST_H_INCLUDED__
00006 #define __I_FILE_LIST_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "path.h"
00010 
00011 namespace irr
00012 {
00013 namespace io
00014 {
00015 
00017 
00019 class IFileList : public virtual IReferenceCounted
00020 {
00021 public:
00023 
00024     virtual u32 getFileCount() const = 0;
00025 
00027 
00031     virtual const io::path& getFileName(u32 index) const = 0;
00032 
00034 
00037     virtual const io::path& getFullFileName(u32 index) const = 0;
00038 
00040 
00043     virtual u32 getFileSize(u32 index) const = 0;
00044 
00046 
00049     virtual u32 getFileOffset(u32 index) const = 0;
00050 
00052 
00058     virtual u32 getID(u32 index) const = 0;
00059 
00061 
00064     virtual bool isDirectory(u32 index) const = 0;
00065 
00067 
00072     virtual s32 findFile(const io::path& filename, bool isFolder=false) const = 0;
00073 
00075     virtual const io::path& getPath() const = 0;
00076 
00078 
00083     virtual u32 addItem(const io::path& fullPath, u32 offset, u32 size, bool isDirectory, u32 id=0) = 0;
00084 
00086     virtual void sort() = 0;
00087 };
00088 
00089 } // end namespace irr
00090 } // end namespace io
00091 
00092 
00093 #endif
00094