williamr@4: /* williamr@4: * Copyright (c) 2005,2006 Choe Hwanjin williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of the License "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: williamr@4: * williamr@4: */ williamr@4: williamr@4: williamr@4: #ifndef OSSHANGULINPUTCONTEXT_H williamr@4: #define OSSHANGULINPUTCONTEXT_H williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: #include williamr@4: williamr@4: typedef struct _HangulInputContext HangulInputContext; williamr@4: williamr@4: class COssKeyboard; williamr@4: class COssCombination; williamr@4: williamr@4: class COssHangulInputContext : public CBase williamr@4: { williamr@4: public: williamr@4: williamr@4: IMPORT_C static COssHangulInputContext* NewLC(const TDesC8& aKeyboardType); williamr@4: williamr@4: IMPORT_C static COssHangulInputContext* NewL(const TDesC8& aKeyboardType); williamr@4: williamr@4: IMPORT_C virtual ~COssHangulInputContext(); williamr@4: williamr@4: private: williamr@4: williamr@4: COssHangulInputContext(); williamr@4: williamr@4: void ConstructL(const TDesC8& aKeyboardType); williamr@4: williamr@4: public: williamr@4: williamr@4: IMPORT_C TBool Process(const TChar& aAscII); williamr@4: williamr@4: IMPORT_C void Reset(); williamr@4: williamr@4: IMPORT_C TBool BackSpace(); williamr@4: williamr@4: IMPORT_C TBool IsEmpty(); williamr@4: williamr@4: IMPORT_C TBool HasChoseong(); williamr@4: williamr@4: IMPORT_C TBool HasJungseong(); williamr@4: williamr@4: IMPORT_C TBool HasJongseong(); williamr@4: williamr@4: IMPORT_C void SetOutputMode(const TInt& aMode); williamr@4: williamr@4: IMPORT_C void SetKeyboard(const COssKeyboard& aOssKeyboard); williamr@4: williamr@4: IMPORT_C void SelectKeyboard(const TDesC8& aId); williamr@4: williamr@4: IMPORT_C void SetCombinationL(COssCombination& aOssCombination); williamr@4: williamr@4: IMPORT_C void AddEventObserver(MOssHangulInputEventObserver* aObserver); williamr@4: williamr@4: IMPORT_C void RemoveEventObserver(MOssHangulInputEventObserver* aObserver); williamr@4: williamr@4: IMPORT_C TPtrC GetPreeditString(); williamr@4: williamr@4: IMPORT_C TPtrC GetCommitString(); williamr@4: williamr@4: IMPORT_C TPtrC Flush(); williamr@4: williamr@4: public: williamr@4: williamr@4: TBool OnTranslate(const TChar& aAscII,const TDesC& aUcsStr); williamr@4: williamr@4: TBool OnTransition(const TChar& aChar,const TDesC& aPreEdit); williamr@4: williamr@4: private: williamr@4: williamr@4: HBufC8* iKeyboardType; williamr@4: williamr@4: HangulInputContext* iHic; williamr@4: williamr@4: RPointerArray iObservers; williamr@4: williamr@4: }; williamr@4: williamr@4: #endif // OSSHANGULINPUTCONTEXT_H