A generic class to walk a hierarchical directory structure.
More...
#include <file.h>
Collaboration diagram for DirTree:
Public Member Functions
DirTree (const char *prefix, unsigned maxdepth)
Construct a directory tree walk starting at the specified prefix.
More...
Construct an un-opened directory tree of a known maximum depth.
More...
void
open (const char *prefix)
Open a directory tree path.
More...
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...
Protected Member Functions
virtual bool
filter (const char *file, struct stat *ino)
Virtual method to filter results.
More...
Private Attributes
Detailed Description
Constructor & Destructor Documentation
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
Member Function Documentation
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.
Field Documentation
unsigned DirTree::current
private
unsigned DirTree::max
private
char DirTree::path[256+1]
private
unsigned DirTree::prefixpos
private
The documentation for this class was generated from the following file: