MRPT  2.0.4
List of all members | Classes | Public Types | Static Public Member Functions
mrpt::system::CDirectoryExplorer Class Reference

Detailed Description

This class allows the enumeration of the files/directories that exist into a given path.

The only existing method is "explore" and returns the list of found files & directories. Refer to the example in /samples/UTILS/directoryExplorer

See also
CFileSystemWatcher

Definition at line 28 of file CDirectoryExplorer.h.

#include <mrpt/system/CDirectoryExplorer.h>

Classes

struct  TFileInfo
 This represents the information about each file. More...
 

Public Types

using TFileInfoList = std::deque< TFileInfo >
 The list type used in "explore". More...
 

Static Public Member Functions

static void explore (const std::string &path, const unsigned long mask, TFileInfoList &outList)
 The path of the directory to examine must be passed to this constructor, among the According to the following parameters, the object will collect the list of files, which can be modified later through other methods in this class. More...
 
static void sortByName (TFileInfoList &lstFiles, bool ascendingOrder=true)
 Sort the file entries by name, in ascending or descending order. More...
 
static void filterByExtension (TFileInfoList &lstFiles, const std::string &extension)
 Remove from the list of files those whose extension does not coincide (without case) with the given one. More...
 

Member Typedef Documentation

◆ TFileInfoList

The list type used in "explore".

See also
explore

Definition at line 58 of file CDirectoryExplorer.h.

Member Function Documentation

◆ explore()

void CDirectoryExplorer::explore ( const std::string &  path,
const unsigned long  mask,
TFileInfoList outList 
)
static

The path of the directory to examine must be passed to this constructor, among the According to the following parameters, the object will collect the list of files, which can be modified later through other methods in this class.

Parameters
pathThe path to examine (IT MUST BE A DIRECTORY), e.g "d:\temp\", or "/usr/include/"
maskOne or the OR'ed combination of the values "FILE_ATTRIB_ARCHIVE" and "FILE_ATTRIB_DIRECTORY", depending on what file types do you want in the list (These values are platform-independent).
outListThe list of found files/directories is stored here.
See also
sortByName

Definition at line 47 of file CDirectoryExplorer.cpp.

References mrpt::system::CDirectoryExplorer::TFileInfo::accessTime, dir, FILE_ATTRIB_ARCHIVE, FILE_ATTRIB_DIRECTORY, mrpt::system::CDirectoryExplorer::TFileInfo::fileSize, mrpt::system::CDirectoryExplorer::TFileInfo::isDir, mrpt::system::CDirectoryExplorer::TFileInfo::isSymLink, mrpt::system::CDirectoryExplorer::TFileInfo::modTime, MRPT_END, MRPT_START, mrpt::system::CDirectoryExplorer::TFileInfo::name, THROW_EXCEPTION, THROW_EXCEPTION_FMT, and mrpt::system::CDirectoryExplorer::TFileInfo::wholePath.

Referenced by mrpt::system::deleteFilesInDirectory().

Here is the caller graph for this function:

◆ filterByExtension()

void CDirectoryExplorer::filterByExtension ( TFileInfoList lstFiles,
const std::string &  extension 
)
static

Remove from the list of files those whose extension does not coincide (without case) with the given one.

Example: filterByExtension(lst,"txt");

Definition at line 222 of file CDirectoryExplorer.cpp.

References mrpt::system::os::_strcmpi(), and mrpt::system::extractFileExtension().

Here is the call graph for this function:

◆ sortByName()

void CDirectoryExplorer::sortByName ( TFileInfoList lstFiles,
bool  ascendingOrder = true 
)
static

Sort the file entries by name, in ascending or descending order.

Definition at line 211 of file CDirectoryExplorer.cpp.

References cmpFileEntriesName_Asc(), and cmpFileEntriesName_Desc().

Here is the call graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020