CPtiEngine Class Reference

class CPtiEngine : public CBase

CPtiEngine class.

This is the main client side API for PtiEngine. The purpose of PtiEngine API is to provide a single calling point for low level (below UI) text input functionality. The API provides methods for querying and activating installed input languages, changing input modes and text cases and performing text input operations. The API contains set of methods for latin based, Chinese and Japanese text input. Some of the methods are common to all of those variants. PtiEngine also provides access to predictive text input functionality, in case there is need to use it directly without standard CEikEdwin / FEP chain (hence the name 'predictive text input engine') Predictive text engine integration is hidden behind PtiCore plugin API and is used through PtiEngine main API.

Usage: PtiEngine is created by calling CPtiEngine::NewL method. In typical use case there is no need to pass core uid parameter to NewL method. Constructor will load and set up available core objects.

Typical use cases:

Entering text in latin multitapping mode ----------------------------------------

CPtiEngine* aEngine = CPtiEngine::NewL(); aEngine->ActivateLanguageL(ELangEnglish, EPtiEngineMultitapping); aEngine->AppendKeyPress(EPtiKey3); aEngine->AppendKeyPress(EPtiKey6); aEngine->AppendKeyPress(EPtiKey6); aEngine->AppendKeyPress(EPtiKey6); aEngine->AppendKeyPress(EPtiKey4); TBuf<100> temp; temp.Copy(aEngine->CurrentWord()); // At this point temp would contain // word "dog".

Entering text in latin predictive mode --------------------------------------

CPtiEngine* aEngine = CPtiEngine::NewL(); aEngine->ActivateLanguageL(ELangEnglish, EPtiEnginePredicitve); aEngine->AppendKeyPress(EPtiKey8); aEngine->AppendKeyPress(EPtiKey4); aEngine->AppendKeyPress(EPtiKey4); aEngine->AppendKeyPress(EPtiKey7); TBuf<100> temp; temp.Copy(aEngine->CurrentWord()); // At this point temp would contain // (depending on the underlying engine) // word "this". temp.Copy(aEngine->NextCandidate()); // Move on to next candidate. aEngine->CommitCurrentWord(); // Tell engine that current word was accepted, // so that the underlyinbg engine keeps // frequency information up-to-date. Entering text in latin qwerty mode ----------------------------------

CPtiEngine* aEngine = CPtiEngine::NewL(); aEngine->ActivateLanguageL(ELangEnglish, EPtiEngineQwerty); aEngine->AppendKeyPress(EPtiKeyQwertyQ); aEngine->AppendKeyPress(EPtiKeyQwertyW); aEngine->AppendKeyPress(EPtiKeyQwertyE); aEngine->AppendKeyPress(EPtiKeyQwertyR); aEngine->AppendKeyPress(EPtiKeyQwertyT); aEngine->AppendKeyPress(EPtiKeyQwertyY); TBuf<100> temp; temp.Copy(aEngine->CurrentWord()); // At this point temp would contain // word "qwerty". // Next line requires that French key mappings are available in device. aEngine->ActivateLanguageL(ELangFrench, EPtiEngineQwerty); aEngine->SetCase(EPtiCaseUpper); aEngine->ClearCurrentWord(); aEngine->AppendKeyPress(EPtiKeyQwertyQ); aEngine->AppendKeyPress(EPtiKeyQwertyW); aEngine->AppendKeyPress(EPtiKeyQwertyE); aEngine->AppendKeyPress(EPtiKeyQwertyR); aEngine->AppendKeyPress(EPtiKeyQwertyT); aEngine->AppendKeyPress(EPtiKeyQwertyY); temp.Copy(aEngine->CurrentWord()); // At this point temp would contain // word "AZERTY".

Entering text in preditcive latin qwerty mode --------------------------------------------- CPtiEngine* aEngine = CPtiEngine::NewL(); aEngine->ActivateLanguageL(ELangEnglish, EPtiEngineQwertyPredictive); aEngine->AppendKeyPress(EPtiKeyQwertyE); aEngine->AppendKeyPress(EPtiKeyQwertyN); aEngine->AppendKeyPress(EPtiKeyQwertyT); aEngine->AppendKeyPress(EPtiKeyQwertyE); aEngine->AppendKeyPress(EPtiKeyQwertyR); aEngine->AppendKeyPress(EPtiKeyQwertyT); aEngine->AppendKeyPress(EPtiKeyQwertyA); TBuf<100> temp; temp.Copy(aEngine->CurrentWord()); // At this point temp would contain // for example word "entertainment", assuming the. // underlying prediction engine supports word completion.

Inherits from

