#include <mw/tuladdressstringtokenizer.h>
Link against: etul.lib
| class CTulAddressStringTokenizer : public CBase |
| Public Member Enumerations | |
|---|---|
| enum | TTokenizerSearchCase { EFindItemSearchPhoneNumberBin, EFindItemSearchMailAddressBin, EFindItemSearchURLBin, EFindItemSearchScheme, EFindItemSearchSipAddressBin } |
| Public Member Functions | |
|---|---|
| ~CTulAddressStringTokenizer() | |
| IMPORT_C TInt | DoNewSearchL(const TDesC &, TInt) |
| IMPORT_C TInt | DoNewSearchL(const TDesC &, TInt, TInt) |
| IMPORT_C TBool | Item(SFoundItem &) |
| IMPORT_C const CArrayFixFlat< SFoundItem > * | ItemArray() |
| IMPORT_C TInt | ItemCount() |
| IMPORT_C CTulAddressStringTokenizer * | NewL(const TDesC &, TInt) |
| IMPORT_C CTulAddressStringTokenizer * | NewL(const TDesC &, TInt, TInt) |
| IMPORT_C TBool | NextItem(SFoundItem &) |
| IMPORT_C TInt | Position() |
| IMPORT_C TBool | PrevItem(SFoundItem &) |
| IMPORT_C void | ResetPosition() |
Address String Tokenizer API offers methods for parsing phone numbers and e-mail, URL and URI addresses from the given text. The API consists of the CTulAddressStringTokenizer class.
Usage:
#include <tuladdressstringtokenizer.h>
// SFoundItem instance
CTulAddressStringTokenizer::SFoundItem item;
// Some text
TBufC<256> strSomeText(_L("Mail to me@someplace.com or call 040 1234567.
You can also tune in to audio feed at rtsp://someplace.com/somefeed.ra."));
// First the user has to create an instance of CTulAddressStringTokenizer by using the
// factory method NewL(). The method takes two parameters. The first
// parameter defines the text to be searched from and the second parameter
// tells what exactly is being looked for.
CTulAddressStringTokenizer singleSearch = CTulAddressStringTokenizer::NewL(strSomeText,
CTulAddressStringTokenizer::EFindItemSearchMailAddressBin);
// The passed text is parsed in construction, and found items can be fetched
// by using the ItemArray() method. It returns a constant array containing
// all the found items. The interface also offers helper functions for
// handling the item array by itself.
// Get count of found items.
TInt count(singleSearch->ItemCount());
// Get currently selected item (me@someplace.com) to the result1 variable.
singleSearch->Item(item);
TPtrC16 result1(strSomeText.Mid(item.iStartPos, item.iLength));
// Deallocate memory
delete singleSearch;
// Create an instance of CTulAddressStringTokenizer and look for all possible
// things (cases work as binary mask).
CTulAddressStringTokenizer* multiSearch = CTulAddressStringTokenizer::NewL(strSomeText,
(CTulAddressStringTokenizer::EFindItemSearchPhoneNumberBin |
CTulAddressStringTokenizer::EFindItemSearchURLBin |
CTulAddressStringTokenizer::EFindItemSearchMailAddressBin |
CTulAddressStringTokenizer::EFindItemSearchScheme));
// Get count of found items.
TInt count2(multiSearch->ItemCount());
// Get currently selected item to the result2 variable.
multiSearch->Item(item);
// Debug print all items and their type.
for( TInt i=0; i<count2; i++)
{
TPtrC16 result2(strSomeText.Mid(item.iStartPos, item.iLength));
RDebug::Print(_L("Found type %d item:"), item.iItemType);
RDebug::Print(_L("%S"), &result2);
multiSearch->NextItem(item);
}
// Deallocate memory
delete multiSearch;
Enumeration to define the search case. Multiple enumerations can be used as binary mask.
| Enumerator | Value | Description |
|---|---|---|
| EFindItemSearchPhoneNumberBin | 4 | |
| EFindItemSearchMailAddressBin | 8 | |
| EFindItemSearchURLBin | 16 | |
| EFindItemSearchScheme | 32 | |
| EFindItemSearchSipAddressBin | 64 |
Executes a new search with the already created CTulAddressStringTokenizer instance. The position in the found items array is reset to the beginning of the array.
| Parameters | |
|---|---|
| aText | will be parsed. |
| aSearchCases | identifies what items are we looking for: EFindItemSearchPhoneNumberBin EFindItemSearchMailAddressBin EFindItemSearchURLBin EFindItemSearchScheme Any combination of these flags can be given as a bit mask. |
| Leave Codes | |
|---|---|
| one | of the Symbian error codes. |
| Panic Codes | |
|---|---|
| ETulPanicInvalidTokenizerSearchCase | in debug build if there is no valid search case. |
| ETulPanicDescriptorLength | in debug build if item's position and/or length is out of the document's range. |
Executes a new search with the already created CTulAddressStringTokenizer instance. The position in the found items array is reset to the beginning of the array.
| Parameters | |
|---|---|
| aText | will be parsed. |
| aSearchCases | identifies what items are we looking for: EFindItemSearchPhoneNumberBin EFindItemSearchMailAddressBin EFindItemSearchURLBin EFindItemSearchScheme Any combination of these flags can be given as a bit mask. |
| aMinNumbers | defines a minimum count of numbers in a phone number string, during a phone number search. |
| Leave Codes | |
|---|---|
| KErrNone, | if successful; otherwise one of the other system-wide error codes. |
| Panic Codes | |
|---|---|
| ETulPanicInvalidTokenizerSearchCase | in debug build if there is no valid search case. |
| ETulPanicDescriptorLength | in debug build if item's position and/or length is out of the document's range. |
| IMPORT_C TBool | Item | ( | SFoundItem & | aItem | ) | const |
Gets the currently 'selected' item in the array of found items.
| Parameters | |
|---|---|
| aItem | contains the currently selected item after returning. |
| IMPORT_C const CArrayFixFlat< SFoundItem > * | ItemArray | ( | ) | const |
Gets the array of found items. Returns a constant pointer to the found items array of the CTulAddressStringTokenizer instance. The items cannot be modified through this pointer, only accessed. The ownership of the array stays with CTulAddressStringTokenizer.
| IMPORT_C TInt | ItemCount | ( | ) | const |
Gets the number of items in the found items array.
| IMPORT_C CTulAddressStringTokenizer * | NewL | ( | const TDesC & | aText, |
| TInt | aSearchCases | |||
| ) | [static] | |||
Two-phase constructor method that is used to create a new instance of the CTulAddressStringTokenizer class. This instance can then be queried for the items defined by the second parameter. The actual search is executed during construction.
| Parameters | |
|---|---|
| aText | will be parsed. |
| aSearchCases | identifies what items we are looking for: EFindItemSearchPhoneNumberBin EFindItemSearchMailAddressBin EFindItemSearchURLBin EFindItemSearchScheme Any combination of these flags can be given as a bit mask. |
| Leave Codes | |
|---|---|
| KErrNone, | if successful; otherwise one of the other system-wide error codes. |
| Panic Codes | |
|---|---|
| ETulPanicInvalidTokenizerSearchCase | in debug build if there is no valid search case. |
| ETulPanicDescriptorLength | in debug build if item's position and/or length is out of the document's range. |
| IMPORT_C CTulAddressStringTokenizer * | NewL | ( | const TDesC & | aText, |
| TInt | aSearchCases, | |||
| TInt | aMinNumbers | |||
| ) | [static] | |||
Two-phase constructor method that is used to create a new instance of the CTulAddressStringTokenizer class. This instance can then be queried for the items defined by the second parameter. The actual search is executed during construction.
| Parameters | |
|---|---|
| aText | will be parsed. |
| aSearchCases | identifies what items we are looking for: EFindItemSearchPhoneNumberBin EFindItemSearchMailAddressBin EFindItemSearchURLBin EFindItemSearchScheme Any combination of these flags can be given as a bit mask. |
| aMinNumbers | defines a minimum count of numbers in a phone number string, during a phone number search. |
| Leave Codes | |
|---|---|
| KErrNone, | if successful; otherwise one of the other system-wide error codes. |
| Panic Codes | |
|---|---|
| ETulPanicInvalidTokenizerSearchCase | in debug build if there is no valid search case. |
| ETulPanicDescriptorLength | in debug build if item's position and/or length is out of the document's range. |
| IMPORT_C TBool | NextItem | ( | SFoundItem & | aItem | ) |
Gets the next found item relative to the currently selected item. Moves the selection to point to the next item in the array of found items.
| Parameters | |
|---|---|
| aItem | contains the next item after returning. |
| IMPORT_C TInt | Position | ( | ) | const |
Gets the current position (or the position of the currently selected item) in the found items array.
| IMPORT_C TBool | PrevItem | ( | SFoundItem & | aItem | ) |
Gets the previous found item relative to the currently selected item. Moves the selection to point to the previous item in the array of found items..
| Parameters | |
|---|---|
| aItem | contains the previous item after returning. |