MMSFileSearch Class Reference

Helper class to search for files or directories. More...

#include <mmsfilesearch.h>

List of all members.


Public Member Functions

 MMSFileSearch (string directory, string mask, bool recursive=true, bool caseinsensitive=false, bool getdirs=false)
 Constructor.
void setRecursive (bool recursive)
 Set recursive parameter, which enables recursive searching through subdirectories.
void setDirectory (string directory)
 Set root directory (directory) for searching.
void setString (string mask)
 Set filename mask to search for.
void setCaseInsensitive (bool caseinsensitive)
 Configures the search to match results using case sensitivity.
MMSFILEENTRY_LIST execute ()
 Start searching for files.

Private Member Functions

bool match (char *entry)
 Does the filename match the given mask?
void scanDir (list< MMSFILE_ENTRY * > *result, DIR *dirhandle, string cwd)
 Helper method to scan a directory for files.
void separateMask ()
 Split a filemask in multiple submask.

Private Attributes

bool recursive
 Search recursively?
bool caseinsensitive
 Search without using case sensitivity?
bool getdirs
 Add directories to search results?
string directory
 Top-level directory to search for.
string mask
 Filename mask to search for.
vector< string > singlemask
 Separated filename masks if mask containes more than one mask.
DIR * dirhandle
 Internal directory handle used when searching.
MMSFILESEARCH_OPTION option
 Options to use for searching.

Detailed Description

Helper class to search for files or directories.

This class searches for given files or directories providing support for recursive search, case (in)sensitivity and masking.

Definition at line 89 of file mmsfilesearch.h.


Constructor & Destructor Documentation

MMSFileSearch::MMSFileSearch ( string  directory,
string  mask,
bool  recursive = true,
bool  caseinsensitive = false,
bool  getdirs = false 
)

Constructor.

Parameters:
directory Root directory to start the search.
mask Filename mask (i.e. "foo*"). You may specify multiple masks separated by colons (i.e. "foo*;*bar").
recursive Search recursively through subdirectories.
caseinsensitive If true search case insensitive.
getdirs Add directories in search results.

Definition at line 50 of file mmsfilesearch.cpp.


Member Function Documentation

void MMSFileSearch::setRecursive ( bool  recursive  ) 

Set recursive parameter, which enables recursive searching through subdirectories.

Parameters:
recursive If set to true, recursive searching is enabled.

Definition at line 74 of file mmsfilesearch.cpp.

void MMSFileSearch::setDirectory ( string  directory  ) 

Set root directory (directory) for searching.

Parameters:
directory This is the top-level directory for the executed search.

Definition at line 78 of file mmsfilesearch.cpp.

void MMSFileSearch::setString ( string  mask  ) 

Set filename mask to search for.

Parameters:
mask Filename mask to search for (i.e. foo*.*).
TODO: This method should be renamed to setMask().

Definition at line 86 of file mmsfilesearch.cpp.

void MMSFileSearch::setCaseInsensitive ( bool  caseinsensitive  ) 

Configures the search to match results using case sensitivity.

Parameters:
caseinsensitive If true, results are matched without case sensitivity.

Definition at line 93 of file mmsfilesearch.cpp.

list< MMSFILE_ENTRY * > MMSFileSearch::execute (  ) 

Start searching for files.

Returns:
List of file entries matching your search criteria.

Definition at line 122 of file mmsfilesearch.cpp.

bool MMSFileSearch::match ( char *  entry  )  [private]

Does the filename match the given mask?

Parameters:
entry Filename to check.
Returns:
True if filename matches the given mask.

Definition at line 61 of file mmsfilesearch.cpp.

void MMSFileSearch::scanDir ( list< MMSFILE_ENTRY * > *  result,
DIR *  dirhandle,
string  cwd 
) [private]

Helper method to scan a directory for files.

Parameters:
result Pointer to file entry list.
dirhandle Directory handle to use for search.
cwd Current working directory.

Definition at line 131 of file mmsfilesearch.cpp.

void MMSFileSearch::separateMask (  )  [private]

Split a filemask in multiple submask.

You may specify multiple masks separated by colons. This method splits the mask into a vector of masks (singlemask).

Definition at line 97 of file mmsfilesearch.cpp.


Member Data Documentation

bool MMSFileSearch::recursive [private]

Search recursively?

Definition at line 141 of file mmsfilesearch.h.

Search without using case sensitivity?

Definition at line 142 of file mmsfilesearch.h.

bool MMSFileSearch::getdirs [private]

Add directories to search results?

Definition at line 143 of file mmsfilesearch.h.

string MMSFileSearch::directory [private]

Top-level directory to search for.

Definition at line 144 of file mmsfilesearch.h.

string MMSFileSearch::mask [private]

Filename mask to search for.

Definition at line 145 of file mmsfilesearch.h.

vector<string> MMSFileSearch::singlemask [private]

Separated filename masks if mask containes more than one mask.

Definition at line 146 of file mmsfilesearch.h.

DIR* MMSFileSearch::dirhandle [private]

Internal directory handle used when searching.

Definition at line 147 of file mmsfilesearch.h.

Options to use for searching.

Definition at line 178 of file mmsfilesearch.h.


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