Symbian3/SDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita
changeset 0 89d6a7a84779
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita	Thu Jan 21 18:18:20 2010 +0000
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E" xml:lang="en"><title>Front
+End Processor Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-4DBE2888-BC56-417E-B12F-520A9AFF5CBE"><title>Purpose</title> <p>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. </p> </section>
+<section id="GUID-CB4AD573-8695-4BE0-A40D-DCB813AD313C"><title>Architectural relationships</title> <p>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. </p> <p>Note that until the introduction of <xref href="GUID-4BFEDD79-9502-526A-BA7B-97550A6F0601.dita">Platform
+Security</xref> FEPs were implemented as polymorphic DLLs. Significantly,
+under Platsec, FEPs require a capability of <b>All - Tcb</b> as they may be
+loaded by any application. </p> </section>
+<section id="GUID-DDA8FA60-B059-45ED-98FE-BA0C274BFC36"><title>Description</title> <p>The API has five key concepts: FEP
+base, control input capability, FEP-aware text editor, foreground observer
+and focus observer. </p> <p><b>FEP Base</b> </p> <p>The FEP
+base, <xref href="GUID-ADAA039A-7BF3-3B06-8486-2E3604C2633D.dita"><apiname>CCoeFep</apiname></xref>, is the abstract base class from which a
+FEP is derived. A FEP is typically implemented to have a window owning control,
+the standard Symbian OS 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. </p> <fig id="GUID-55FA95ED-227B-560E-98B4-CCFB8E42A216">
+<title>                 FEP Base               </title>
+<image href="GUID-DD3A519B-26D5-5920-BEF3-16273A661448_d0e15512_href.png" placement="inline"/>
+</fig> <p>The Window Server provides support for windows that float above
+other windows in the application. This allows a FEP to have a visible presence. </p> <p>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. </p> <p><b>Control input-capabilities</b> </p> <p>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 <xref href="GUID-BB7D0D56-1713-3DC0-BDA0-3CA1F0462BE2.dita"><apiname>TCoeInputCapabilities</apiname></xref>. </p> <p><b>FEP-aware
+text editors</b> </p> <p>A text-editing control can be designed to be closely
+integrated with a FEP by implementing <xref href="GUID-A5D563D6-A99A-31DF-B844-5F94EF5FFE87.dita"><apiname>MCoeFepAwareTextEditor</apiname></xref>.
+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. </p> <p><b>Foreground observer</b> </p> <p>A FEP can implement an
+observer interface to be notified when the application goes into the foreground
+or background. The foreground observer is <xref href="GUID-2CAC79B0-8BD3-3961-A162-75B004AEE5FC.dita"><apiname>MCoeForegroundObserver</apiname></xref>. </p> <p><b>Focus
+observer</b> </p> <p>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 <xref href="GUID-E591B7D7-ED56-3CEF-883F-7091D5833731.dita"><apiname>MCoeFocusObserver</apiname></xref>. </p> </section>
+<section id="GUID-90026D68-1FB6-4190-B0A8-9CDD0B1C6C18"><title>See also</title> <p><xref href="GUID-37E8A48E-09B8-5958-9263-B33EDAE3F7C6.dita">UI
+Control Framework Overview</xref>  </p> </section>
+</conbody></concept>
\ No newline at end of file