mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-10-05 13:51:04 +00:00
Update ttvfs to new version
This commit is contained in:
parent
209ad526c6
commit
8026cdd905
43 changed files with 2124 additions and 2427 deletions
55
ExternalLibs/ttvfs/VFSDirInternal.h
Normal file
55
ExternalLibs/ttvfs/VFSDirInternal.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
#ifndef VFS_DIR_INTERNAL_H
|
||||
#define VFS_DIR_INTERNAL_H
|
||||
|
||||
#include "VFSDir.h"
|
||||
#include <vector>
|
||||
|
||||
VFS_NAMESPACE_START
|
||||
|
||||
|
||||
class Root;
|
||||
class DirView;
|
||||
|
||||
// Internal class, not to be used outside
|
||||
|
||||
class InternalDir : public DirBase
|
||||
{
|
||||
friend class Root;
|
||||
|
||||
public:
|
||||
|
||||
bool fillView(const char *path, DirView& view);
|
||||
|
||||
// virtual overrides (final)
|
||||
const char *getType() const { return "InternalDir"; }
|
||||
void forEachFile(FileEnumCallback f, void *user = NULL, bool safe = false);
|
||||
void forEachDir(DirEnumCallback f, void *user = NULL, bool safe = false);
|
||||
File *getFileByName(const char *fn, bool lazyLoad = true);
|
||||
DirBase *getDirByName(const char *fn, bool lazyLoad = true, bool useSubtrees = true);
|
||||
void close();
|
||||
|
||||
protected:
|
||||
|
||||
// virtual overrides(final)
|
||||
InternalDir *createNew(const char *dir) const;
|
||||
bool _addToView(char *path, DirView& view);
|
||||
|
||||
private:
|
||||
|
||||
InternalDir(const char *);
|
||||
virtual ~InternalDir();
|
||||
|
||||
typedef std::vector<CountedPtr<DirBase> > MountedDirs;
|
||||
MountedDirs _mountedDirs;
|
||||
|
||||
void _clearDirs();
|
||||
void _clearMounts();
|
||||
void _addMountDir(CountedPtr<DirBase> d);
|
||||
void _removeMountDir(DirBase *d);
|
||||
|
||||
};
|
||||
|
||||
|
||||
VFS_NAMESPACE_END
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue