fep/aknfep/inc/AknFepManagerUIInterface.h
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/fep/aknfep/inc/AknFepManagerUIInterface.h	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,760 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-* Description:           
-*       Provides the MAknFepManagerUIInterface definition.
-*
-*/
-
-
-
-
-
-
-
-
-
-
-
-
-#ifndef __AKN_FEP_MANAGER_UI_INTERFACE_H__
-#define __AKN_FEP_MANAGER_UI_INTERFACE_H__
-
-// INCLUDES
-#include <e32std.h>
-
-#include <avkon.hrh>
-#include <frmtlay.h>        // TCursorSelection
-#include <aknextendedinputcapabilities.h>
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include <PtiDefs.h>
-#endif
-#include "AknFepGlobalEnums.h"
-#include "AknFepUiIndicEnums.h"
-
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-#include "AknFepFnKeyManager.h"
-#endif
-// CLASS DECLARATION
-class CPtiEngine;
-class CAknFepUIInterface;
-class CAknFepPluginManager;
-// the follow 2 class for phrase creation 
-class MZhuyinKeyHandler;
-class CAknFepZhuyinAnalyser;
-
-/**
-  * This interface describes the FEP Manager functionality that is required by western 
-  * Input States only. It could potentially be conditionally compiled out if western 
-  * predictive text is not required in a product
-  */
-class MAknFepManagerUIInterfaceWestern
-    {
-public:
-    /*
-     *flags, all held in the FEP Manager
-     */
-    virtual TBool IsFlagSet(TInt aFlag) const = 0;
-    virtual void SetFlag(TInt aFlag) = 0;
-    virtual void ClearFlag(TInt aFlag) = 0;
-    
-	virtual void SetCcpuFlag(TInt aFlag) = 0;  
-	virtual void ClearCcpuFlag(TInt aFlag) = 0;	  
-
-    /*
-     * Update the current inline edit
-     * @param aUncommitedTextChange, the change to the length of the inline edit
-     * i.e. 1 is a character added, 0 is no change, -1 is a character deleted
-     */
-    virtual void UpdateInlineEditL(const TDesC& aText, TInt aUncommitedTextChange) = 0;
-    
-    /*
-     * Starts an inline edit
-     */ 
-    virtual void StartInlineEditL() = 0;
-
-    /*
-     * Starts an inline edit with a text string to uncommit
-     */ 
-    virtual void StartInlineEditL(const TDesC& aText) = 0;
-
-    /*
-    */
-    virtual void StartInlineEditL(TCursorSelection aCursorSelection, 
-                                  const TDesC& aInitialInlineText, 
-                                  TInt aPositionOfInsertionPointInInlineText, 
-                                  TBool aCursorVisibility) = 0;
-
-    /*
-     * Closes the UI backspace event have completely deleted a word
-     */ 
-    virtual TBool CloseUiIfWordDeletedL() = 0;
-
-    /*
-     * gets the text to uncommit in the engine when moving onto a word 
-     *
-     * @param aText the descriptor to fill with the text that should be uncommitted
-     * @param aCode the keycode, must be backspace or left or right arrow
-     * @param aComsumeKey ETrue if the key should be consumed
-     * @return True if we have successfully found text which can be uncommited
-     */     
-    virtual TBool TryGetTextToUncommitL(TDes& aText, TInt aCode, TBool& aComsumeKey) = 0;
-    
-    /*
-     * Update the CBA with a new resource
-     */ 
-    virtual void UpdateCbaL(TInt aResourceId) = 0;
-    
-    /*
-     * Remove the character that is used to show to the user that the 
-     * predictive text engine cannot match a word to the keys entered 
-     * @return ETrue if the No Matches Indicator has been removed, EFalse
-     * if it was not there.
-     */ 
-    virtual TBool TryRemoveNoMatchesIndicatorL() = 0;
-
-    /*
-     * @return ETrue if the new word length is one character longer than 
-     * the current uncommited text
-     */
-    virtual TBool IsMoreGoodWordsComing(TInt aNewWordLength) const = 0;
-    
-    //the following 8 functions for creation   
-    /**
-     * Set the state to Pinyin phrase creation
-     */
-    virtual void PinyinPhraseCreation(TBool aPinyinPhraseCreation) = 0;
-
-    /**
-     * Is the state is in pinyin phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsPinyinPhraseCreation() const = 0;
-
-    /**
-     * Set the state to phrase creation
-     */
-    virtual void PhraseCreation(TBool aPhraseCreation) = 0;
-
-    /**
-     * Is the state is in phrase creation
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsPhraseCreation() const = 0;
-
-    /**
-     * Set the state to input phrase
-     */
-    virtual void EntryPhrase(TBool aEntryPhrase) = 0;
-
-    /**
-     * Is the state is in input phrase
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEntryPhrase() const = 0;
-
-    /**
-     * Set the state to enable star key
-     */
-    virtual void EnableKeyStar(TBool aEnable) = 0;
-
-    /**
-     * Is the state is enable star key
-     *
-     * @return if not enabled, return EFalse
-     */
-    virtual TBool IsEnableKeyStar() const = 0;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-    /*
-     * @return ETrue if inputmode is word completion and new word length is not equal to 
-     * the current inputsequence length
-     */
-	virtual TBool IsMoreGoodAutoCompleteWordsComing(TInt aInputMode, TInt aPreviousWordLengh, 
-	                                                TInt aNewWordLength) const =0;
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-
-    /*
-     * When starting a new word, checks the adjacent editor positions for 
-     * valid inline editing characters. If these are present, we are starting a
-     * compound word and the flag EFlagCompoundWord is set
-     */
-    virtual void TryStartCompoundWord() = 0;
-
-    /*
-     * Calculates the span of the compound word that is made up of the 
-     * current uncommitted text and the adjacent word. 
-     * Adds this word to the User Database
-     */
-    virtual void AddCompoundWordToUdbL() = 0;
-    
-    /**
- 	*  Sets delayed commit on (predicitve word will be commited in 
- 	*  next call to TryCloseUiL. This is needed because of Japanese ReadingTextL).
- 	*
- 	* @since 3.1
- 	*/ 
-    virtual void SetDelayedCommit() = 0;   
-    
-    /**
-    * Returns a boolean value indicating whether the curesor is at the end of a word.
-    */  
-    virtual TBool IsCursorAtEndOfWord() = 0;       
-    };
-
-class MAknFepManagerUIInterface : public MAknFepManagerUIInterfaceWestern
-    {
-public:
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    virtual TBool KeyMapsDifferentCharacterWithFn( TPtiKey aKey ) const = 0;
-#endif
-#endif
-		/**
-		* Check western predictive mode.
-		* @param aMode input mode.
-		* @return ETrue if western predictive mode.
-		*/
-		virtual TBool WesternPredictive(TInt aMode = 0) const=0;
-		 /**
-	     * Check Qwerty keypad
-	     *
-	     * @since 3.0
-	     * @return ETrue is Qwerty
-	     */
-	    virtual TBool IsQwerty() const=0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Launches the compact match candidate list which follows the inline editor.
-     * @param   aFocusedIndex   The index of the word focused by default. 
-     *                          If KErrNotFound is given, the currently active
-     *                          word will be focused.
-     */
-    virtual void LaunchCandidatePopupListL( TInt aFocusedIndex = KErrNotFound )=0;
-    /**
-    Returns the Fn key state
-    */
-    virtual CAknFepFnKeyManager::TFnKeyState FnKeyState() = 0;
-    virtual void SetFnKeyState(CAknFepFnKeyManager::TFnKeyState aState) = 0;
-    /**
-    Returns the current keyboard layout in use.
-    */
-    virtual TPtiKeyboardType KeyboardLayout() const = 0;
-#ifdef __REVERSE_FN_KEY_SUPPORTED
-    /**
-    Returns if the input is in reverse Fn key input mode.
-    */
-    virtual TBool IsReverseFnkeyInput() = 0;
-    
-    /**
-     * Returns true if the aChar is allowed in the numeric editor
-     */
-    virtual TBool IsValidCharInNumericEditorL( TChar aChar ) const = 0;
-        
-    /**
-     * Filter the char for Fn reverse mode in case of
-     * numeric editor. This function should call
-     * in case of numeric editor reverse mapping.
-     */
-    virtual TBool IsValidCharForNumericInFnReverseL(TInt aKey, TPtiTextCase aCase)=0;
-
-#endif //__REVERSE_FN_KEY_SUPPORTED
-    virtual void AddOneSpaceOrMoveCursorL() = 0;
-    
-#endif
-    virtual TBool IsHybridAplhaEditor() const = 0 ;
-    virtual TBool IsHybridAlphaModeChangedtoAplhanumeric() const = 0;
-	/**
-	* Tells if the current editor is phone number editor
-	* @return ETrue if the current editor is phone number editor
-	*/
-	virtual TBool IsPhoneNumberEditor() const = 0;
-
-    /**
-     * A request to close the UI. If the UI was not active (initial state)
-     * multitap characters are commited by calling ExpireMultitapTimer()
-     * on the ptiengine.
-     * @return ETrue if the UI was active, EFalse otherwise
-     */
-    virtual TBool TryCloseUiL() = 0;
-
-    /**
-     * A request to send a char to the editing window
-     */
-    virtual void NewCharacterL(const TDesC& aChar) = 0;
-
-    /**
-     * A request to send text to the editing window
-     */
-    virtual void NewTextL(const TDesC& aChar) = 0;
-
-    /**
-      * A request to commit the current char
-      */
-    virtual void CommitInlineEditL() = 0;
-
-    /**
-     * Commits given string in the editing window. This function checks that
-     * the editor has enough space to insert given string. If it not,
-     * given string is cut, then it is committed.
-     */
-    virtual void CommitInlineEditL(const TDesC& aText, TInt aUncommitedTextChange) = 0;
-    
-    /**
-      * A request to cancel inline input to wditing window.
-      */
-    virtual void CancelInlineEdit() =0;
-
-    /** 
-      * Called by Fep Manager when editing window draws inline input characters.
-      */
-    virtual void GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine,TInt& aHeight,
-                                       TInt& aAscent,TInt aDocumentOffset) = 0;
-
-    /** 
-      * Called by Fep Manager when Chinese UI ask cursor baseline position.
-      */
-    virtual void GetScreenCoordinatesL(TPoint& aLeftSideOfBaseLine,
-                                       TInt& aHeight,TInt& aAscent) = 0;
-
-    /**
-     * A notification to the Fep Manager that the UI has been activated..
-     * Should always be called by an Initial State Object when initiating 
-     * a change to an Entry State
-     */
-    virtual void SendUIActivatedNotification() = 0;
-
-    /**
-     * A notification to the Fep Manager that the UI has not been activated.
-     */
-    virtual void SendUIDeActivatedNotification() = 0;
-
-    /**
-     * calulates if an SCT can be launched in the current editor at the present
-     * cursor position
-     * @return ETrue if an SCT can be launched, EFalse if not
-     */
-    virtual TBool IsAbleToLaunchSCT() const = 0;
-
-    /**
-     * Launch the Special Character Table  
-     */
-    virtual void LaunchSpecialCharacterTableL(TInt aResourceId=0, 
-                                              TBool aLaunchedByTouchWin=EFalse, 
-                                              TBool aSmileyFirst=EFalse) = 0;
-
-    /**
-     * Play sound
-     */
-    virtual void PlaySound(TAvkonSystemSID aSound) const = 0;
-    /**
-     * get uncommitted text
-     */
-    virtual TCursorSelection UncommittedText() const = 0;
-
-	/**
-     * Gets the previous character depnding on wheather language is 
-     * contxet sensitve or not
-     * since 3.2: aContextSensitive not in use, since no real meaning found.
-     */
-    virtual TText PreviousChar(	TBool aContextSensitive = EFalse ) = 0;
-    /**
-     * Returns the next character to the current cursor position
-     */
-    virtual TText NextChar() = 0;
-    virtual TBool IsZWSCharacterPresent( TBool aLigaturePresent = EFalse ) = 0;
-    /**
-     * Removes previous character to the current cursor position
-     */
-    virtual void RemovePreviousCharacterL() = 0;
-    /**
-     * Removes Zero Width Space character from the inputted text.
-     */
-    virtual void RemoveZWSCharacterL(TBool aIsViramaInputted, 
-                                     TBool aIsInMultitappingHalant = EFalse,
-                                     TBool aIsCharModifier = EFalse, 
-                                     TBool aIsLigaturePresent = EFalse) = 0;
-    /**
-     * Adds text to the editor and commits the text.
-     */
-    virtual void NewCharacterSequenceL(const TDesC& aText, TIndicInputResponse aResponse) = 0;
-    
-    virtual TDigitType LocalDigit() = 0;
-    virtual TWidthChar CharacterWidth() const = 0;
-    virtual void SetInlineEditingCursorVisibilityL(TBool aCursorVisibility) = 0;
-    virtual CPtiEngine* PtiEngine() const = 0;
-
-    /**
-     * checks that the editor the editor has free space to add another character
-     * An editor of unlimited length will return its maximum size as zero
-     */
-    virtual TBool EditorHasFreeSpace( TInt aNumberOfCharacter = 0 ) const = 0;
-
-    virtual void RedecorateAfterDeletionL( const TDesC& aTextThatWasDeleted ) = 0;
-
-    /**
-     * 
-     *
-     * @param aKeyCode the value of the key to simulate
-     */
-    virtual void SimulateKeyEventL(TUint aKeyCode, TBool aActiveObj=EFalse) = 0;
-
-    /**
-     * Queries supportting of ScrollLatinPredictive feature
-     *
-     * @since 2.6
-     * @return ETrue if ScrollLatinPredictive was supported
-     */
-    virtual TBool IsAbleScrollLatinPredictive() const = 0;
-
-    virtual TBool IsOnlyNumericPermitted() const = 0;
-    
-    virtual TInt EditorNumericKeymap() const = 0;
-
-    /**
-     * Queries supportting of SecretText
-     *
-     * @since 2.6
-     * @return ETrue if SecretText was supported
-     */
-    virtual TBool IsSupportsSecretText() const = 0;
-    
-
-	/**
-	* Returns current input mode.
-	*
-	* @since 3.0
-	* @return Integer value indicating current editor input mode.
-    */
-    virtual TInt InputMode() const = 0;
-    
-	/**
-	* Returns current CangJie input mode.
-	*
-	* @since 3.0
-	* @return Integer value indicating current CangJie input mode.
-    */    
-    virtual TInt CangJieMode() const = 0;
-    
- 	/**
-    * Returns boolean value indicating whether edit submenu functionality is in use.    
-    *  
-    * @since 3.1
-    * @return  ETrue if edit submenu functionality is in use.
-    *          EFalse otherwise.
-    */        
-    virtual TBool EditSubmenuInUse() const = 0;   
-    
-    /**
-     * Launches the mode selection menu
-     *
-     * @since 3.1
-     */
-    virtual void LaunchSelectModeMenuL() = 0;                  
-
-    /**
-     * @since 3.2
-     */
-    virtual void SetCursorSelectionL(const TCursorSelection& aCurSel, TBool aSyncCursor) = 0;    
-    
-   /**                
-    * Returns the status of arabic-indic digit mode setting.
-    *
-    * @since 3.0
-    */
-    virtual TBool ArabicIndicDigitsInUse() const = 0;        
-    virtual TBool EasternArabicIndicDigitsInUse() const = 0;
-#ifndef RD_INTELLIGENT_TEXT_INPUT
-   
-   /**                
-    * Returns the status of auto word completion in the editor.
-    *
-    * @since 5.0
-    */
-    virtual TBool IsAutoCompleteOn() const = 0;
-    
-   /**                
-    * Removes the suggested completion part
-    *
-    * @since 5.0
-    */
-    virtual void RemoveSuggestedCompletionL() = 0;
-#endif	// RD_INTELLIGENT_TEXT_INPUT
-    /**
-     * Set current long clear key press
-     *
-     * @since 3.2
-     */    
-    virtual void SetLongClearAfterCloseUI(TBool aLongClear) = 0;
-
-	/**
-	 * Align the Logical and Visual cursor positions.
-	 *
-     * @since 3.2
-     * @param aType Cursor type.
-     * @param aToLeft ETrue if the position to the left is to be found,
-     *			 	  EFalse if the position to the right is to be found.
-     * @return None
-	 */
-	virtual void AlignLogicalAndVisualCursorL( TTmDocPosSpec::TType aType, 
-											TBool aToLeft ) = 0;
-	
-	/**
-	 * This method is called for removing the Repha character. The function 
-	 * goes to the start of the consonant or ligature, checks if repha 
-	 * character is present.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return None.
-	 */							
-	virtual void RemoveRephaCharacterL() = 0;
-	
-	/**
-	 * Checks if the Repha character has been attached to the consonant or 
-	 * ligature.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return ETrue if present else EFalse.
-	 */	
-	virtual TBool IsRephaPresent() = 0;
-	
-	/**
-	 * Retrieve the Previous to previous character during multitapping.
-	 *
-	 * @since 3.2
-	 * @param aContextSensitive EFalse is the default parameter.
-	 *						    ETrue is used for requesting the function
-	 *						    to check for extraction of the character
-	 *						    two positions before the seleted text.
-	 *
-	 * @return The previous to previous character if any.
-	 */
-	virtual TText PreviousToPreviousChar( TBool aContextSensitive = EFalse ) = 0;
-
-	 /**
-	 * This method is called for removing the Rakar character. The function 
-	 * checks if Rakar (Virama+Ra)  is present.
-	 *
-	 * @since 3.2
-	 * @param None.
-	 * @return None.
-	 */
-	virtual void RemoveRakarCharacterL() = 0;
-	
-	/**
-     * Returns the free space left in the Editor.
-     *
-     * @param aUnlimit.	Set to EFalse in case of Editors with limited text 
-	 *				  	size
-	 *		  isToCountUncommittedTextLength. Pass ETrue if the lenght of
-	 *					Uncommitted text is to be counted.
-	 *
-	 * @return TInt. Free space left in the Editor.
-     */
-    virtual TInt EditorFreeSpace(TBool& aUnlimit, 
-                    TBool isToCountUncommittedTextLength = EFalse ) const = 0;
-#ifdef RD_INTELLIGENT_TEXT_INPUT                        
-	/**
-     * Returns the free space left in the Editor. ITI specific implementation
-     *
-     * @param aUnlimit.	Set to EFalse in case of Editors with limited text 
-	 *				  	size
-	 *		  isToCountUncommittedTextLength. Pass ETrue if the lenght of
-	 *					Uncommitted text is to be counted.
-	 *
-	 * @return TInt. Free space left in the Editor.
-     */
-	virtual TInt EditorFreeSpaceForAutoWordCompletion(TBool& aUnlimit, 
-                     TBool isToCountUncommittedTextLength = EFalse ) const = 0;
-#endif	
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT   
-    /**
-    * Gives the amount of characters in the document.
-    * @return   The number of characters in the active editor.
-    */
-    virtual TInt DocumentLength() const = 0;
-
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif //__ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-    /**
-     * from MAknFepManagerUIInterface
-     * query whether the special char is valid in the current editor
-     *
-     * @since 3.2
-     * @param aChar Checking a chracter
-     * @return TBool. IF ETrue, the character is valid.
-     */
-    virtual TBool CharIsValidInEditor(TChar aChar) = 0;
-
-   /**
-    * Returns the status of predictive input.
-    *
-    * @since 3.2
-     * @return TBool. IF ETrue, it is possible to change prediction ON.
-    */
-    virtual TBool IsAbleToChangePrediction() const = 0;
-
-    /**
-	 * This method is called for removing the N characters from the 
-	 * specified position. If the text to be removed is not yet
-	 * committed, it is updated with NULL descriptor and committed.
-	 *
-	 * @since 5.0
-	 * @param TInt aPos position to start searching from. By default
-	 *              Searching will start from the cursor position.
-	 * @param TInt aNumOfCharacters Number of characters to remove.
-	 * @param TBool Should cursor be positioned at the original location.
-	 * @return None.
-	 */
-    virtual void RemoveTextFromEditorL( TInt aNumOfCharacters, TInt aPos = 0, 
-                                        TBool aIsToAlignCursor = ETrue ) = 0;
-
-   	/**
-	 * Align the Logical and Visual cursor positions.
-	 *
-     * @since 5.0
-     * @param None
-     * @return None
-	 */
-	virtual void AlignLogicalAndVisualCursorL() = 0;
-
-#ifdef RD_MARATHI
-	/**
-	 * This function checks if the previous two characters are
-	 * the combination of Chandra-A
-	 *
-	 * @since 5.0
-	 * @param None
-	 * @return TBool.
-	 */
-	virtual TBool IsChandraAPresentL() = 0;
-#endif // RD_MARATHI
-
-    /**
-    * Returns boolean value indicating whether hash key is in selection mode or
-    * in traditional mode.
-    *
-    * @since 3.1
-    * @return  ETrue if hash key is in text selection mode.
-    *          EFalse otherwise.
-    */
-    virtual TBool HashKeySelectionInUse() const = 0;
-    
-    /**
-    * Returns the UI interface implementation used in the current app.
-    *
-    * @since 3.2
-    * @return  The UI interface object used in the current app.
-    */
-    virtual CAknFepUIInterface* UiInterface() = 0;
-    
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-
-    // Predictive QWERTY (XT9) changes ---->
-        /**
-     * Function to get the text direction for current language.
-     * @return ETrue if language id RTL, EFalse if it is not
-     */
-    virtual TBool IsRightToLeftLanguage() = 0;
-    
-    /**
-    * @return   ETrue   If the auto completion is On. EFalse otherwise.
-    */
-    virtual TBool IsAutoCompleteOn() const = 0;
-    
-    /**
-    * @return	TInt 	Typing correction level.
-    */
-    virtual TInt AdvancedPredictiveTypingCorrectionLevel() const = 0;
-    
-    /**
-    * @return   ETrue   If the number candidate shown. EFalse otherwise.
-    */
-    virtual TBool IsAdvancedPredictiveNumberCandidateShown() const = 0;
-    
-    /**
-    * Cuts off the automatically completed tail of the suggested word candidate.
-    */
-    virtual void RemoveSuggestedAdvanceCompletionL() = 0;
-    
-     /**
-    * @return   ETrue   If the primary candidate is suggested. EFalse otherwise.
-    */
-    virtual TBool AdvancedPredictivePrimaryCandidate() const = 0;
-
-    /**
-    * @Set the chr composition flag.
-    */
-    virtual void SetComposChrFlag( TBool aFlag ) = 0;
-    
-    /**
-    * @return   ETrue   If it is chr composition key
-    */
-    virtual TBool GetComposChrFlag() = 0;
-    
-    // Predictive QWERTY (XT9) changs <----
-#endif //RD_INTELLIGENT_TEXT_INPUT
-    /**
-    * Returns plugin ui manager
-    *
-    * @since 3.2
-    * @return  The UI interface object used in the current app.
-    */
-    virtual CAknFepPluginManager* PluginUIManager() = 0;    
-#ifdef RD_HINDI_PHONETIC_INPUT
-    //hindi_phonetic_fixes
-   	/*
-    * This functions toggles the case from upper to lower
-    * @since 5.0
-    * @param None
-    * @return  void
-    */
-    virtual void HandleIndicCaseL()=0;
-#endif    
-
-    // the follow 2 functions for phrase creation
-    virtual MZhuyinKeyHandler* ZhuyinKeyHandler() = 0;
-    virtual CAknFepZhuyinAnalyser* ZhuyinAnalyser() = 0;
-
-#ifdef __ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT
-    /**
-    * @return   ETrue   If the number entry with long key press is supported on QWERTY keyboard.
-    */
-    virtual TBool LongPressNumberEntryOnQwerty() const = 0;
-#endif //RD_INTELLIGENT_TEXT_INPUT
-#endif //__ITI_LONGPRESS_NUM_SHIFT_COPYPASTE__
-#ifdef RD_INTELLIGENT_TEXT_INPUT    
-    virtual void MultitapThroughSCTCharL(TCallBack aCallBack) = 0;
-    virtual TBool IsLanguageSupportPrediction() = 0;           
-    virtual TInt GetNumericSCTResID() = 0;
-    /**
-    * Hides the exact word pop up window.
-    */ 
-    virtual void HideExactWordPopUp() = 0;
-    /**
-    * @return   ETrue   If the exact word pop up is shown.
-    */
-    virtual TBool IsExactWordPopUpShown() = 0;
-#endif //RD_INTELLIGENT_TEXT_INPUT   
-	virtual CAknExtendedInputCapabilities::TEditorType EditorType() const = 0;
-	virtual TBool IsAllowedKeymappingForNumberMode(TChar aChar) const = 0;
-    };
-#endif      // __AKN_FEP_MANAGER_UI_INTERFACE_H__
-
-// End of file