TParseBase Class Reference

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.

TParse TParsePtr TParsePtrC

Nested Classes and Structures

Constructor & Destructor Documentation

TParseBase()

IMPORT_C TParseBase ( )

Default constructor.

Member Functions Documentation

AddDir(const TDesC &)

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.

KMaxFileName

Parameters

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.

Drive()

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.

DriveAndPath()

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

DrivePresent()

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.

TParse RFs

Ext()

IMPORT_C TPtrC Ext ( ) const

Gets the extension.

This is in the form:

.extension

ExtPresent()

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.

FullName()

IMPORT_C const TDesC & FullName ( ) const

Gets the complete file specification.

This is in the form:

drive-letter: \path\filename.extension

IsExtWild()

IMPORT_C TBool IsExtWild ( ) const

Tests whether the extension in the fully parsed specification contains one or more wildcard characters.

IsKMatchAny()

IMPORT_C TBool IsKMatchAny ( ) const

Tests whether the name or the extension contains asterisk wildcards.

IsKMatchOne()

IMPORT_C TBool IsKMatchOne ( ) const

Tests whether the name or the extension contains a question mark wildcard.

IsNameWild()

IMPORT_C TBool IsNameWild ( ) const

Tests whether the filename in the fully parsed specification contains one or more wildcard characters.

IsRoot()

IMPORT_C TBool IsRoot ( ) const

Tests whether the path in the fully parsed specification is the root directory.

IsWild()

IMPORT_C TBool IsWild ( ) const

Tests whether the filename or the extension in the fully parsed specification contains one or more wildcard characters.

Name()

IMPORT_C TPtrC Name ( ) const

Gets the filename.

This is in the form

filename

NameAndExt()

IMPORT_C TPtrC NameAndExt ( ) const

Gets the filename and extension.

This is in the form:

filename.ext

NameBuf()

TDes & NameBuf ( ) [protected, pure virtual]

NameBufC()

const TDesC & NameBufC ( ) const [protected, pure virtual]

NameOrExtPresent()

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.

NamePresent()

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.

ParseDrive(TLex &, TBool &)

TInt ParseDrive ( TLex & aName,
TBool & aDone
) [private]

Parameters

TLex & aName
TBool & aDone

ParseExt(TLex &, TBool &)

TInt ParseExt ( TLex & aName,
TBool & aDone
) [private]

Parameters

TLex & aName
TBool & aDone

ParseName(TLex &, TBool &)

TInt ParseName ( TLex & aName,
TBool & aDone
) [private]

Parameters

TLex & aName
TBool & aDone

ParsePath(TLex &, TBool &)

TInt ParsePath ( TLex & aName,
TBool & aDone
) [private]

Parameters

TLex & aName
TBool & aDone

Path()

IMPORT_C TPtrC Path ( ) const

Gets the path.

The path is in the form:

\path\

PathPresent()

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.

TParse RFs

PopDir()

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.

Set(const TDesC *, const TDesC *, const TDesC *, TBool)

TInt Set ( const TDesC * aName,
const TDesC * aRelated,
const TDesC * aDefault,
TBool allowWild
) [protected]

Parameters

const TDesC * aName
const TDesC * aRelated
const TDesC * aDefault
TBool allowWild

Member Enumerations Documentation

Enum TField

Enumerators

EDrive
EPath
EName
EExt
EMaxFields

Enum TWild

Enumerators

EWildName = 0x01
EWildExt = 0x02
EWildEither = 0x04
EIsRoot = 0x08
EWildIsKMatchOne = 0x10
EWildIsKMatchAny = 0x20

Member Data Documentation

SField iField

SField iField [private]

TInt16 iMod

TInt16 iMod [protected]

TInt16 iWild

TInt16 iWild [private]