Public Member Functions
~CPtiEngine()
IMPORT_C TIntActivateLanguageL(TInt, TPtiEngineInputMode)
IMPORT_C TIntAddAutoSubstitutionEntry(const TDesC &, const TDesC &)
IMPORT_C TIntAddCoreL(const TDesC &, TBool)
IMPORT_C TIntAddCoreL(const TUid, TBool)
IMPORT_C TIntAddPhrase(const TDesC &)
IMPORT_C TIntAddUserDictionaryEntry(MPtiUserDictionaryEntry &)
IMPORT_C TIntAddUserDictionaryEntry(MPtiUserDictionaryEntry &, TInt)
IMPORT_C TPtrCAppendKeyPress(TPtiKey)
IMPORT_C MPtiUserDictionary *AttachDefaultUserDictionaryL(TUid, TInt)
IMPORT_C MPtiUserDictionary *AttachUserDictionaryL(TDesC &)
IMPORT_C TUint32AvailableCharConversions()
IMPORT_C TIntCancelTimerActivity()
IMPORT_C TPtrCCandidatePage()
IMPORT_C TPtiTextCaseCase()
IMPORT_C TPtrC8CaseSequence()
IMPORT_C TIntCharConversion(TPtiCharConversion, TAny *, TInt, TAny *)
IMPORT_C TPtiKeyCharacterToKey(TUint16)
IMPORT_C voidClearCurrentWord()
IMPORT_C voidCloseCurrentLanguageL()
IMPORT_C TIntCommitCurrentWord()
IMPORT_C MPtiEngineCompositionDataInterface *CompositionData()
IMPORT_C MPtiCoreInfo *CoreInfo(TPtiEngineInputMode)
IMPORT_C voidCreateDefaultUserDictionaryFileL(TUid, TInt)
IMPORT_C TIntCreateUserDictionaryL(TDesC &, CDesCArrayFlat *, TPtiEngineInputMode)
IMPORT_C TPtrC8CurrentInputSequence()
IMPORT_C MPtiLanguage *CurrentLanguage()
IMPORT_C TPtrCCurrentWord()
IMPORT_C MPtiUserDictionary *DefaultUserDictionary(TPtiEngineInputMode)
IMPORT_C TIntDeleteAutoSubstitutionEntry(const TDesC &)
IMPORT_C TPtrCDeleteKeyPress()
IMPORT_C TIntDetachUserDictionary(TDesC &)
IMPORT_C TIntDetachUserDictionary(TInt)
IMPORT_C voidEnableToneMarks(TBool)
IMPORT_C const RArray< TPtiNumericKeyBinding > &ExtendedNumericModeKeysForQwertyL(TInt)
IMPORT_C const RArray< TPtiNumericKeyBinding > &ExtendedNumericModeKeysForQwertyL(TInt, TPtiKeyboardType)
IMPORT_C TPtrCFirstCandidate()
IMPORT_C TIntGetAutoSubstitutionEntry(TInt, TDes &, TDes &)
IMPORT_C voidGetAvailableLanguagesL(CArrayFix< TInt > *)
IMPORT_C voidGetAvailableLanguagesL(RArray< TInt > &)
IMPORT_C TIntGetCandidateListL(CDesCArray &)
IMPORT_C HBufC *GetCandidatesByInputString(const TDesC &, RPointerArray< HBufC > &, const TBool)
IMPORT_C TIntGetChinesePhraseCandidatesL(CDesCArray &)
IMPORT_C voidGetHwrAvailableLanguagesL(RArray< TInt > &)
IMPORT_C MPtiHwrRecognizer *GetHwrRecognizerL(TLanguage)
IMPORT_C MPtiHwrRecognizer *GetHwrRecognizerL(TInt)
IMPORT_C MPtiLanguage *GetLanguage(TInt)
IMPORT_C voidGetLocalizedLanguageName(TInt, TDes &)
IMPORT_C voidGetModeNameIndexL(TPtiChineseVariant, RArray< TInt > &)
IMPORT_C TIntGetNextWordCandidateListL(CDesCArray &)
IMPORT_C voidGetNumericModeKeysForQwertyL(TInt, RArray< TPtiNumericKeyBinding > &)
IMPORT_C voidGetNumericModeKeysForQwertyL(TInt, RArray< TPtiNumericKeyBinding > &, TPtiKeyboardType)
IMPORT_C TPtrCGetPhoneticSpelling(TInt)
IMPORT_C TIntGetPhoneticSpellingsL(CDesCArray &)
IMPORT_C TIntGetSpelling(TUint16, TDes &, TPtiSpelling)
IMPORT_C TIntGetUserDictionaryEntry(TInt, MPtiUserDictionaryEntry &)
IMPORT_C TIntHandleCommandL(TPtiEngineCommand, TAny *)
IMPORT_C TBoolIncrementToneMark(TBool)
IMPORT_C TPtiEngineInputModeInputMode()
IMPORT_C TBoolIsQwertyBasedMode(TPtiEngineInputMode)
IMPORT_C TBoolIsToneMarkValidForSpelling()
IMPORT_C TBoolIsValidKey(TPtiKey)
IMPORT_C TPtiKeyboardTypeKeyboardType()
IMPORT_C voidKeyboardTypesSupportedByLanguageL(TInt, RArray< TPtiKeyboardType > &)
IMPORT_C TPtiKeyLastEnteredKey()
IMPORT_C voidListAvailablePhysicalKeyboardsL(RArray< TPtiKeyboardType > &)
IMPORT_C RArray< TUid > &ListHwrRecognizerL(TLanguage)
IMPORT_C voidMappingDataForKey(TPtiKey, TDes &, TPtiTextCase)
IMPORT_C voidMarkAutoCapitalized()
IMPORT_C TBoolMoreCandidatePages()
IMPORT_C CPtiEngine *NewL(TBool)
IMPORT_C CPtiEngine *NewL(const TDesC &, TBool)
IMPORT_C CPtiEngine *NewL(const TUid, TBool)
IMPORT_C TPtrCNextCandidate()
IMPORT_C TBoolNextCandidatePage()
IMPORT_C TIntNumberOfAutoSubstitutionEntries()
IMPORT_C TIntNumberOfCandidates()
IMPORT_C TIntNumberOfEntriesInUserDictionary()
IMPORT_C TIntNumberOfLanguages()
IMPORT_C MPtiObserver *Observer()
IMPORT_C TIntPhoneticSpellingCount()
IMPORT_C TPtrCPreviousCandidate()
IMPORT_C TBoolPreviousCandidatePage()
IMPORT_C HBufC8 *ReadSecondaryDataFileL(TUid, TInt)
IMPORT_C TPtrCReadingTextL()
IMPORT_C TIntRemoveEntryFromUserDictionary(MPtiUserDictionaryEntry &)
IMPORT_C TIntRemoveEntryFromUserDictionary(MPtiUserDictionaryEntry &, TInt)
IMPORT_C voidResetToneMark()
IMPORT_C TBoolSelectPhoneticSpelling(TInt)
IMPORT_C TIntSelectedPhoneticSpelling()
IMPORT_C TIntSetAutoSubstitution(TBool)
IMPORT_C voidSetCandidatePageLength(TInt)
IMPORT_C voidSetCase(TPtiTextCase)
IMPORT_C TIntSetCurrentWord(TPtrC)
IMPORT_C TIntSetExternalKeyMapL(TPtiEngineInputMode, TPtiKey, TDesC &, TPtiTextCase)
IMPORT_C TIntSetInputMode(TPtiEngineInputMode)
IMPORT_C TIntSetKeyboardType(TPtiKeyboardType)
IMPORT_C TIntSetMaxLengthForAutoCompletedCandidates(TInt)
IMPORT_C TIntSetNumberCandidateStatus(TBool)
IMPORT_C voidSetObserver(MPtiObserver *)
IMPORT_C TBoolSetPredictiveChineseChar(const TDesC &)
IMPORT_C TIntSetReordering(TBool)
IMPORT_C TBoolSetToneMark(TInt)
IMPORT_C TBoolToneMark(TText &)
IMPORT_C voidWriteSecondaryDataFileL(TUid, TInt, HBufC8 *)
Private Member Functions
CPtiEngine()
voidConstructL(TBool)
voidConstructL(const TUid, TBool)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Attributes
CPtiEngineImpl *iImpl

