--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/inc/aknfepuiinputstateinitialindicphoneticmultitap.h Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,140 @@
+/*
+* 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 TAknFepInputStateInitialIndicPhoneticMultitap definition.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+#ifndef __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_PHONETIC_MULTITAP_H__
+#define __AKN_FEP_UI_INPUT_STATE_INIT_INDIC_PHONETIC_MULTITAP_H__
+
+#include "AknFepUIInputStateInitialMultitapBase.h"
+/**
+* This class handles the multitap input for Indic languages.
+* @lib avkonfep.dll
+* @since Series 60 3.1
+*/
+class TAknFepInputStateInitialIndicPhoneticMultitap : public TAknFepInputStateInitialMultitapBase
+ {
+public:
+ /**
+ *
+ * Constructor for TAknFepInputStateInitialIndicPhoneticMultitap.
+ * @since 5.0
+ * @return
+ */
+ TAknFepInputStateInitialIndicPhoneticMultitap(MAknFepUIManagerStateInterface* aOwner,
+ TInt aLanguage);
+public: //from TAknFepInputStateBase
+ /**
+ *
+ * Returns the virama character depending on the input language.
+ * @since 5.0
+ * @return Etrue if the Key is handled.
+ */
+
+ TBool HandleKeyL(TInt aKey, TKeyPressLength aLength);
+#ifdef RD_HINDI_PHONETIC_INPUT
+ /**
+ *
+ * Populates iPhoneticLatinChar to aChar.
+ * @since 5.0
+ * @return None.
+ */
+ virtual void GetPhoneticLatinChar(TChar& aChar)const;
+#endif
+
+public: //from MptiObserver
+ /**
+ *
+ * Gets called when PTI Engine's timer expires.
+ * @since 5.0
+ * @return
+ */
+ void KeyTimerExpired();
+ /**
+ * Transliterate the current inputted character to language specific character
+ * of Halant.
+ * @since 5.0
+ * @param Null
+ * @return Null
+ */
+private:
+ void TransliterateFromLatinL();
+ /**
+ * Removes Halant added by Phonetic PtiENgine for North Indian Languages.
+ *
+ * @since 5.0
+ * @param aLanguage- Current Phonetic input language is passed to this function.
+ * Engine.
+ * @return Nothing
+ */
+ void RemoveHalantL(TLanguage aLanguage);
+
+ /**
+ * Checks wheather the current Phonetic Input Language follows North Indian style of editing. This is necessary for removal
+ * of Halant.
+ * @since 5.0
+ * @param aLanguage- Current Phonetic input language is passed to this function.
+ * Engine.
+ * @return Returns True if the current language comes under North Indian style of writting.
+ */
+ TBool IsToRemoveHalantForLanguage(TInt aLanguage);
+ /**
+ * Checks if the character has phonetic equivallent to be Transliterated
+ * of Halant.
+ * @since 5.0
+ * @param aChar character to be checked
+ * @return returns ETrue if the character can be transliterated
+ */
+ inline TBool IsToTransliterate(TChar& aChar);
+ /**
+ * Checks if the current transliterated character can be inputted as per the language rule, if not then Question mark is inputted
+ * of Halant.
+ * @since 5.0
+ * @param aChar character to be validated for inputting
+ * @return ETrue if the character is allowed
+ */
+ TBool ValidatePhoneticInputL(const TDes& aBuf, TLanguage aLanguage);
+ /**
+ * Checks if the current inputted character is a fallback rendered character
+ * of Halant.
+ * @since 5.0
+ * @param aChar Character to be checked
+ * @return ETrue is the character is a fallback rendered character
+ */
+ TBool IsInvalidPhoneticCharacter( TUint aChar, TLanguage aLanguage );
+ /**
+ * Handels the key timer expiry
+ * of Halant.
+ * @since 5.0
+ * @param Null
+ * @return Null
+ */
+ void HandleKeyTimerExpiryL();
+ };
+
+
+#endif //__AKN_FEP_UI_INPUT_STATE_INIT_INDIC_MULTITAP_H__
+
+// End of File