#include <f32file.h>
class CDirScan : public CBase |
Public Member Enumerations | |
---|---|
enum | TScanDirection { EScanUpTree, EScanDownTree } |
Public Member Functions | |
---|---|
~CDirScan() | |
IMPORT_C TPtrC | AbbreviatedPath() |
IMPORT_C TPtrC | FullPath() |
IMPORT_C CDirScan * | NewL(RFs &) |
IMPORT_C CDirScan * | NewLC(RFs &) |
IMPORT_C void | NextL(CDir *&) |
IMPORT_C void | SetScanDataL(const TDesC &, TUint, TUint, TScanDirection) |
Protected Member Functions | |
---|---|
CDirScan(RFs &) |
Scans a directory structure.
The scan moves from directory to directory through the hierarchy, returning a list of the entries contained in each. The order in which the directories are scanned is determined by a sort key which is specified when setting up the scan. The base directory to be scanned and the entry types of interest must also be specified before performing the scan.
This class is not intended for user derivation
IMPORT_C | ~CDirScan | ( | ) |
Desctructor.
Frees all resources owned by the object, prior to its destruction.
IMPORT_C TPtrC | AbbreviatedPath | ( | ) |
Gets the abbreviated path of the entry currently being scanned.
The abbreviated path is the path relative to the top level directory in the scan.
Returns: A non modifiable pointer descriptor for the abbreviated path of the entry currently being scanned.
IMPORT_C TPtrC | FullPath | ( | ) |
Gets the full path of the entry currently being scanned.
The full path includes the drive letter.
Returns: A non modifiable pointer descriptor for the full path of the entry currently being scanned.
IMPORT_C void | NextL | ( | CDir *& | aDirEntries | ) |
Scans the next directory entry in the structure.
The order in which the structure is scanned is determined by the scan direction and the entry sort mask. These values are specified when setting up the scan. The type of entries retrieved by this function is determined by the entry attribute mask. This is also specified when setting up the scan.
Notes:
1. The function first sets aDirEntries to NULL, and then allocates memory for it before appending entries to it. Therefore, aDirEntries should have no memory allocated to it before this function is called, otherwise this memory will become orphaned.
2. The caller of this function is responsible for deleting aDirEntries after the function has returned.
Parameter | Description |
---|---|
aDirEntries | On return, a pointer to an array containing filtered entries from the next directory in the structure. NULL if there are no more directories in the structure. |
IMPORT_C void | SetScanDataL | ( | const TDesC & | aMatchName, |
TUint | anEntryAttMask, | |||
TUint | anEntrySortMask, | |||
TScanDirection | aScanDir = EScanDownTree | |||
) |
Initialises the scan.
This involves specifying:
1. the directory at the top of the structure to be scanned
2. a filter for the entry types of interest
3. the order in which the entries in each directory in the structure are to be sorted
4. the scan direction.
Whether the scan direction is upwards or downwards, the directories that are scanned are those in the part of the hierarchy below the directory specified in aMatchName. By default, the scan direction is downwards. If the scan direction is set to CDirScan::EScanUpTree, then all branches of the tree are explored starting at the lowest level directory in the tree below aMatchName, and ending at aMatchName. This option is provided for deleting a directory structure.
Parameter | Description |
---|---|
aMatchName | The top level directory for the scan. Any path components that are not specified here are taken from the session path. Note that the trailing backslash is required to specify the directory. I.e. path x:\dir1\dir2\ means that the scan will start from dir2, while path x:\dir1\dir2 assumes scan starting from x:\dir1\ |
anEntryAttMask | A bit mask that filters the entry types which should be returned by NextL(). The mask works as follows: To match files only, specify KEntryAttNormal. To match both files and directories, specify KEntryAttDir. To match directories only, specify KEntryAttDir|KEntryAttMatchExclusive. To match files with a specific attribute, then OR the attribute involved with KEntryAttMatchExclusive. For example, to match read-only files, specify KEntryAttReadOnly|KEntryAttMatchExclusive. For more information, see KEntryAttNormal or the other file/directory attributes. |
anEntrySortMask | The order in which the directories are scanned by NextL(). This flag is defined in TEntryKey. |
aScanDir | The direction of the scan. The default is downwards. |