Constructor & Destructor Documentation

CPtiEngine()

CPtiEngine()[private]

~CPtiEngine()

IMPORT_C~CPtiEngine()

Destructor.

Member Functions Documentation

ActivateLanguageL(TInt, TPtiEngineInputMode)

IMPORT_C TIntActivateLanguageL(TIntaEpocLanguageID,
TPtiEngineInputModeaMode = EPtiEngineInputModeNone
)

Activates language in requested input mode. After calling this method language is ready to be used with all input modes it supports.

Since
S60 V2.6

Parameters

TInt aEpocLanguageIDLanguage to be activated.
TPtiEngineInputMode aMode = EPtiEngineInputModeNoneInput mode after activation. If thise is left to default value, then default input mode is activated.

AddAutoSubstitutionEntry(const TDesC &, const TDesC &)

IMPORT_C TIntAddAutoSubstitutionEntry(const TDesC &aShortcut,
const TDesC &aSubstituition
)

Adds new auto substitution entry to database. If entry for given shorcut already exists, then the old entry will be automatically deleted.

Since
S60 V5.0

Parameters

const TDesC & aShortcutShortcut part for new entry.
const TDesC & aSubstituition

AddCoreL(const TDesC &, TBool)

IMPORT_C TIntAddCoreL(const TDesC &aFileName,
TBoolaUseDefaultUserDictionary = EFalse
)

DEPRECATED (will leave if called).

Parameters

const TDesC & aFileName
TBool aUseDefaultUserDictionary = EFalse

AddCoreL(const TUid, TBool)

IMPORT_C TIntAddCoreL(const TUidaCoreUid,
TBoolaUseDefaultUserDictionary = EFalse
)

Loads and constructs new core object. Core object is added to the list of available cores and is ready to be used after that.

Since
S60 V2.6

Parameters

const TUid aCoreUidUid for core plugin.
TBool aUseDefaultUserDictionary = EFalse....

AddPhrase(const TDesC &)

IMPORT_C TIntAddPhrase(const TDesC &aNewPhrase)

Some prediction engines support next word prediction feature but require database to be pre-filled with suitable phrase data. This method adds one new phrase or sentence to phrase dictionary. Active core object needs to support phrase based next word prediction, otherwise an error code is returned.

Since
S60 V5.0

Parameters

const TDesC & aNewPhraseNew phrase to be added to phrase dictionary.

AddUserDictionaryEntry(MPtiUserDictionaryEntry &)

IMPORT_C TIntAddUserDictionaryEntry(MPtiUserDictionaryEntry &aEntry)

Adds new entry (in most cases a word) to default user dictionary of currently active core object.

Since
S60 V2.6

Parameters

MPtiUserDictionaryEntry & aEntryAn entry to be added to dictionary.

AddUserDictionaryEntry(MPtiUserDictionaryEntry &, TInt)

IMPORT_C TIntAddUserDictionaryEntry(MPtiUserDictionaryEntry &aEntry,
TIntaId
)

Adds entry to specific user dictionary.

Since
S60 V2.6

Parameters

MPtiUserDictionaryEntry & aEntryAn entry to be added to dictionary.
TInt aIdUser dictionary id.

AppendKeyPress(TPtiKey)

IMPORT_C TPtrCAppendKeyPress(TPtiKeyaKey)

This method handles key press and forwards it to correct core object depending on active language and input mode. The current word buffer is updated accordingly. If input sequence buffer has reached its maximum length then nothing will be done.

Since
S60 V2.6

Parameters

TPtiKey aKeyKey code.

AttachDefaultUserDictionaryL(TUid, TInt)

IMPORT_C MPtiUserDictionary *AttachDefaultUserDictionaryL(TUidaCoreUid,
TIntaSymbolClass
)

Attach default user dictionary.

Since
S60 V2.6

Parameters

TUid aCoreUidUid for owner core object.
TInt aSymbolClassSymbol class for udb data.

AttachUserDictionaryL(TDesC &)

IMPORT_C MPtiUserDictionary *AttachUserDictionaryL(TDesC &aFileName)

Attach user dictionary in given file to core for requested input mode.

Since
S60 V2.6

Parameters

TDesC & aFileNameUser dictionary file name.

AvailableCharConversions()

IMPORT_C TUint32AvailableCharConversions()const

Returns value indicating currently available character conversions.

Since
S60 V2.6

CancelTimerActivity()

IMPORT_C TIntCancelTimerActivity()

Front end processeor uses this method for indicating PtiEngine that all key press related timers should be canceled.

Since
S60 V2.6

CandidatePage()

IMPORT_C TPtrCCandidatePage()

Returns pointer to current Chinese candidate page.

Since
S60 V2.6

Case()

IMPORT_C TPtiTextCaseCase()const

Returns active text case.

Since
S60 V2.6

CaseSequence()

IMPORT_C TPtrC8CaseSequence()

Returns text case buffer. Case buffer contains shift state for each key press used for producing active word, ie. it remembers case values for each AppendKeyPress call. Case buffer is cleared when active word is commited or cleared. Return value is TPtrC8 containing string of EPtiTextCase values.

Since
S60 V5.0

CharConversion(TPtiCharConversion, TAny *, TInt, TAny *)

