Bayonne2 / Common C++ 2 Framework
Public Member Functions | Protected Member Functions | Private Attributes
DirTree Class Reference

A generic class to walk a hierarchical directory structure. More...

#include <file.h>

Collaboration diagram for DirTree:
Collaboration graph
[legend]

Public Member Functions

  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...
 

Protected Member Functions

virtual bool  filter (const char *file, struct stat *ino)
  Virtual method to filter results. More...
 

Private Attributes

char  path [256+1]
 
Dirdir
 
unsigned  max
 
unsigned  current
 
unsigned  prefixpos
 

Detailed Description

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.

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

Definition at line 320 of file file.h.

Dir* DirTree::dir
private

Definition at line 319 of file file.h.

unsigned DirTree::max
private

Definition at line 320 of file file.h.

char DirTree::path[256+1]
private

Definition at line 318 of file file.h.

unsigned DirTree::prefixpos
private

Definition at line 320 of file file.h.


The documentation for this class was generated from the following file:

Generated on Dec 21, 2017 for commoncpp2-1.8.1, ccrtp-1.7.2, libzrtpcpp-2.3.4, ccscript3-1.1.7, ccaudio2-1.0.0 and bayonne2-2.3.2 (after installation in /usr/local/) by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /