24 #include "pedigree/kernel/Log.h" 25 #include "pedigree/kernel/compiler.h" 26 #include "pedigree/kernel/processor/types.h" 27 #include "pedigree/kernel/time/Time.h" 28 #include "pedigree/kernel/utilities/HashTable.h" 29 #include "pedigree/kernel/utilities/LazyEvaluate.h" 30 #include "pedigree/kernel/utilities/Pointers.h" 31 #include "pedigree/kernel/utilities/String.h" 32 #include "pedigree/kernel/utilities/utility.h" 53 FATAL(
"Casting non-directory File to Directory!");
68 const String &name, Time::Timestamp accessedTime,
69 Time::Timestamp modifiedTime, Time::Timestamp creationTime,
70 uintptr_t inode,
class Filesystem *pFs,
size_t size,
File *pParent);
81 File *getChild(
size_t n);
84 size_t getNumChildren();
87 virtual void cacheDirectoryContents();
92 return m_bCachePopulated;
110 void setReparsePoint(
Directory *pTarget);
119 bool addEphemeralFile(
File *pFile);
149 static void destroyEntry(
File *file);
189 m_bCachePopulated =
true;
193 void addDirectoryEntry(
const String &name, File *pTarget);
196 void addDirectoryEntry(
const String &name, DirectoryEntryMetadata &&meta);
199 void preallocateDirectoryEntries(
size_t count);
202 virtual File *convertToFile(
const DirectoryEntryMetadata &meta);
virtual bool isBytewise() const
void operator=(const Filesystem &)
static Directory * fromFile(File *pF)
virtual const DirectoryEntryCache & getCache()
virtual bool isDirectory()
virtual bool isDirectory()
DirectoryEntryCache m_Cache
void markCachePopulated()
virtual bool isCachePopulated() const