27 #ifndef INCLUDED_VFS_TREE
28 #define INCLUDED_VFS_TREE
178 #endif // #ifndef INCLUDED_VFS_TREE
VfsFile * AddFile(const VfsFile &file)
const VfsPath & Name() const
void RemoveFile(const VfsPath &name)
remove the given file from the virtual directory (no effect on the physical file).
void DirectoryDescriptionR(std::wstring &descriptions, const VfsDirectory &directory, size_t indentLevel)
append each directory's files' description to the given string.
volatile intptr_t m_shouldPopulate
PRealDirectory m_realDirectory
const VfsFiles & Files() const
const PRealDirectory & AssociatedDirectory() const
std::wstring FileDescriptions(const VfsDirectory &directory, size_t indentLevel)
void SetAssociatedDirectory(const PRealDirectory &realDirectory)
side effect: the next ShouldPopulate() will return true.
VfsFile * GetFile(const VfsPath &name)
const VfsSubdirectories & Subdirectories() const
std::wstring FileDescription(const VfsFile &file)
shared_ptr< RealDirectory > PRealDirectory
VfsSubdirectories m_subdirectories
shared_ptr< IFileLoader > PIFileLoader
const PIFileLoader & Loader() const
void Clear()
empty file and subdirectory lists (e.g.
std::map< VfsPath, VfsFile > VfsFiles
void RequestRepopulate()
ensure the next ShouldPopulate returns true.
std::map< VfsPath, VfsDirectory > VfsSubdirectories
VfsDirectory * GetSubdirectory(const VfsPath &name)
VfsFile(const VfsPath &name, size_t size, time_t mtime, size_t priority, const PIFileLoader &provider)
VfsDirectory * AddSubdirectory(const VfsPath &name)