A generic class to walk a hierarchical directory structure.
More...
#include <file.h>
|
| DirTree (const char *prefix, unsigned maxdepth) |
| Construct a directory tree walk starting at the specified prefix. More...
|
|
| DirTree (unsigned maxdepth) |
| Construct an un-opened directory tree of a known maximum depth. More...
|
|
virtual | ~DirTree () |
|
void | open (const char *prefix) |
| Open a directory tree path. More...
|
|
void | close (void) |
| Close the directory path. More...
|
|
char * | getPath (void) |
| Extract the next full pathname from the directory walk. More...
|
|
unsigned | perform (const char *prefix) |
| This is used to step through the filter virtual for an entire subtree, and is used for cases where a derived DirTree class performs it's primary operations through filter rather than externally by calling getPath(). More...
|
|
|
virtual bool | filter (const char *file, struct stat *ino) |
| Virtual method to filter results. More...
|
|
A generic class to walk a hierarchical directory structure.
- Author
- David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m Directory tree walking.
Definition at line 315 of file file.h.
DirTree::DirTree |
( |
const char * |
prefix, |
|
|
unsigned |
maxdepth |
|
) |
| |
Construct a directory tree walk starting at the specified prefix.
A maximum subdirectory depth is also specified.
- Parameters
-
prefix | to start walk. |
maxdepth | subdirectory depth to examine. |
DirTree::DirTree |
( |
unsigned |
maxdepth | ) |
|
Construct an un-opened directory tree of a known maximum depth.
- Parameters
-
maxdepth | subdirectory subdirectory depth. |
virtual DirTree::~DirTree |
( |
| ) |
|
|
virtual |
void DirTree::close |
( |
void |
| ) |
|
Close the directory path.
virtual bool DirTree::filter |
( |
const char * |
file, |
|
|
struct stat * |
ino |
|
) |
| |
|
protectedvirtual |
Virtual method to filter results.
Virtual override methods should call baseclass method to assure . and .. names are stripped out.
- Returns
- true if current filename is accepted.
- Parameters
-
file | path to examine |
ino | info of type, date, etc. |
char* DirTree::getPath |
( |
void |
| ) |
|
Extract the next full pathname from the directory walk.
When returning directories, a '/' is appended. The returned string is a buffer of MAX_PATH size.
- Returns
- path of next subdirectory entry or NULL.
void DirTree::open |
( |
const char * |
prefix | ) |
|
Open a directory tree path.
- Parameters
-
prefix | directory path to open. |
unsigned DirTree::perform |
( |
const char * |
prefix | ) |
|
This is used to step through the filter virtual for an entire subtree, and is used for cases where a derived DirTree class performs it's primary operations through filter rather than externally by calling getPath().
- Returns
- number of files and directories examined.
- Parameters
-
prefix | directory path to examine. |
unsigned DirTree::current |
|
private |
char DirTree::path[256+1] |
|
private |
unsigned DirTree::prefixpos |
|
private |
The documentation for this class was generated from the following file: