Irrlicht 3D Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IFileList.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_FILE_LIST_H_INCLUDED__
6 #define __I_FILE_LIST_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "path.h"
10 
11 namespace irr
12 {
13 namespace io
14 {
15 
17 
19 class IFileList : public virtual IReferenceCounted
20 {
21 public:
23 
24  virtual u32 getFileCount() const = 0;
25 
27 
31  virtual const io::path& getFileName(u32 index) const = 0;
32 
34 
37  virtual const io::path& getFullFileName(u32 index) const = 0;
38 
40 
43  virtual u32 getFileSize(u32 index) const = 0;
44 
46 
49  virtual u32 getFileOffset(u32 index) const = 0;
50 
52 
58  virtual u32 getID(u32 index) const = 0;
59 
61 
64  virtual bool isDirectory(u32 index) const = 0;
65 
67 
72  virtual s32 findFile(const io::path& filename, bool isFolder=false) const = 0;
73 
75  virtual const io::path& getPath() const = 0;
76 
78 
83  virtual u32 addItem(const io::path& fullPath, u32 offset, u32 size, bool isDirectory, u32 id=0) = 0;
84 
86  virtual void sort() = 0;
87 };
88 
89 } // end namespace irr
90 } // end namespace io
91 
92 
93 #endif
94