#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] |