diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita Fri Jun 11 12:39:03 2010 +0100 @@ -0,0 +1,58 @@ + + + + + +Front +End Processor Overview +
Purpose

Front +End Processors, or FEPs, enable users to input characters that are not on +the device keyboard. For most phones a FEP is essential for entering anything +anything other than numbers. Typically FEPs are used for processing multi-tap +keypad input, predictive text, handwriting recognition, voice recognition +and character selection.

+
Architectural +relationships

FEPs are ECOM plugins that implement the FEP interface. +They typically use the UI Control Framework to intercept key and pointer events +which are processed as necessary and the output sent to the current application. +Applications do not need to be aware that a FEP is present.

Note that +until the introduction of Platform +Security FEPs were implemented as polymorphic DLLs. Significantly, +under Platsec, FEPs require a capability of All - Tcb as they may be +loaded by any application.

+
Description

The +API has five key concepts: FEP base, control input capability, FEP-aware text +editor, foreground observer and focus observer.

FEP Base

The +FEP base, CCoeFep, is the abstract base class from which +a FEP is derived. A FEP is typically implemented to have a window owning control, +the standard means of receiving input events. The UI Control Framework uses +a control stack to determine the order in which controls are offered key events. +A FEP places its control on the stack with a high priority such that it has +first access to key events.

+ FEP Base + +

The Window Server provides support for windows that float above +other windows in the application. This allows a FEP to have a visible presence.

Each +running application has its own instance of the current FEP. Support is provided +for synchronising attributes across all instances so that there appears to +be only one.

Control input-capabilities

A FEP must +be able to discover the input-capabilities of the target control(s) to determine +what output is appropriate. Input capabilities are provided by TCoeInputCapabilities.

FEP-aware +text editors

A text-editing control can be designed to be closely +integrated with a FEP by implementing MCoeFepAwareTextEditor. +Most of the Symbian provided editing controls do this. The use of in-line +editing in FEP aware editors can mean that a FEP has no obvious visible presence +at all.

Foreground observer

A FEP can implement an +observer interface to be notified when the application goes into the foreground +or background. The foreground observer is MCoeForegroundObserver.

Focus +observer

A FEP can implement an observer to be notified when controls +under the FEP gain or lose focus. The FEP can then discover the input-capabilities +of the current target control(s). The focus observer is MCoeFocusObserver.

+
See also

UI Control Framework Overview

+
\ No newline at end of file