IMPORT_C TIntCharConversion(TPtiCharConversionaType,
TAny *aInput,
TIntaInputLength,
TAny *aOutput
)

Converts given string of characters to one coding system to another. See definition of TPtiCharConversion for list of supported conversion types. It is possible that only a small subset of supported conversion types is actually available at run time (that depends on available core objects). AvailableCharConversions() method can be used for querying available conversion types before using this method.

Since
S60 V2.6

Parameters

TPtiCharConversion aTypeRequested conversion type.
TAny * aInputInput string. This parameter may point to either 8-bit or 16-bit data depending on conversion type.
TInt aInputLengthNumber of characters in input string.
TAny * aOutputOutput string. This parameter may pint to either 8-bit or 16-bit data depending on conversion type.

CharacterToKey(TUint16)

IMPORT_C TPtiKeyCharacterToKey(TUint16aChar)

Returns key for given character. Returned key depends on current language and input mode.

Since
S60 V2.6

Parameters

TUint16 aCharRequested character.

ClearCurrentWord()

IMPORT_C voidClearCurrentWord()

Clears current word buffer. Calling this method means that current word was reject and will not be part of edited text. Either this method or CommitCurrentWord() must be called before starting a new word.

Since
S60 V2.6

CloseCurrentLanguageL()

IMPORT_C voidCloseCurrentLanguageL()

Closes active language. After calling this method there won't be active language and most PtiEngine API methods will return error until ActivateLanguageL is called again. Core objects for active language are asked to release related resources.

Since
S60 V2.6

CommitCurrentWord()

IMPORT_C TIntCommitCurrentWord()

Commits current word. Commiting means that core object is isntructed to end inline editing operation and accepted active word as part of edited text. Core object may then update frequency information, add unrecognized word to user dictioary or perform any other operation related to commiting a word. Word buffer is cleared. Either this method or ClearCurrentWord() must be called before starting a new word.

Since
S60 V2.6

CompositionData()

IMPORT_C MPtiEngineCompositionDataInterface *CompositionData()

Returns pointer to composition data interface (used with Japanese input).

Since
S60 V2.6

ConstructL(TBool)

voidConstructL(TBoolaUseDefaultUserDictionary)[private]

Parameters

TBool aUseDefaultUserDictionary

ConstructL(const TUid, TBool)

voidConstructL(const TUidaCoreUid,
TBoolaUseDefaultUserDictionary
)[private]

Parameters

const TUid aCoreUid
TBool aUseDefaultUserDictionary

CoreInfo(TPtiEngineInputMode)

IMPORT_C MPtiCoreInfo *CoreInfo(TPtiEngineInputModeaMode)const

Returns core info structure for given input mode.

Since
S60 V2.6

Parameters

TPtiEngineInputMode aMode

CreateDefaultUserDictionaryFileL(TUid, TInt)

IMPORT_C voidCreateDefaultUserDictionaryFileL(TUidaCoreUid,
TIntaSymbolClass
)

Creates empty user default dictionary file for given core object and initializes it to PtiEngine user dictionary format. If file already exists, then this method does nothing. Normally this method is only used by core objects.

Since
S60 V3.0

Parameters

TUid aCoreUidUid for requesting core object.
TInt aSymbolClassSymbol class for udb data.

CreateUserDictionaryL(TDesC &, CDesCArrayFlat *, TPtiEngineInputMode)

IMPORT_C TIntCreateUserDictionaryL(TDesC &aFileName,
CDesCArrayFlat *aWords,
TPtiEngineInputModeaMode
)

Creates new user dictionary file, inserts given list of words into it and attaches it to active core object for requested input mode. Active language must support requested input mode.

Since
S60 V2.6

Parameters

TDesC & aFileNameFile name for new user dictionary.
CDesCArrayFlat * aWordsA list of words to be inserted to new user dictionary.
TPtiEngineInputMode aModeInput mode for core object.

CurrentInputSequence()

IMPORT_C TPtrC8CurrentInputSequence()const

Returns current input sequence (a list of key presses). Bytes in returned descriptor are TPtiKey enum values.

Since
S60 V2.6

CurrentLanguage()

IMPORT_C MPtiLanguage *CurrentLanguage()

Returns pointer to currently active language.

Since
S60 V2.6

CurrentWord()

IMPORT_C TPtrCCurrentWord()

Returns pointer to current word buffer.

Since
S60 V2.6

DefaultUserDictionary(TPtiEngineInputMode)

IMPORT_C MPtiUserDictionary *DefaultUserDictionary(TPtiEngineInputModeaMode)

Returns default user dictionary for given input mode.

Since
S60 V2.6

Parameters

TPtiEngineInputMode aMode

DeleteAutoSubstitutionEntry(const TDesC &)

IMPORT_C TIntDeleteAutoSubstitutionEntry(const TDesC &aShortcut)

Remove auto substitution entry.

Since
S60 V5.0

Parameters

const TDesC & aShortcutShortcut for auto substitution entry to be removed.

DeleteKeyPress()

IMPORT_C TPtrCDeleteKeyPress()

Deletes last character in current word buffer and updates candidate list accordingly.

Since
S60 V2.6

DetachUserDictionary(TDesC &)

IMPORT_C TIntDetachUserDictionary(TDesC &aFileName)

Detaches currently attached user dictionary.

Since
S60 V2.6

Parameters

TDesC & aFileNameUser dictionary file name.

DetachUserDictionary(TInt)

IMPORT_C TIntDetachUserDictionary(TIntaId)

Detaches currently attached user dictionary.

Since
S60 V2.6

Parameters

TInt aIdUser dictionary id.

EnableToneMarks(TBool)

IMPORT_C voidEnableToneMarks(TBoolaValue)

Enables or disables tone marks.

Since
S60 V2.6

Parameters

TBool aValueA boolean value specifying whether tone marks will be on or off.

ExtendedNumericModeKeysForQwertyL(TInt)

IMPORT_C const RArray< TPtiNumericKeyBinding > &ExtendedNumericModeKeysForQwertyL(TIntaLanguage)

