/** Copyright (c) 2002-2005 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: Pen input related enums**/#ifndef C_AKNFEPZHUYINANALYSERDB_H#define C_AKNFEPZHUYINANALYSERDB_H#include <e32base.h>enum TPinyinAnalyserDbType { EPinyinAnalyserTypePinyin, EPinyinAnalyserTypeZhuyin };enum TSpellType{ ESpellVowel, ESpellConsonant, ESpellSpecialConsonnant};const TUint16 KProgramSeparator = 0x002e;/** * Composition no chars ui state * It provides key event handling and internal event handling in composition no chars state * * @lib peninputvkbcn.lib * @since S60 v3.2 */class CZhuyinAnalyserDbFeed : public CBase {public: /** * Two-phased constructor. * * @since S60 v3.2 * @param aUiStateMgr The vkb ui state manager * @param aContext The vkb layout context * @return The pointer point to CAknFepVkbPinyinAnalyser type object */ static CZhuyinAnalyserDbFeed* NewL( TPinyinAnalyserDbType aType ); /** * Destructor. * * @since S60 v3.2 */ virtual ~CZhuyinAnalyserDbFeed(); /** * Get the Number of whole spell set. * * @since S60 V4.0 */ TInt GetSpellCount() const; /** * Get the Number of whole spell set. * * @since S60 V4.0 * @param The index for the spell. */ const TPtrC GetSpellByIndex( TInt aIndex ) const; /** * Get the Number of spell elements. * * @since S60 V4.0 */ TInt GetSpellElementCount() const; /** * Get the unicode number for spell element index. * * @since S60 V4.0 * @param The index for the spell element. */ TUint16 GetSpellElementByIndex( TInt aIndex ) const; TBool IsNormalElement( TUint16 aCode ) const; TSpellType GetSpellElementType( TUint16 aCode ) const; TBool IsFirstElement( TUint16 aCode ) const; TBool IsToneMark( TUint16 aCodeFirst, TUint16 aCodeSecond );private: CZhuyinAnalyserDbFeed(); void ConstructL( TPinyinAnalyserDbType aType );private: TPtrC iSpellBuf; TPtrC iSpellLenBuf; TUint16 iSpellElemBase; TUint16 iSpellElemLen; TPtrC iSpellTypeBuf; TPtrC iNoFirstElements; };#include "AknFepZhuyinAnalyserDb.inl"#endif //C_AKNFEPZHUYINANALYSERDB_H