class TImMessageField |
Parses email message header fields for valid Internet email addresses, comments and aliases.
A comment is a string surrounded by parentheses, as defined in RFC822, 3.1.4.
An alias is defined as any substring which appears to the left of a legal email address: for example, the string "this is an alias" in "this is an alias <an.email@address.com>".
For email addresses, the string being parsed: 1) must contain an @ character, surrounded by valid address characters; 2) may not contain more than one address or @ character; 3) may contain aliases and comments.
Note the following about the implementation of this class:
1. Functions that test subject lines, ValidSubjectLine(), and alias names, ValidAliasName(), were initially written to test that the strings did not contain characters outside a limited ASCII range. Unicode characters are now allowed, so these functions now always return true.
2. Of the four overloads of GetValidInternetEmailAddressFromString(), only the first has a meaningful implementation.
Private Member Functions | |
---|---|
TBool | LocateSubString(const TDesC16 &, const TInt, TInt &, TInt &) |
TBool | hasAngledBrackets(const TDesC16 &) |
TBool | isDotChar(const TChar &) |
TBool | isEnclosedSubString(const TDesC16 &, const TChar &, const TChar &, TInt &, TInt &) |
TBool | isLegalEmailAddress(const TDesC16 &, TInt &, TInt &) |
TBool | isSurroundedByAngledBrackets(const TDesC16 &, TInt &, TInt &, TInt) |
TBool | isSurroundedByRoundBrackets(const TDesC16 &, TInt &, TInt &) |
TBool | isValidChar(const TChar &) |
TBool | isValidDomainNameChar(const TChar &) |
TBool | isValidEmailAddress(const TDesC16 &, TInt &, TInt &) |
TBool | isValidEmailChar(const TChar &) |
TBool | isValidEmailString(const TDesC16 &, TInt &) |
TBool | isValidMailboxChar(const TChar &) |
TBool | isValidRoutedEmailAddress(const TDesC16 &) |
TBool | isValidString(const TDesC16 &, TInt &) |
TBool | isValid_ISO88591String(const TDesC16 &, TInt &) |
IMPORT_C TPtrC16 | GetValidAlias | ( | const TDesC16 & | aAddress | ) |
const TDesC16 & aAddress |
IMPORT_C TPtrC16 | GetValidAlias | ( | const TDesC16 & | aAddress, |
TInt & | rError | |||
) |
IMPORT_C TPtrC16 | GetValidComment | ( | const TDesC16 & | aAddress | ) |
const TDesC16 & aAddress |
IMPORT_C TPtrC16 | GetValidComment | ( | const TDesC16 & | aAddress, |
TInt & | rError | |||
) |
IMPORT_C TPtrC16 | GetValidInternetEmailAddressFromString | ( | const TDesC16 & | aAddress | ) |
const TDesC16 & aAddress |
IMPORT_C TPtrC16 | GetValidInternetEmailAddressFromString | ( | const TDesC16 & | aAddress, |
TInt & | rError | |||
) |
IMPORT_C TPtrC16 | GetValidInternetEmailAddressFromString | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar | |||
) |
IMPORT_C TPtrC16 | GetValidInternetEmailAddressFromString | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar, | |||
TInt & | rError | |||
) |
TBool | LocateSubString | ( | const TDesC16 & | anAddress, |
const TInt | atPos, | |||
TInt & | rFirstChar, | |||
TInt & | rLastChar | |||
) | [private] |
TBool | TruncateAddressString | ( | const TDesC16 & | aDesc, |
TInt | aLimit, | |||
TInt & | aLastChar | |||
) |
IMPORT_C TBool | ValidAliasName | ( | const TDesC16 & | aAliasName | ) |
const TDesC16 & aAliasName |
IMPORT_C TBool | ValidAliasName | ( | const TDesC16 & | aAliasName, |
TInt & | rFirstBadCharPos | |||
) |
IMPORT_C TBool | ValidInternetEmailAddress | ( | const TDesC16 & | aAddress | ) |
const TDesC16 & aAddress |
IMPORT_C TBool | ValidInternetEmailAddress | ( | const TDesC16 & | aAddress, |
TInt & | rFirstBadCharPos | |||
) |
IMPORT_C TBool | ValidInternetEmailAddress | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar | |||
) |
IMPORT_C TBool | ValidInternetEmailAddress | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar, | |||
TInt & | rFirstBadCharPos | |||
) |
IMPORT_C TBool | ValidInternetEmailAddressChar | ( | const TChar & | aChar | ) |
const TChar & aChar |
IMPORT_C TBool | ValidSubjectLine | ( | const TDesC16 & | aSubjectLine | ) |
const TDesC16 & aSubjectLine |
IMPORT_C TBool | ValidSubjectLine | ( | const TDesC16 & | aSubjectLine, |
TInt & | rFirstBadCharPos | |||
) |
IMPORT_C TBool | ValidSubjectLineChar | ( | const TChar & | aChar | ) |
const TChar & aChar |
TBool | hasAngledBrackets | ( | const TDesC16 & | anAddress | ) | [private] |
const TDesC16 & anAddress |
TBool | isEnclosedSubString | ( | const TDesC16 & | anAddress, |
const TChar & | aLeftBracket, | |||
const TChar & | aRightBracket, | |||
TInt & | aLeftPos, | |||
TInt & | aRightPos | |||
) | [private] |
TBool | isLegalEmailAddress | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar | |||
) | [private] |
TBool | isSurroundedByAngledBrackets | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar, | |||
TInt | aAtPos | |||
) | [private] |
TBool | isSurroundedByRoundBrackets | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar | |||
) | [private] |
TBool | isValidChar | ( | const TChar & | aChar | ) | [private] |
const TChar & aChar |
TBool | isValidDomainNameChar | ( | const TChar & | aChar | ) | [private] |
const TChar & aChar |
TBool | isValidEmailAddress | ( | const TDesC16 & | aAddress, |
TInt & | rFirstChar, | |||
TInt & | rLastChar | |||
) | [private] |
TBool | isValidEmailChar | ( | const TChar & | aChar | ) | [private] |
const TChar & aChar |
TBool | isValidEmailString | ( | const TDesC16 & | anAddress, |
TInt & | aFirstBadCharPos | |||
) | [private] |
TBool | isValidMailboxChar | ( | const TChar & | aChar | ) | [private] |
const TChar & aChar |
TBool | isValidRoutedEmailAddress | ( | const TDesC16 & | anAddress | ) | [private] |
const TDesC16 & anAddress |
TBool | isValidString | ( | const TDesC16 & | anAddress, |
TInt & | aFirstBadCharPos | |||
) | [private] |
TBool | isValid_ISO88591String | ( | const TDesC16 & | aString, |
TInt & | aPos | |||
) | [private] |
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.