This method is same as GetNumericModeKeysForQwertyL, expect that instead of returning strict list of key bindings used in phone number editor, it returns list of all possible characters used in any of the "number only" editor variations. Returned list includes key bindings for characters: "*+pw#1234567890;.,-E?/" (Not necessarily in this order). See also GetNumericModeKeysForQwertyL.

This version first tries to return mappings according to currently active physical keyboard. It current keyboard is not qwerty based, it searches data for the first qwerty based keyboard type it can find. That is done in same order as keyboard types are defined in PtiDefs.h. There is also another version this method, which gets keyboard type as a parameter.

Since
S60 V3.2

Parameters

TInt aLanguageLanguage id for requested mappings.

ExtendedNumericModeKeysForQwertyL(TInt, TPtiKeyboardType)

IMPORT_C const RArray< TPtiNumericKeyBinding > &ExtendedNumericModeKeysForQwertyL(TIntaLanguage,
TPtiKeyboardTypeaKeyboardType
)

Same as previous version of ExtendedNumericModeKeysForQwertyL (see description above), but keyboard type is given as a parameter and mappings are return only for given keyboard type.

Since
S60 V5.0

Parameters

TInt aLanguageLanguage id for requested mappings.
TPtiKeyboardType aKeyboardTypekeyboard type.

FirstCandidate()

IMPORT_C TPtrCFirstCandidate()

Returns pointer to first word in candidate list. If there isn't any candidate words the returned pointer will point to empty descriptor.

Since
S60 V2.6

GetAutoSubstitutionEntry(TInt, TDes &, TDes &)

IMPORT_C TIntGetAutoSubstitutionEntry(TIntaIndex,
TDes &aShortcut,
TDes &aSubstitution
)

Return auto substitution entry for given index.

Since
S60 V5.0

Parameters

TInt aIndexIndex for entry to be returned.
TDes & aShortcutShortcut part of the result entry will be stored here.
TDes & aSubstitutionSubstitution part of result entry will be stored here.

GetAvailableLanguagesL(CArrayFix< TInt > *)

IMPORT_C voidGetAvailableLanguagesL(CArrayFix< TInt > *aResult)

Returns list of available input languages.

Since
S60 V2.6

Parameters

CArrayFix< TInt > * aResultList to be filled with language codes.

GetAvailableLanguagesL(RArray< TInt > &)

IMPORT_C voidGetAvailableLanguagesL(RArray< TInt > &aResult)

Returns list of available input languages.

Since
S60 V2.6

Parameters

RArray< TInt > & aResultList to be filled with language codes.

GetCandidateListL(CDesCArray &)

IMPORT_C TIntGetCandidateListL(CDesCArray &aList)

Returns list of candidate words for current input sequence. If word completion feature is on, then words accepted to result list may contain more letters than the number of key presses in current input sequence.

Since
S60 V2.6

Parameters

CDesCArray & aLista list to be filled with candidate words.

GetCandidatesByInputString(const TDesC &, RPointerArray< HBufC > &, const TBool)

IMPORT_C HBufC *GetCandidatesByInputString(const TDesC &aInputString,
RPointerArray< HBufC > &aList,
const TBoolaIsPredictive
)

Parameters

const TDesC & aInputString
RPointerArray< HBufC > & aList
const TBool aIsPredictive

GetChinesePhraseCandidatesL(CDesCArray &)

IMPORT_C TIntGetChinesePhraseCandidatesL(CDesCArray &aList)

Fills list with phrase candidates for currently selected phonetic spelling.

Since
S60 V2.6

Parameters

CDesCArray & aListA descriptor list to be filled with phrase candidates. Any previous items in aList are cleared.

GetHwrAvailableLanguagesL(RArray< TInt > &)

IMPORT_C voidGetHwrAvailableLanguagesL(RArray< TInt > &aResult)

Get hwr available languages list

Since
S60 V4.0

Parameters

RArray< TInt > & aResultCarry the hwr available languages list on return

GetHwrRecognizerL(TLanguage)

IMPORT_C MPtiHwrRecognizer *GetHwrRecognizerL(TLanguageaLanguage)

Get first hwr implementation support the specified language

Since
S60 V4.0

Parameters

TLanguage aLanguageThe language that hwr implementation supported

GetHwrRecognizerL(TInt)

IMPORT_C MPtiHwrRecognizer *GetHwrRecognizerL(TIntaImpId)

Get hwr implementation by give implementation uid

Since
S60 V4.0

Parameters

TInt aImpIdGiven specific implementation uid

GetLanguage(TInt)

IMPORT_C MPtiLanguage *GetLanguage(TIntaCode)const

Returns pointer to requested language.

Since
S60 V2.6

Parameters

TInt aCodeLanguage code for requested language.

GetLocalizedLanguageName(TInt, TDes &)

IMPORT_C voidGetLocalizedLanguageName(TIntaLangCode,
TDes &aResult
)

Returns localized language name for given language. This method is quite inefficient (always reads name table from resource file), when possible use Getlanguage()->LocalizedName() instead. This method can be used also when requested language is not among available input languages.

Since
S60 V2.6

Parameters

TInt aLangCode
TDes & aResult

GetModeNameIndexL(TPtiChineseVariant, RArray< TInt > &)

IMPORT_C voidGetModeNameIndexL(TPtiChineseVariantaVariant,
RArray< TInt > &aResult
)

Returns mode name index table for given Chinese variant.

Since
S60 V2.6

Parameters

TPtiChineseVariant aVariantChinese variant to be queried.
RArray< TInt > & aResultResulting index table.

GetNextWordCandidateListL(CDesCArray &)

IMPORT_C TIntGetNextWordCandidateListL(CDesCArray &aList)

Returns next word candidate list. This method requires that current core object supports next word prediction feature and it is turned on.

Since
S60 V2.6

Parameters

CDesCArray & aListA List to be filled with next word cadidates.

GetNumericModeKeysForQwertyL(TInt, RArray< TPtiNumericKeyBinding > &)

IMPORT_C voidGetNumericModeKeysForQwertyL(TIntaLanguage,
RArray< TPtiNumericKeyBinding > &aResult
)

