textinput/ptikoreanqwertycore/inc/PtiKoreanQwertyCore.h
branchRCL_3
changeset 10 6defe5d1bd39
parent 8 6ceef9a83b1a
child 12 4eb1ae11334f
--- a/textinput/ptikoreanqwertycore/inc/PtiKoreanQwertyCore.h	Mon Mar 15 12:42:02 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,401 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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:
-*
-*/
-
-
-#ifndef __PTIKOREANQWERTYCORE_H__
-#define __PTIKOREANQWERTYCORE_H__
-
-#include <e32base.h>	// CBase
-#include <e32std.h>	 // TBuf
-
-#include <PtiCore.h>
-#include <osscombination.h>
-
-class COssHangulInputContext;
-class CRepository;
-class CActiveCallback;
-
-class CPtiKoreanQwertyCore : public CPtiCore
-    {
-public:
-    static CPtiKoreanQwertyCore* NewLC(
-        CPtiEngine* aOwner, 
-        TDes* aTextBuffer);
-    
-    static CPtiKoreanQwertyCore* NewL(
-        CPtiEngine* aOwner, 
-        TDes* aTextBuffer);
-    
-    virtual ~CPtiKoreanQwertyCore();
-
-private:
-    
-    CPtiKoreanQwertyCore(
-        CPtiEngine* aOwner, 
-        TDes* aTextBuffer);
-    
-    void ConstructL();
-    
-private: // from CPtiCore
-
-    /**
-    * Initialized core object. This method is called by PtiEngine framework when core object
-    * is loaded.        
-    *
-    * @since 2.6
-    * @param aOwner Pointer to onwing PtiEngine framework instance.
-    * @param aTextBuffer A pointer to PtiEngine main text buffer.
-    * @param aLanguageList A language list to be filled with language bindings to this core
-    *                      onbject
-    * @param aUseDefautUserDictionary A boolean value indicating whether default user dictionary shoulkd be used
-    *                                 (in case this core object supports user dictionaries).
-    */  
-    virtual void InitializeL(
-        CPtiEngine* aOwner, 
-        TDes* aTextBuffer, 
-        CArrayPtrFlat<CPtiCoreLanguage>* aLanguageList,
-        TBool aUseDefautUserDictionary);
-    
-    /**
-    * Removes languages associated to this core object from given language list. Languages
-    * not associated to this core abject are not touched.
-    * 
-    * @since 2.6
-    * @param aLanguageList A language list to be cleaned.
-    */
-    virtual void DropLanguages(CArrayPtrFlat<CPtiCoreLanguage>* aLanguageList);
-    
-    /**
-    * Opens resources for given language and itinialized them.
-    *
-    * @since 2.6
-    * @param aLanguage Symbian OS language code a language to be initialized.
-    * @return KErrNone or a system wide error code.
-    */
-    virtual TInt OpenLanguageL(CPtiCoreLanguage *aLanguage);
-    
-    /**
-    * Closes currently activate language and frees resources associated to it.
-    *
-    * @since 2.6
-    * @return KErrNone of system wide error ocde.
-    */
-    virtual TInt CloseLanguageL();
-    
-    /**
-    * Returns the contents of text buffer.
-    * 
-    * @since 2.6
-    * @return A constant pointer to text buffer.
-    */  
-    virtual TPtrC GetCurrentWord() const;
-    
-    /**
-    * Commits current word. Commiting means that user has added current
-    * word as part of text. Frequency information and other related attributes
-    * can then be updated.
-    *
-    * @since 2.6
-    * @return KErrNone or a system wide error code.
-    */
-    virtual TInt CommitCurrentWord();       
-    
-    /**
-    * Returns a pointer core info structure. Core info struct contains useful 
-    * information about core object and its features.
-    *
-    */              
-    virtual MPtiCoreInfo* GetCoreInfo();
-            
-    /**
-    * Turns reoreding feature on or off. Reordering means that prediction engine
-    * maintains frequency information for used words and modifys the order of candidate list
-    * based on that information. This feature may not be supported by all prediction engines.
-    * 
-    * @since 2.6
-    * @param aStatus New status for reorderinf feature.
-    * @return KErrNone or a system wide error code.
-    */
-    virtual TInt SetReordering(TBool aStatus);
-    
-    /**
-    * This is the single most important core API method, most of the text input functionality
-    * will be utilize this method. Call to this method indicates core object that a key was
-    * pressed and it should act accordingly and fill the output buffer.
-    * 
-    * @since 2.6
-    * @param aKey Enum value for pressed key.
-    */
-    virtual void AppendKeyPress(TPtiKey aKey);
-    
-    /**
-    * Indicates core object that it should perform 'delete key press'-operation.
-    *
-    * @since 2.6
-    */
-    virtual void DeleteKeyPress();
-    
-    /**
-    * Call to this method notifys core object that input buffer was cleared.
-    *
-    * @since 2.6
-    */
-    virtual void ClearBuffer();
-    
-    /**
-    * Sets current input sequence. The end result of this operation must be same as 
-    * if user had entered keys in input array as individual key presses.
-    *
-    * @since 2.6
-    * @param aInput An array containing sequence of key presses (type TPtiKey).
-    * @return KErrNone or a system wide error code.
-    */
-    virtual TInt SetCurrentInputSequence(TPtrC8 aInput);
-    
-    /**
-    * Converts given string from one character set to another. Possible conversion types
-    * are defined in PtiDefs.h
-    *
-    * @since 2.6
-    * @param aType        Conversion type.
-    * @param aInput       Pointer to input string to be converted.
-    * @param aInputLength Length of input buffer.
-    * @param aOutput      pointer to output buffer.
-    * @return KErrNone or a system wide error code.
-    */
-    virtual TInt Convert(
-        TPtiCharConversion aType,
-        TAny* aInput,
-        TInt aInputLength,
-        TAny* aOutput);
-
-    /**
-    * Re-defines keymappings for given key / input mode / case combination. Previous 
-    * keymapping will be deleted and new mappings will be used instead.
-    *
-    * @since 2.6
-    * @param aMode Input mode for new key mapping.
-    * @param aKey  A key to be replaced.
-    * @param aKeyMap New keymapping data for aKey.
-    * @param aCase   Text case to be replaced.
-    * @return KErrNone or system wide error code.
-    */
-    virtual TInt SetExternalKeyMapL(
-        TPtiEngineInputMode aMode,
-        TPtiKey aKey,
-        TDesC& aKeyMap,
-        TPtiTextCase aCase);
-    /**
-    * Returns alternate spelling for given unicode characters. Possible conversion
-    * types are defined in header PtiDefs.h.
-    *                                       
-    * @sinec 2.6
-    * @aInput A character to be converted.
-    * @aOutput Resulting alternate spelling will be stored here.
-    * @aType   Spelling conversion type.
-    * @return  KErrNone or system wide error code.
-    */                              
-    virtual TInt GetSpelling(TUint16 aInput, TDes& aOutput, TPtiSpelling aType);
-    
-    /**
-    * Cancels all on-going core obejct timner activity.
-    *
-    * @since 2.6
-    * @return KErrNone or system wide error code.
-    */
-    virtual TInt CancelTimerActivity();
-    
-    /**
-    * A generic command handling method for extending PtiEngine API without adding
-    * new base class methods. It is recommended to use this only in force major
-    * situations, where there is no other way.
-    * 
-    * @since 2.6
-    * @param aCommand A Command id value. Platform wide command ids are defined in PtiDefs.h.
-    * @param aParams  TAny pointer for passing any required parameters.
-    * @return An integer containing possible return value related to command.
-    */
-    virtual TInt HandleCommandL(
-        TPtiEngineCommand aCommand, 
-        TAny* aParams);
-
-//
-// Predictive latin API
-//  
-private:    
-    /**
-    * Returns number of candidates for currently entered key sequence.
-    *
-    * @since 2.6
-    * @return Number of prediction candidates for currently entered key sequence.
-    */
-    virtual TInt NumberOfCandidates();
-    
-    /**     
-    * Returns a list of candidate words for currently entered key sequence.
-    *
-    * @since 2.6
-    * @param aList A list to be filled with candidate words.
-    * @return Number of candidate works in aList.
-    */
-    virtual TInt GetCandidateListL(CDesCArray& aList);
-    
-    /**
-    * Returns next word candidate list. Next word candidates are words
-    * potentially related to currently selected candidate. Next word prediction
-    * feature must supported by the engine and turned on.
-    *
-    * @since 2.6
-    */
-    virtual TInt GetNextWordCandidateListL(CDesCArray& aList);
-    
-    /**
-    * Returns first word in list of candidate words for current input sequence.
-    * 
-    * @since 2.6
-    * @param aResult A descriptor where resulting word will be stored.
-    * @return KErrnNone or system wide error code.
-    */      
-    virtual TInt GetFirstCandidate(TDes& aResult);
-    
-    /**
-    * Returns next word in list of candidate words for current input sequence.
-    * 
-    * @since 2.6
-    * @param aResult A descriptor where resulting word will be stored.
-    * @return KErrnNone or system wide error code.
-    */                      
-    virtual TInt GetNextCandidate(TDes& aResult);
-    
-    /**
-    * Returns previous word in list of candidate words for current input sequence.
-    * 
-    * @since 2.6
-    * @param aResult A descriptor where resulting word will be stored.
-    * @return KErrnNone or system wide error code.
-    */                              
-    virtual TInt GetPreviousCandidate(TDes& aResult);
-
-//
-// User dictionary API
-//
-private:
-    virtual TInt AddUserDictionaryEntry(
-        MPtiUserDictionaryEntry& aEntry, 
-        CPtiUserDictionary* aDict);
-    
-    virtual TInt RemoveUserDictionaryEntry(
-        MPtiUserDictionaryEntry& aEntry, 
-        CPtiUserDictionary* aDict);
-    
-    virtual TInt NumberOfEntriesInUserDictionary(
-        CPtiUserDictionary* aDict);
-    
-    virtual TInt GetUserDictionaryEntry(
-        TInt aIndex, 
-        MPtiUserDictionaryEntry& aResult, 
-        CPtiUserDictionary* aDict);
-    
-    virtual CPtiUserDictionary* CreateEmptyUserDictionaryL(TInt aMaxSize);
-    
-    virtual TInt AttachUserDictionary(CPtiUserDictionary* aDict);
-    
-    virtual TBool DetachUserDictionary(CPtiUserDictionary* aDict);      
-
-//
-// Chinese API
-//
-private:
-    
-    virtual TPtrC GetCandidatePage();
-    
-    virtual TBool NextCandidatePage();
-    
-    virtual TBool PreviousCandidatePage();
-    
-    virtual TBool MoreCandidatePages();
-    
-    virtual void SetCandidatePageLength(TInt aLength);
-    
-    virtual TPtrC GetPhoneticSpelling(TInt aIndex) const; 
-    
-    virtual TInt PhoneticSpellingCount() const; 
-    
-    virtual TBool SelectPhoneticSpelling(TInt aIndex);
-    
-    virtual TInt SelectedPhoneticSpelling() const; 
-    
-    virtual TBool ToneMark(TText& aToneMark) const;
-    
-    virtual TBool IsToneMarkValidForSpelling();
-    
-    virtual TBool SetPredictiveChineseChar(const TDesC& aChar);
-    
-    virtual TBool SetToneMark(TInt aToneMark);
-
-
-//
-// Japanese API
-//
-private:
-    
-    virtual TPtrC ReadingTextL();
-    
-    virtual MPtiEngineCompositionDataInterface* CompositionData();
-
-//
-// Chinese API
-//
-private:
-    
-    virtual HBufC* GetCandidatesByInputString(
-        const TDesC& aInputString, 
-        RPointerArray<HBufC>& aList, 
-        const TBool aIsPredictive);
-    
-    void UpdateFromRepositoryL();
-    
-    void UpdateDblConsonentL(
-        const TInt& aCenRepId,
-        const TOssCombinationItem& aCombination);
-    
-public:
-    
-    static TInt CBSettingChanged(void* aSelf);
-    
-private:
-    
-    CPtiEngine* iOwner;
-    
-    TDes* iTextBuffer;
-    
-    TBool iKoreanLanOpen;
-    
-    COssHangulInputContext* iHic;
-    
-    COssCombination* iCombination;
-    
-    TBool iLowerCase;
-    
-    CRepository* iRepository;
-    
-    CActiveCallback* iCRNotifier;
-    
-    };
-
-#endif  // __PTIKOREANQWERTYCORE_H__
-