#include <mmsfilesearch.h>
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. |
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.
MMSFileSearch::MMSFileSearch | ( | string | directory, | |
string | mask, | |||
bool | recursive = true , |
|||
bool | caseinsensitive = false , |
|||
bool | getdirs = false | |||
) |
Constructor.
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.
void MMSFileSearch::setRecursive | ( | bool | recursive | ) |
Set recursive parameter, which enables recursive searching through subdirectories.
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.
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.
mask | Filename mask to search for (i.e. foo*.*). |
Definition at line 86 of file mmsfilesearch.cpp.
void MMSFileSearch::setCaseInsensitive | ( | bool | caseinsensitive | ) |
Configures the search to match results using case sensitivity.
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.
Definition at line 122 of file mmsfilesearch.cpp.
bool MMSFileSearch::match | ( | char * | entry | ) | [private] |
Does the filename match the given mask?
entry | Filename to check. |
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.
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.
bool MMSFileSearch::recursive [private] |
bool MMSFileSearch::caseinsensitive [private] |
bool MMSFileSearch::getdirs [private] |
string MMSFileSearch::directory [private] |
string MMSFileSearch::mask [private] |
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] |
MMSFILESEARCH_OPTION MMSFileSearch::option [private] |