Qwerty input mode has different keymapping layout for each language. Therefore the characters for numeric input mode may be mapped to different keys depending on language. There are several situations where client application needs to know which key and case combination produce numeric characters for given language. This convinience method can be used for extracting that information easily (it is also possible to achieve same result directly via CPtiCoreLanguage object). Result array will be left empty if requested language is not available or it doesn't support qwerty input mode. Returned list includes key bindings for characters: "0123456789pw+#*" (Not necessarily in this order). See also ExtendedNumericModeKeysForQwertyL.

This version first tries to return mappings according to currently active physical keyboard. It current keyboard is not qwerty based, it searches data for the first qwerty based keyboard type it can find. That is done in same order as keyboard types are defined in PtiDefs.h. There is also another version this method, which gets keyboard type as a parameter.

Since
S60 V3.1

Parameters

TInt aLanguageLanguage id for requested mappings.
RArray< TPtiNumericKeyBinding > & aResultArray for storing resulting mappings.

GetNumericModeKeysForQwertyL(TInt, RArray< TPtiNumericKeyBinding > &, TPtiKeyboardType)

IMPORT_C voidGetNumericModeKeysForQwertyL(TIntaLanguage,
RArray< TPtiNumericKeyBinding > &aResult,
TPtiKeyboardTypeaKeyboardType
)

Same as previous version of GetNumericModeKeysForQwertyL (see description above) but keyboard type is given as a parameter and mappings are return only for given keyboard type.

Since
S60 V5.0

Parameters

TInt aLanguageLanguage id for requested mappings.
RArray< TPtiNumericKeyBinding > & aResultArray for storing resulting mappings.
TPtiKeyboardType aKeyboardTypekeyboard type.

GetPhoneticSpelling(TInt)

IMPORT_C TPtrCGetPhoneticSpelling(TIntaIndex)const

Returns phonetic spelling for current input.

Since
S60 V2.6

Parameters

TInt aIndexIndex of requested phonetic spelling.

GetPhoneticSpellingsL(CDesCArray &)

IMPORT_C TIntGetPhoneticSpellingsL(CDesCArray &aList)

Fills list with all the phonetic spellings for current input sequence.

Since
S60 V2.6

Parameters

CDesCArray & aListA descriptor list to be filled with phonetic spellings. Any previous items in aList are cleared.

GetSpelling(TUint16, TDes &, TPtiSpelling)

IMPORT_C TIntGetSpelling(TUint16aInput,
TDes &aOutput,
TPtiSpellingaType
)

Returns alternate spelling for given character.

Since
S60 V2.6

Parameters

TUint16 aInputa character to be converted to requested spelling.
TDes & aOutputoutput will be stored to this descriptor.
TPtiSpelling aTypespelling type

GetUserDictionaryEntry(TInt, MPtiUserDictionaryEntry &)

IMPORT_C TIntGetUserDictionaryEntry(TIntaIndex,
MPtiUserDictionaryEntry &aResult
)

Returns entry for given index in default user dictionary.

Since
S60 V2.6

Parameters

TInt aIndexAn index for requested entry.
MPtiUserDictionaryEntry & aResultResult will be stored here.

HandleCommandL(TPtiEngineCommand, TAny *)

IMPORT_C TIntHandleCommandL(TPtiEngineCommandaCommand,
TAny *aParams = NULL
)

General command handling method. This method can be used for controlling core objects that require more information than just sequence of key presses.

Since
S60 V2.6

Parameters

TPtiEngineCommand aCommandA command to be handled.
TAny * aParams = NULLPossible input data or parameters for command.

IncrementToneMark(TBool)

IMPORT_C TBoolIncrementToneMark(TBoolaOverrideInvalid)

Cycles to next tone mark in core related tone mark list.

Since
S60 V2.6

Parameters

TBool aOverrideInvalidIndicates whether invalid tone marks should be skipped.

InputMode()

IMPORT_C TPtiEngineInputModeInputMode()const

Returns active input mode.

Since
S60 V2.6

IsQwertyBasedMode(TPtiEngineInputMode)

IMPORT_C TBoolIsQwertyBasedMode(TPtiEngineInputModeaMode)const

A convinience method for cheking qwerty based input mode.

Since
S60 V3.0

Parameters

TPtiEngineInputMode aModeInput mode to be checked.

IsToneMarkValidForSpelling()

IMPORT_C TBoolIsToneMarkValidForSpelling()const

Returns boolean value indicating whether current tone mark is valid for spelling.

Since
S60 V2.6

IsValidKey(TPtiKey)

IMPORT_C TBoolIsValidKey(TPtiKeyaKey)const

Returns a boolean value indicating whether given scan code is allowed for current input mode.

Since
S60 V5.0

Parameters

TPtiKey aKeyA key to be queried.

KeyboardType()

IMPORT_C TPtiKeyboardTypeKeyboardType()const

Returns currently selected qwerty keyboard type.

Since
S60 V5.0

KeyboardTypesSupportedByLanguageL(TInt, RArray< TPtiKeyboardType > &)

IMPORT_C voidKeyboardTypesSupportedByLanguageL(TIntaLanguage,
RArray< TPtiKeyboardType > &aResult
)

Lists keyboard blocks available in keymapping data for given language.

Since
S60 V5.0

Parameters

TInt aLanguageA language to be queried.
RArray< TPtiKeyboardType > & aResultResulting list of keyboard types will we stored here.

LastEnteredKey()

IMPORT_C TPtiKeyLastEnteredKey()const

Returns last entered key press.

Since
S60 V2.6

ListAvailablePhysicalKeyboardsL(RArray< TPtiKeyboardType > &)

IMPORT_C voidListAvailablePhysicalKeyboardsL(RArray< TPtiKeyboardType > &aResult)[static]

Returns a list containing keyboard type values for all available physical keyboards connected to the device. Keyboard doesn't have to be active at calling time to be included in the output list.

Since
S60 V5.0

Parameters

RArray< TPtiKeyboardType > & aResultAn array to be filled with available keyboard types.

ListHwrRecognizerL(TLanguage)

IMPORT_C RArray< TUid > &ListHwrRecognizerL(TLanguageaLanguage)

Get hwr implementation uid list which support given language

Since
S60 V4.0

Parameters

TLanguage aLanguageThe language that hwr implementation supported

MappingDataForKey(TPtiKey, TDes &, TPtiTextCase)

IMPORT_C voidMappingDataForKey(TPtiKeyaKey,
TDes &aResult,
TPtiTextCaseaCase
)

Returns keymapping data for given key. Returned data depends on active language and input mode. Result string will be empty if there isn't key mapping adta available.

Since
S60 V3.0

Parameters

TPtiKey aKeyA key to be queried.
TDes & aResultResulting mapping data.
TPtiTextCase aCase

MarkAutoCapitalized()

IMPORT_C voidMarkAutoCapitalized()

Some core objects may provide different set of results depending on whether the auto captitalization feature was used for entering the word or not. There is now way to tell on core level whether the word was auto-capitalizedby FEP or capitalized normally by the user. This method can be used to incicate core object that auto-capitalization was used for current input sequence. Clearing or commiting the word will cancel the effect of this method.

Since
S60 V5.0

MoreCandidatePages()

IMPORT_C TBoolMoreCandidatePages()

Returns a boolean value indicating whether there are more candidate pages available.

Since
S60 V2.6

NewL(TBool)

IMPORT_C CPtiEngine *NewL(TBoolaUseDefaultUserDictionary = EFalse)[static]

Two phase constructor.

Parameters

TBool aUseDefaultUserDictionary = EFalse

NewL(const TDesC &, TBool)

IMPORT_C CPtiEngine *NewL(const TDesC &aCoreName,
TBoolaUseDefaultUserDictionary = EFalse
)[static]

Two phase constructor.

NOTE: THIS METHOD IS DEPRECATED AND WILL LEAVE WHEN CALLED.

Parameters

const TDesC & aCoreName
TBool aUseDefaultUserDictionary = EFalse

NewL(const TUid, TBool)

IMPORT_C CPtiEngine *NewL(const TUidaCoreUid,
TBoolaUseDefaultUserDictionary = EFalse
)[static]

Two phase constructor.

Parameters

const TUid aCoreUid
TBool aUseDefaultUserDictionary = EFalse

NextCandidate()

IMPORT_C TPtrCNextCandidate()

Returns pointer to next word in candidate list. FirstCandidate() must be called before calling this method. Returns pointer to empty descriptor if there isn't more candidates available.

Since
S60 V2.6

NextCandidatePage()

IMPORT_C TBoolNextCandidatePage()

Changes to next Chinese candidate page.

Since
S60 V2.6

NumberOfAutoSubstitutionEntries()

IMPORT_C TIntNumberOfAutoSubstitutionEntries()const

Returns the number of auto substitution entries in auto subst db.

Since
S60 V5.0

NumberOfCandidates()

IMPORT_C TIntNumberOfCandidates()

Returns number of candidate words for current input sequence.

Since
S60 V2.6

NumberOfEntriesInUserDictionary()

IMPORT_C TIntNumberOfEntriesInUserDictionary()

Returns number of entries in default user dictionary.

Since
S60 V2.6

NumberOfLanguages()

IMPORT_C TIntNumberOfLanguages()const

Returns number of available input languages.

Since
S60 V2.6

Observer()

IMPORT_C MPtiObserver *Observer()

Returns current observer.

Since
S60 V2.6

PhoneticSpellingCount()

IMPORT_C TIntPhoneticSpellingCount()const

Returns a value specifying how many phonetic spellings there is available for current input.

Since
S60 V2.6

PreviousCandidate()

IMPORT_C TPtrCPreviousCandidate()

Returns pointer to previous word in candidate list. If there isn't previous candidate available (NextCandidate() wasn't succesfully called) then the return value will point to an empty string.

Since
S60 V2.6

PreviousCandidatePage()

IMPORT_C TBoolPreviousCandidatePage()

Changes to previous Chinese candidate page.

Since
S60 V2.6

ReadSecondaryDataFileL(TUid, TInt)

IMPORT_C HBufC8 *ReadSecondaryDataFileL(TUidaCoreUid,
TIntaIndexNumber
)

Returns a heap buffer containing data from given secondary data file. Returns null if file is not found.

Since
S60 V3.0

Parameters

TUid aCoreUidUid number for requesting core object.
TInt aIndexNumberIndex number (see CreateDefaultUserDictionaryFileL).

ReadingTextL()

IMPORT_C TPtrCReadingTextL()

Returns reading text for Japanese input.

Since
S60 V2.6

RemoveEntryFromUserDictionary(MPtiUserDictionaryEntry &)

IMPORT_C TIntRemoveEntryFromUserDictionary(MPtiUserDictionaryEntry &aEntry)

Removes entry from default user dictionary of currently active core object.

Since
S60 V2.6

Parameters

MPtiUserDictionaryEntry & aEntryan entry to be removed from default dictionary.

RemoveEntryFromUserDictionary(MPtiUserDictionaryEntry &, TInt)

IMPORT_C TIntRemoveEntryFromUserDictionary(MPtiUserDictionaryEntry &aEntry,
TIntaId
)

Removes word from specific user dictionary.

Since
S60 V2.6

Parameters

MPtiUserDictionaryEntry & aEntryan entry to be removed from default dictionary.
TInt aIdUser dictionary id.

ResetToneMark()

IMPORT_C voidResetToneMark()

Resets tone mark.

Since
S60 V2.6

SelectPhoneticSpelling(TInt)

IMPORT_C TBoolSelectPhoneticSpelling(TIntaIndex)

Selects given phonetic spelling for current input.

Since
S60 V2.6

Parameters

TInt aIndexIndex of requested phonetic spelling.

SelectedPhoneticSpelling()

IMPORT_C TIntSelectedPhoneticSpelling()const

Returns the index of currently selected phonetic spelling.

Since
S60 V2.6

