DirTree

Description: Directory tree interface

Source file: …\genesis3d\OpenSource\Source\Vfile\dirtree.h

Contents:

Functions: Create, CreateFromFile, WriteToFile, GetSize, Destroy, FindExact, FindPartial, AddFile, Remove, SetFileAttributes, GetFileAttributes, SetFileOffset, GetFileOffset, SetFileTime, GetFileTime, SetFileSize, GetFileSize, SetFileHints, GetFileHints, GetName, FileExists, CreateFinder, DestroyFinder, FinderGetNextFile, Dump

Types: DirTree , DirTree_Finder

Changes for Genesis3D v1.6: None

Types:

typedef struct DirTree DirTree;

NOTE: The contents of this structure have been intentionally left out of the interface, by the designers of this module. Think of this as a handle only.

typedef struct DirTree_Finder DirTree_Finder;

NOTE: The contents of this structure have been intentionally left out of the interface, by the designers of this module. Think of this as a handle only.

  

Functions:

DirTree* DirTree_Create(void);

Return to Contents

DirTree* DirTree_CreateFromFile(geVFile* File);

 Return to Contents

geBoolean DirTree_WriteToFile(const DirTree* Tree, geVFile* File);

Return to Contents

geBoolean DirTree_GetSize(const DirTree* Tree, long* Size);

Gets the size of data that will be written to disk to persist the tree. This API is NOT efficient.

 Return to Contents

void DirTree_Destroy(DirTree* Tree);

 Return to Contents

DirTree* DirTree_FindExact(const DirTree* Tree, const char * Path);

Return to Contents

DirTree* DirTree_FindPartial(const DirTree* Tree, const char * Path, const char ** LeftOvers);

 Return to Contents

DirTree* DirTree_AddFile(DirTree* Tree, const char * Path, geBoolean IsDirectory);

 Return to Contents

geBoolean DirTree_Remove(DirTree* Tree, DirTree* SubTree);

 Return to Contents

void DirTree_SetFileAttributes(DirTree* Tree, geVFile_Attributes Attributes);

 Return to Contents

void DirTree_GetFileAttributes(DirTree* Tree, geVFile_Attributes* Attributes);

 Return to Contents

void DirTree_SetFileOffset(DirTree* Tree, long Offset);

 Return to Contents

void DirTree_GetFileOffset(DirTree* Tree, long* Offset);

 Return to Contents

void DirTree_SetFileTime(DirTree* Tree, const geVFile_Time* Time);

 Return to Contents

void DirTree_GetFileTime(DirTree* Tree, geVFile_Time* Time);

 Return to Contents

void DirTree_SetFileSize(DirTree* Tree, long Size);

 Return to Contents

void DirTree_GetFileSize(DirTree* Tree, long* Size);

 Return to Contents

geBoolean DirTree_SetFileHints(DirTree* Tree, const geVFile_Hints* Hints);

 Return to Contents

void DirTree_GetFileHints(DirTree* Tree, geVFile_Hints* Hints);

 Return to Contents

geBoolean DirTree_GetName(DirTree* Tree, char * Buff, int MaxLen);

 Return to Contents

geBoolean DirTree_FileExists(const DirTree* Tree, const char * Path);

 Return to Contents

DirTree_Finder* DirTree_CreateFinder(DirTree* Tree, const char * Path);

 Return to Contents

void DirTree_DestroyFinder(DirTree_Finder* Finder);

 Return to Contents

DirTree* DirTree_FinderGetNextFile(DirTree_Finder* Finder);

 Return to Contents

void DirTree_Dump(const DirTree* Tree);

Note: Only avail if: #ifdef DEBUG

 

Return to Contents