#ifndef REZFILELIST_H #define REZFILELIST_H #include #include #include class RezFileList : public irr::io::IFileList { public: RezFileList(const rez::ball &rez); virtual irr::u32 getFileCount() const; virtual const irr::io::path &getFileName(irr::u32 index) const; virtual const irr::io::path &getFullFileName(irr::u32 index) const; virtual irr::u32 getFileSize(irr::u32 index) const; virtual irr::u32 getFileOffset(irr::u32 index) const; virtual irr::u32 getID(irr::u32 index) const; virtual bool isDirectory(irr::u32 index) const; virtual irr::s32 findFile(const irr::io::path &filename, bool isFolder) const; virtual const irr::io::path &getPath() const; virtual irr::u32 addItem(const irr::io::path& fullPath, irr::u32 offset, irr::u32 size, bool isDirectory, irr::u32 id); virtual void sort(); protected: const rez::ball &rez; private: irr::u32 getFileCount(const rez::dir &dir) const; int findFile(const irr::io::path &filename, bool isFolder, const rez::dir::direntry *entry) const; mutable std::vector entries; }; #endif