SetAutoSubstitution(TBool)

IMPORT_C TIntSetAutoSubstitution(TBoolaStatus)

Turns auto substitution feature on or off. Auto substitution feature replaces predefined strings with other strings. For example, if user types xmas, it could be auto substituted with Christmas.

Since
S60 V5.0

Parameters

TBool aStatusNew status for auto substituiton feature

SetCandidatePageLength(TInt)

IMPORT_C voidSetCandidatePageLength(TIntaLength)

Sets length of Chinese candidate page.

Since
S60 V2.6

Parameters

TInt aLengthLength of Chinese candidate page.

SetCase(TPtiTextCase)

IMPORT_C voidSetCase(TPtiTextCaseaCase)

Sets text case.

Since
S60 V2.6
EPtiCaseLower Normal lower text case EPtiCaseUpper Normal capitalized text case EPtiCaseChrLower Lower text case when Chr key is being held EPtiCaseChrUpper Upper text case when Chr key is being held EPtiCaseFnLower Lower text case when Fn key is being held EPtiCaseFnUpper Upper text case when Fn key is being held

Parameters

TPtiTextCase aCaseText case to be set. Possible values are:

SetCurrentWord(TPtrC)

IMPORT_C TIntSetCurrentWord(TPtrCaWord)

Fills text buffer with given word, refreshes current input sequence and asks current core object to update candidate list accordingly.

Since
S60 V2.6

Parameters

TPtrC aWorda word to be set as current word.

SetExternalKeyMapL(TPtiEngineInputMode, TPtiKey, TDesC &, TPtiTextCase)

IMPORT_C TIntSetExternalKeyMapL(TPtiEngineInputModeaMode,
TPtiKeyaKey,
TDesC &aKeyMap,
TPtiTextCaseaCase
)

Replaces key map for single key.

Since
S60 V2.6

Parameters

TPtiEngineInputMode aModeInput mode of key map.
TPtiKey aKeyKey to be replaced.
TDesC & aKeyMapNew key sequence for aKey.
TPtiTextCase aCase

SetInputMode(TPtiEngineInputMode)

IMPORT_C TIntSetInputMode(TPtiEngineInputModeaMode)

Activates requested input mode for active language.

Since
S60 V2.6

Parameters

TPtiEngineInputMode aModerequested input mode.

SetKeyboardType(TPtiKeyboardType)

IMPORT_C TIntSetKeyboardType(TPtiKeyboardTypeaType)

Sets keyboard type for non-virtual keyboard. Keyboard type specifies which set of key mapping data is used.

Since
S60 V5.0

Parameters

TPtiKeyboardType aTypeNew keyboard type.

SetMaxLengthForAutoCompletedCandidates(TInt)

IMPORT_C TIntSetMaxLengthForAutoCompletedCandidates(TIntaMaxLength)

Sets the maximum length for auto completed words. This method can be used when the client needs to be sure that all provided word completions will fit into remaining editor buffer. When the number of key presses in an input sequence exceeds the value given in aMaxLength, core will automatically reset this value to "no limit".

Since
S60 V5.0

Parameters

TInt aMaxLengthThe maximum length fo auto completed candinates. Value 0 means no limit.

SetNumberCandidateStatus(TBool)

IMPORT_C TIntSetNumberCandidateStatus(TBoolaStatus)

Sets a boolean value indicating whether number candidates are included to predictive candidate list. Number candidates are strings containing only digits. Number candidate feature must be supported by active prediction engine, otherwise this setting will be ignored.

Since
S60 V5.0

Parameters

TBool aStatusA boolean value indicating whether number candidates are included to cadidate list.

SetObserver(MPtiObserver *)

IMPORT_C voidSetObserver(MPtiObserver *aObserver)

Sets observer. See PtiObserver.h for observer API details.

Since
S60 V2.6

Parameters

MPtiObserver * aObserverA observer to be set.

SetPredictiveChineseChar(const TDesC &)

IMPORT_C TBoolSetPredictiveChineseChar(const TDesC &aChar)

Selects Chinese character (meaning that user has accepted character to be inserted into editor). Predictive candidate lists will be updated with Chinese characters associated to selected character. Associated charcaters can be accessed via ...CandidatePage() -methods. Return value can be ignored in current implementation.

Since
S60 V2.6

Parameters

const TDesC & aCharA character to be selected.

SetReordering(TBool)

IMPORT_C TIntSetReordering(TBoolaStatus)

Turns reordering feature on or off. This method can be used only if active core object supports reordering feature. It is also possible that core object supports reordering feature, but it can't be turned off. Reordeing feature keeps track of usage frequency for entered words and promotes most frequently used words in the candidate list. Details depend on underlying prediction engine.

Since
S60 V2.6

Parameters

TBool aStatusNew status for reordering feature.

SetToneMark(TInt)

IMPORT_C TBoolSetToneMark(TIntaToneMark)

Sets tone mark directly. This method is used if client wants to override default core dependant tone mark set or traditional cycle-through tone mark system doesn't suit its porposes.

Since
S60 V2.8

Parameters

TInt aToneMarkTone mark to be set.

ToneMark(TText &)

IMPORT_C TBoolToneMark(TText &aToneMark)const

Returns unicode value for current tone mark.

Since
S60 V2.6

Parameters

TText & aToneMarkresulting tone mark is store here.

WriteSecondaryDataFileL(TUid, TInt, HBufC8 *)

IMPORT_C voidWriteSecondaryDataFileL(TUidaCoreUid,
TIntaIndexNumber,
HBufC8 *aData
)

Creates secondary data file for given core object. Existing file will be overwritten. This data file may contain any additional data that the core object needs to store between sessions (for example used word dictionary, if the engine keeps reordering data in separate memory area).

Since
S60 V3.0

Parameters

TUid aCoreUidUid number for requesting core object.
TInt aIndexNumberIndex number. Core object may use this parameter for numerating data files if it needs more than one of then. Otherwise zero.
HBufC8 * aData

Member Data Documentation

CPtiEngineImpl * iImpl

CPtiEngineImpl *iImpl[private]