class TParseBase |
Base class for file name parsing.
You first need to set up the path to be parsed using either a TParse, TParsePtr or TParsePtrC object.
The interrogation and extraction functions in this class allow you to test whether a component has been specified in the pathname, and if so, to extract it. If a component is not present in the pathname, the extraction function returns an empty string.
This class also allows directories to be added to, and popped from the path.
Notes:
1. the filename modification functions cannot be used by the TParsePtrC class.
2. navigation using .. and . is not supported.
Public Member Functions | |
---|---|
TParseBase() | |
IMPORT_C TInt | AddDir(const TDesC &) |
IMPORT_C TPtrC | Drive() |
IMPORT_C TPtrC | DriveAndPath() |
IMPORT_C TBool | DrivePresent() |
IMPORT_C TPtrC | Ext() |
IMPORT_C TBool | ExtPresent() |
IMPORT_C const TDesC & | FullName() |
IMPORT_C TBool | IsExtWild() |
IMPORT_C TBool | IsKMatchAny() |
IMPORT_C TBool | IsKMatchOne() |
IMPORT_C TBool | IsNameWild() |
IMPORT_C TBool | IsRoot() |
IMPORT_C TBool | IsWild() |
IMPORT_C TPtrC | Name() |
IMPORT_C TPtrC | NameAndExt() |
IMPORT_C TBool | NameOrExtPresent() |
IMPORT_C TBool | NamePresent() |
IMPORT_C TPtrC | Path() |
IMPORT_C TBool | PathPresent() |
IMPORT_C TInt | PopDir() |
Protected Member Functions | |
---|---|
TDes & | NameBuf() |
const TDesC & | NameBufC() |
TInt | Set(const TDesC *, const TDesC *, const TDesC *, TBool) |
Private Member Functions | |
---|---|
TInt | ParseDrive(TLex &, TBool &) |
TInt | ParseExt(TLex &, TBool &) |
TInt | ParseName(TLex &, TBool &) |
TInt | ParsePath(TLex &, TBool &) |
Private Member Enumerations | |
---|---|
enum | TField { EDrive, EPath, EName, EExt, EMaxFields } |
enum | TWild { EWildName = 0x01, EWildExt = 0x02, EWildEither = 0x04, EIsRoot = 0x08, EWildIsKMatchOne = 0x10, EWildIsKMatchAny = 0x20 } |
Protected Attributes | |
---|---|
TInt16 | iMod |
Private Attributes | |
---|---|
SField | iField |
TInt16 | iWild |
IMPORT_C TInt | AddDir | ( | const TDesC & | aName | ) |
Adds a single directory onto the end of the path in the fully parsed specification.
The directory is inserted between the final directory, and the filename, if there is one.
const TDesC & aName | The directory to be added. It must not start with a \ otherwise the function does not recognise it as a valid directory name and an error is returned. The directory name must not end with a \ since the function adds this automatically. It must not exceed the maximum filename length, KMaxFileName characters, otherwise an error is returned. |
IMPORT_C TPtrC | Drive | ( | ) | const |
Gets the drive letter.
The drive letter is in the form:
drive-letter:
Note that the drive letter is folded.
IMPORT_C TPtrC | DriveAndPath | ( | ) | const |
Gets the drive letter and path.
This is in the form
drive-letter:\path\
Note that the drive letter is folded
IMPORT_C TBool | DrivePresent | ( | ) | const |
Tests whether a drive is present.
Note that this function refers to a component in the aName argument specified in calls to TParse::Set(), TParse::SetNoWild() or RFs::Parse(), not to the resulting fully parsed file specification.
IMPORT_C TBool | ExtPresent | ( | ) | const |
Tests whether an extension is present.
Note that this function refers to a component in the aName argument specified in calls to TParse::Set(), TParse::SetNoWild() or RFs::Parse(), not to the resulting fully parsed file specification.
This function returns true even if the extension contains only wildcards. It only returns false if nothing is specified.
IMPORT_C const TDesC & | FullName | ( | ) | const |
Gets the complete file specification.
This is in the form:
drive-letter: \path\filename.extension
IMPORT_C TBool | IsExtWild | ( | ) | const |
Tests whether the extension in the fully parsed specification contains one or more wildcard characters.
IMPORT_C TBool | IsKMatchAny | ( | ) | const |
Tests whether the name or the extension contains asterisk wildcards.
IMPORT_C TBool | IsKMatchOne | ( | ) | const |
Tests whether the name or the extension contains a question mark wildcard.
IMPORT_C TBool | IsNameWild | ( | ) | const |
Tests whether the filename in the fully parsed specification contains one or more wildcard characters.
IMPORT_C TBool | IsRoot | ( | ) | const |
Tests whether the path in the fully parsed specification is the root directory.
IMPORT_C TBool | IsWild | ( | ) | const |
Tests whether the filename or the extension in the fully parsed specification contains one or more wildcard characters.
IMPORT_C TPtrC | NameAndExt | ( | ) | const |
Gets the filename and extension.
This is in the form:
filename.ext
IMPORT_C TBool | NameOrExtPresent | ( | ) | const |
Tests whether a filename or an extension are present.
Note that this function refers to a component in the aName argument specified in calls to TParse::Set(), TParse::SetNoWild() or RFs::Parse(), not to the resulting fully parsed file specification.
This function returns true even if the filename or extension specified in aName contain only wildcards. It only returns false if nothing is specified.
IMPORT_C TBool | NamePresent | ( | ) | const |
Tests whether a file name is present.
Note that this function refers to a component in the aName argument specified in calls to TParse::Set(), TParse::SetNoWild() or RFs::Parse(), not to the resulting fully parsed file specification.
This function returns true even if the filename specified in aName contains only wildcards. It only returns false if nothing is specified.
IMPORT_C TBool | PathPresent | ( | ) | const |
Tests whether a path is present.
Note that this function refers to a component in the aName argument specified in calls to TParse::Set(), TParse::SetNoWild() or RFs::Parse(), not to the resulting fully parsed file specification.
IMPORT_C TInt | PopDir | ( | ) |
Removes the last directory from the path in the fully parsed specification.
This function may be used to navigate up one level in a directory hierarchy. An error is returned if the specified directory is the root.
TInt | Set | ( | const TDesC * | aName, |
const TDesC * | aRelated, | |||
const TDesC * | aDefault, | |||
TBool | allowWild | |||
) | [protected] |
EWildName = 0x01 | |
EWildExt = 0x02 | |
EWildEither = 0x04 | |
EIsRoot = 0x08 | |
EWildIsKMatchOne = 0x10 | |
EWildIsKMatchAny = 0x20 |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.