Symbian3/SDK/Source/GUID-FCEDC338-61CA-5D10-A8DB-E44A3EBBDE5E.dita
changeset 8 ae94777fff8f
child 13 48780e181b38
--- /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 @@
+<?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 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_d0e49491_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