#include <mw/tuladdressstringtokenizer.h>
class CTulAddressStringTokenizer : public CBase |
Public Member Enumerations | |
---|---|
enum | TTokenizerSearchCase { EFindItemSearchPhoneNumberBin, EFindItemSearchMailAddressBin, EFindItemSearchURLBin, EFindItemSearchScheme } |
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;
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.
Parameter | Description |
---|---|
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. |
Returns: number of found items.
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.
Parameter | Description |
---|---|
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. |
Returns: number of found items.
IMPORT_C TBool | Item | ( | SFoundItem & | aItem | ) | const |
Gets the currently 'selected' item in the array of found items.
Parameter | Description |
---|---|
aItem | contains the currently selected item after returning. |
Returns: ETrue if the item was found. EFalse if the item wasn't found.
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.
Returns: a constant pointer to the array of found items. Ownership stays with CTulAddressStringTokenizer.
IMPORT_C TInt | ItemCount | ( | ) | const |
Gets the number of items in the found items array.
Returns: 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.
Parameter | Description |
---|---|
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. |
Returns: a pointer to a new instance of CTulAddressStringTokenizer class.
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.
Parameter | Description |
---|---|
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. |
Returns: a pointer to an new instance of CTulAddressStringTokenizer class.
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.
Parameter | Description |
---|---|
aItem | contains the next item after returning. |
Returns: ETrue if the item was found. EFalse if there's no next item.
IMPORT_C TInt | Position | ( | ) | const |
Gets the current position (or the position of the currently selected item) in the found items array.
Returns: the current position in the found items array of the CTulAddressStringTokenizer instance. If no items are in the array, zero is returned.
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..
Parameter | Description |
---|---|
aItem | contains the previous item after returning. |
Returns: ETrue if the item was found. EFalse if there's no previous item.