epoc32/include/mw/PtiCore.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies). 
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@4
     5
* under the terms of "Eclipse Public License v1.0""
williamr@2
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description:               Predective text input engine core interface.
williamr@2
    15
*
williamr@2
    16
*/
williamr@2
    17
williamr@2
    18
williamr@2
    19
williamr@2
    20
williamr@2
    21
williamr@2
    22
williamr@2
    23
williamr@2
    24
williamr@2
    25
williamr@2
    26
williamr@2
    27
williamr@2
    28
williamr@2
    29
williamr@2
    30
williamr@2
    31
#ifndef _PTI_CORE_H
williamr@2
    32
#define _PTI_CORE_H
williamr@2
    33
williamr@2
    34
// INCLUDES
williamr@2
    35
#include <badesca.h> 
williamr@2
    36
#include "PtiDefs.h"
williamr@2
    37
#include "PtiLanguage.h"
williamr@2
    38
#include "PtiUserDictionary.h"
williamr@2
    39
williamr@2
    40
// FORWARD DECLARATIONS
williamr@2
    41
class CPtiEngine;
williamr@2
    42
class MPtiEngineCompositionDataInterface;
williamr@2
    43
class MPtiUserDictionaryEntry;
williamr@2
    44
williamr@2
    45
// CONSTANTS
williamr@2
    46
const TInt KDefaultCoresGran = 3;
williamr@2
    47
williamr@2
    48
/**
williamr@2
    49
* This is abstract base class of all PtiEngine core objects. A PtiEngine core object implements set of
williamr@2
    50
* input modes and input related services for a set of languages. This class defines core side
williamr@2
    51
* PtiEngine API.
williamr@2
    52
*/
williamr@2
    53
class MPtiCore
williamr@2
    54
	{
williamr@2
    55
	//
williamr@2
    56
	// General API
williamr@2
    57
	//
williamr@2
    58
	public:
williamr@2
    59
		/**
williamr@2
    60
		* Initialized core object. This method is called by PtiEngine framework when core object
williamr@2
    61
		* is loaded.		
williamr@2
    62
		*
williamr@2
    63
		* @since 2.6
williamr@2
    64
		* @param aOwner Pointer to onwing PtiEngine framework instance.
williamr@2
    65
		* @param aTextBuffer A pointer to PtiEngine main text buffer.
williamr@2
    66
		* @param aLanguageList A language list to be filled with language bindings to this core
williamr@2
    67
		*                      onbject
williamr@2
    68
		* @param aUseDefautUserDictionary A boolean value indicating whether default user dictionary shoulkd be used
williamr@2
    69
		*                                 (in case this core object supports user dictionaries).
williamr@2
    70
		*/	
williamr@2
    71
		virtual void InitializeL(CPtiEngine* aOwner, TDes* aTextBuffer, CArrayPtrFlat<CPtiCoreLanguage>* aLanguageList, TBool aUseDefautUserDictionary) = 0;
williamr@2
    72
		
williamr@2
    73
		/**
williamr@2
    74
		* Removes languages associated to this core object from given language list. Languages
williamr@2
    75
		* not associated to this core abject are not touched.
williamr@2
    76
		* 
williamr@2
    77
		* @since 2.6
williamr@2
    78
		* @param aLanguageList A language list to be cleaned.
williamr@2
    79
		*/
williamr@2
    80
		virtual void DropLanguages(CArrayPtrFlat<CPtiCoreLanguage>* aLanguageList) = 0;
williamr@2
    81
		
williamr@2
    82
		/**
williamr@2
    83
		* Opens resources for given language and itinialized them.
williamr@2
    84
		*
williamr@2
    85
		* @since 2.6
williamr@2
    86
		* @param aLanguage Symbian OS language code a language to be initialized.
williamr@2
    87
		* @return KErrNone or a system wide error code.
williamr@2
    88
		*/
williamr@2
    89
		virtual TInt OpenLanguageL(CPtiCoreLanguage *aLanguage) = 0;
williamr@2
    90
		
williamr@2
    91
		/**
williamr@2
    92
		* Closes currently activate language and frees resources associated to it.
williamr@2
    93
		*
williamr@2
    94
		* @since 2.6
williamr@2
    95
		* @return KErrNone of system wide error ocde.
williamr@2
    96
		*/
williamr@2
    97
		virtual TInt CloseLanguageL() = 0;
williamr@2
    98
		
williamr@2
    99
		/**
williamr@2
   100
		* Returns the contents of text buffer.
williamr@2
   101
		* 
williamr@2
   102
		* @since 2.6
williamr@2
   103
		* @return A constant pointer to text buffer.
williamr@2
   104
		*/	
williamr@2
   105
		virtual TPtrC GetCurrentWord() const = 0;
williamr@2
   106
		
williamr@2
   107
		/**
williamr@2
   108
		* Commits current word. Commiting means that user has added current
williamr@2
   109
		* word as part of text. Frequency information and other related attributes
williamr@2
   110
		* can then be updated.
williamr@2
   111
		*
williamr@2
   112
		* @since 2.6
williamr@2
   113
		* @return KErrNone or a system wide error code.
williamr@2
   114
		*/
williamr@2
   115
		virtual TInt CommitCurrentWord() = 0;		
williamr@2
   116
		
williamr@2
   117
		/**
williamr@2
   118
		* Returns a pointer core info structure. Core info struct contains useful 
williamr@2
   119
		* information about core object and its features.
williamr@2
   120
		*
williamr@2
   121
		*/				
williamr@2
   122
		virtual MPtiCoreInfo* GetCoreInfo() = 0;
williamr@2
   123
				
williamr@2
   124
		/**
williamr@2
   125
		* Turns reoreding feature on or off. Reordering means that prediction engine
williamr@2
   126
		* maintains frequency information for used words and modifys the order of candidate list
williamr@2
   127
		* based on that information. This feature may not be supported by all prediction engines.
williamr@2
   128
		* 
williamr@2
   129
		* @since 2.6
williamr@2
   130
		* @param aStatus New status for reorderinf feature.
williamr@2
   131
		* @return KErrNone or a system wide error code.
williamr@2
   132
		*/
williamr@2
   133
		virtual TInt SetReordering(TBool aStatus) = 0;
williamr@2
   134
		
williamr@2
   135
		/**
williamr@2
   136
		* This is the single most important core API method, most of the text input functionality
williamr@2
   137
		* will be utilize this method. Call to this method indicates core object that a key was
williamr@2
   138
		* pressed and it should act accordingly and fill the output buffer.
williamr@2
   139
		* 
williamr@2
   140
		* @since 2.6
williamr@2
   141
		* @param aKey Enum value for pressed key.
williamr@2
   142
		*/
williamr@2
   143
		virtual void AppendKeyPress(TPtiKey aKey) = 0;
williamr@2
   144
		
williamr@2
   145
		/**
williamr@2
   146
		* Indicates core object that it should perform 'delete key press'-operation.
williamr@2
   147
		*
williamr@2
   148
		* @since 2.6
williamr@2
   149
		*/
williamr@2
   150
		virtual void DeleteKeyPress() = 0;
williamr@2
   151
		
williamr@2
   152
		/**
williamr@2
   153
		* Call to this method notifys core object that input buffer was cleared.
williamr@2
   154
		*
williamr@2
   155
		* @since 2.6
williamr@2
   156
		*/
williamr@2
   157
		virtual void ClearBuffer() = 0;
williamr@2
   158
		
williamr@2
   159
		/**
williamr@2
   160
		* Sets current input sequence. The end result of this operation must be same as 
williamr@2
   161
		* if user had entered keys in input array as individual key presses.
williamr@2
   162
		*
williamr@2
   163
		* @since 2.6
williamr@2
   164
		* @param aInput An array containing sequence of key presses (type TPtiKey).
williamr@2
   165
		* @return KErrNone or a system wide error code.
williamr@2
   166
		*/
williamr@2
   167
		virtual TInt SetCurrentInputSequence(TPtrC8 aInput) = 0;
williamr@2
   168
		
williamr@2
   169
		/**
williamr@2
   170
		* Converts given string from one character set to another. Possible conversion types
williamr@2
   171
		* are defined in PtiDefs.h
williamr@2
   172
		*
williamr@2
   173
		* @since 2.6
williamr@2
   174
		* @param aType        Conversion type.
williamr@2
   175
		* @param aInput       Pointer to input string to be converted.
williamr@2
   176
		* @param aInputLength Length of input buffer.
williamr@2
   177
		* @param aOutput      pointer to output buffer.
williamr@2
   178
		* @return KErrNone or a system wide error code.
williamr@2
   179
		*/
williamr@2
   180
		virtual TInt Convert(TPtiCharConversion aType,
williamr@2
   181
							 TAny* aInput,
williamr@2
   182
							 TInt aInputLength,
williamr@2
   183
							 TAny* aOutput) = 0;
williamr@2
   184
williamr@2
   185
		/**
williamr@2
   186
		* Re-defines keymappings for given key / input mode / case combination. Previous 
williamr@2
   187
		* keymapping will be deleted and new mappings will be used instead.
williamr@2
   188
		*
williamr@2
   189
		* @since 2.6
williamr@2
   190
		* @param aMode Input mode for new key mapping.
williamr@2
   191
		* @param aKey  A key to be replaced.
williamr@2
   192
		* @param aKeyMap New keymapping data for aKey.
williamr@2
   193
		* @param aCase   Text case to be replaced.
williamr@2
   194
		* @return KErrNone or system wide error code.
williamr@2
   195
		*/
williamr@2
   196
		virtual TInt SetExternalKeyMapL(TPtiEngineInputMode aMode,
williamr@2
   197
			                            TPtiKey aKey,
williamr@2
   198
									    TDesC& aKeyMap,
williamr@2
   199
										TPtiTextCase aCase) = 0;
williamr@2
   200
		/**
williamr@2
   201
		* Returns alternate spelling for given unicode characters. Possible conversion
williamr@2
   202
		* types are defined in header PtiDefs.h.
williamr@2
   203
		*										
williamr@2
   204
		* @sinec 2.6
williamr@2
   205
		* @aInput A character to be converted.
williamr@2
   206
		* @aOutput Resulting alternate spelling will be stored here.
williamr@2
   207
		* @aType   Spelling conversion type.
williamr@2
   208
		* @return  KErrNone or system wide error code.
williamr@2
   209
		*/								
williamr@2
   210
		virtual TInt GetSpelling(TUint16 aInput, TDes& aOutput, TPtiSpelling aType) = 0;
williamr@2
   211
		
williamr@2
   212
		/**
williamr@2
   213
		* Cancels all on-going core obejct timner activity.
williamr@2
   214
		*
williamr@2
   215
		* @since 2.6
williamr@2
   216
		* @return KErrNone or system wide error code.
williamr@2
   217
		*/
williamr@2
   218
		virtual TInt CancelTimerActivity() = 0;
williamr@2
   219
		
williamr@2
   220
		/**
williamr@2
   221
		* A generic command handling method for extending PtiEngine API without adding
williamr@2
   222
		* new base class methods. It is recommended to use this only in force major
williamr@2
   223
		* situations, where there is no other way.
williamr@2
   224
		* 
williamr@2
   225
		* @since 2.6
williamr@2
   226
		* @param aCommand A Command id value. Platform wide command ids are defined in PtiDefs.h.
williamr@2
   227
		* @param aParams  TAny pointer for passing any required parameters.
williamr@2
   228
		* @return An integer containing possible return value related to command.
williamr@2
   229
		*/
williamr@2
   230
		virtual TInt HandleCommandL(TPtiEngineCommand aCommand, TAny* aParams) = 0;
williamr@2
   231
williamr@2
   232
	//
williamr@2
   233
	// Predictive latin API
williamr@2
   234
	//  
williamr@2
   235
	public:    
williamr@2
   236
	    /**
williamr@2
   237
	    * Returns number of candidates for currently entered key sequence.
williamr@2
   238
	    *
williamr@2
   239
	    * @since 2.6
williamr@2
   240
	    * @return Number of prediction candidates for currently entered key sequence.
williamr@2
   241
	    */
williamr@2
   242
		virtual TInt NumberOfCandidates() = 0;
williamr@2
   243
		
williamr@2
   244
		/**		
williamr@2
   245
		* Returns a list of candidate words for currently entered key sequence.
williamr@2
   246
		*
williamr@2
   247
		* @since 2.6
williamr@2
   248
		* @param aList A list to be filled with candidate words.
williamr@2
   249
		* @return Number of candidate works in aList.
williamr@2
   250
		*/
williamr@2
   251
		virtual TInt GetCandidateListL(CDesCArray& aList) = 0;
williamr@2
   252
		
williamr@2
   253
		/**
williamr@2
   254
		* Returns next word candidate list. Next word candidates are words
williamr@2
   255
		* potentially related to currently selected candidate. Next word prediction
williamr@2
   256
		* feature must supported by the engine and turned on.
williamr@2
   257
		*
williamr@2
   258
		* @since 2.6
williamr@2
   259
		*/
williamr@2
   260
		virtual TInt GetNextWordCandidateListL(CDesCArray& aList) = 0;
williamr@2
   261
		
williamr@2
   262
		/**
williamr@2
   263
		* Returns first word in list of candidate words for current input sequence.
williamr@2
   264
		* 
williamr@2
   265
		* @since 2.6
williamr@2
   266
		* @param aResult A descriptor where resulting word will be stored.
williamr@2
   267
		* @return KErrnNone or system wide error code.
williamr@2
   268
		*/		
williamr@2
   269
		virtual TInt GetFirstCandidate(TDes& aResult) = 0;
williamr@2
   270
		
williamr@2
   271
		/**
williamr@2
   272
		* Returns next word in list of candidate words for current input sequence.
williamr@2
   273
		* 
williamr@2
   274
		* @since 2.6
williamr@2
   275
		* @param aResult A descriptor where resulting word will be stored.
williamr@2
   276
		* @return KErrnNone or system wide error code.
williamr@2
   277
		*/						
williamr@2
   278
		virtual TInt GetNextCandidate(TDes& aResult) = 0;
williamr@2
   279
		
williamr@2
   280
		/**
williamr@2
   281
		* Returns previous word in list of candidate words for current input sequence.
williamr@2
   282
		* 
williamr@2
   283
		* @since 2.6
williamr@2
   284
		* @param aResult A descriptor where resulting word will be stored.
williamr@2
   285
		* @return KErrnNone or system wide error code.
williamr@2
   286
		*/								
williamr@2
   287
		virtual TInt GetPreviousCandidate(TDes& aResult) = 0;
williamr@2
   288
	
williamr@2
   289
	//
williamr@2
   290
	// User dictionary API
williamr@2
   291
	//
williamr@2
   292
	public:
williamr@2
   293
		virtual TInt AddUserDictionaryEntry(MPtiUserDictionaryEntry& aEntry, CPtiUserDictionary* aDict) = 0;
williamr@2
   294
		virtual TInt RemoveUserDictionaryEntry(MPtiUserDictionaryEntry& aEntry, CPtiUserDictionary* aDict) = 0;
williamr@2
   295
        virtual TInt NumberOfEntriesInUserDictionary(CPtiUserDictionary* aDict) = 0;
williamr@2
   296
		virtual TInt GetUserDictionaryEntry(TInt aIndex, MPtiUserDictionaryEntry& aResult, CPtiUserDictionary* aDict) = 0;
williamr@2
   297
		virtual CPtiUserDictionary* CreateEmptyUserDictionaryL(TInt aMaxSize) = 0;
williamr@2
   298
		virtual TInt AttachUserDictionary(CPtiUserDictionary* aDict) = 0;
williamr@2
   299
		virtual TBool DetachUserDictionary(CPtiUserDictionary* aDict) = 0;		
williamr@2
   300
williamr@2
   301
	//
williamr@2
   302
	// Chinese API
williamr@2
   303
	//
williamr@2
   304
	public:
williamr@2
   305
		virtual TPtrC GetCandidatePage() = 0;
williamr@2
   306
		virtual TBool NextCandidatePage() = 0;
williamr@2
   307
		virtual TBool PreviousCandidatePage() = 0;
williamr@2
   308
		virtual TBool MoreCandidatePages() = 0;
williamr@2
   309
		virtual void SetCandidatePageLength(TInt aLength) = 0;
williamr@2
   310
		virtual TPtrC GetPhoneticSpelling(TInt aIndex) const = 0; 
williamr@2
   311
		virtual TInt PhoneticSpellingCount() const = 0;	
williamr@2
   312
	    virtual TBool SelectPhoneticSpelling(TInt aIndex) = 0;
williamr@2
   313
	    virtual TInt SelectedPhoneticSpelling() const = 0; 
williamr@2
   314
		virtual TBool ToneMark(TText& aToneMark) const = 0;
williamr@2
   315
		virtual TBool IsToneMarkValidForSpelling() = 0;
williamr@2
   316
		virtual TBool SetPredictiveChineseChar(const TDesC& aChar) = 0;
williamr@2
   317
		virtual TBool SetToneMark(TInt aToneMark) = 0;
williamr@2
   318
williamr@2
   319
williamr@2
   320
   	//
williamr@2
   321
	// Japanese API
williamr@2
   322
	//
williamr@2
   323
	public:
williamr@2
   324
		virtual TPtrC ReadingTextL() = 0;
williamr@2
   325
		virtual MPtiEngineCompositionDataInterface* CompositionData() = 0;
williamr@2
   326
williamr@2
   327
	//
williamr@2
   328
	// Chinese API
williamr@2
   329
	//
williamr@2
   330
	public:
williamr@2
   331
	        virtual HBufC* GetCandidatesByInputString(const TDesC& aInputString, 
williamr@2
   332
                                                        RPointerArray<HBufC>& aList, 
williamr@2
   333
                                                        const TBool aIsPredictive) = 0;
williamr@2
   334
	};
williamr@2
   335
	
williamr@2
   336
williamr@2
   337
/**
williamr@2
   338
* This class is a base class implementation for MPtiCore. It contains empty base implemenations
williamr@2
   339
* for core API methods and static methods for creating and listing PtiEngine core objects.
williamr@2
   340
*/
williamr@2
   341
class CPtiCore : public CBase, public MPtiCore
williamr@2
   342
	{
williamr@2
   343
	//
williamr@2
   344
	// Plugin household methods
williamr@2
   345
	//
williamr@2
   346
	public:
williamr@2
   347
 		/**
williamr@2
   348
		* Creates in instance of core object for given implemenation uid.
williamr@2
   349
		*
williamr@2
   350
		* @param aCoreUid An ecom implementation uid for core object to be created.
williamr@2
   351
		* @return Pointer to new core object instance.
williamr@2
   352
		*/
williamr@2
   353
		IMPORT_C static CPtiCore* CreateCoreL(TUid aCoreUid);
williamr@2
   354
		
williamr@2
   355
		/**
williamr@2
   356
		* Lists all the available PtiEngine core onject implemenatations.
williamr@2
   357
		*
williamr@2
   358
		* @return Pointer to a list cantaining implementation uids for available core plugins.
williamr@2
   359
		*/
williamr@2
   360
		IMPORT_C static CArrayFix<TInt>* ListCoresLC();
williamr@2
   361
williamr@2
   362
	public: 
williamr@2
   363
		IMPORT_C ~CPtiCore();
williamr@2
   364
williamr@2
   365
	//
williamr@2
   366
	// 	General methods.
williamr@2
   367
	//
williamr@2
   368
	public:
williamr@2
   369
		IMPORT_C TInt SetCurrentInputSequence(TPtrC8 aInput);
williamr@2
   370
		IMPORT_C TInt Convert(TPtiCharConversion aType,
williamr@2
   371
							  TAny* aInput,
williamr@2
   372
							  TInt aInputLength,
williamr@2
   373
							  TAny* aOutput);
williamr@2
   374
		IMPORT_C TInt GetSpelling(TUint16 aInput,
williamr@2
   375
			                      TDes& aOutput,
williamr@2
   376
								  TPtiSpelling aType);
williamr@2
   377
		IMPORT_C TInt SetExternalKeyMapL(TPtiEngineInputMode aMode,
williamr@2
   378
			                             TPtiKey aKey,
williamr@2
   379
									     TDesC& aKeyMap,
williamr@2
   380
										 TPtiTextCase aCase);
williamr@2
   381
		IMPORT_C TInt CommitCurrentWord();		
williamr@2
   382
		IMPORT_C TPtrC GetCurrentWord() const;
williamr@2
   383
williamr@2
   384
	//
williamr@2
   385
	// Predictive latin API
williamr@2
   386
	//
williamr@2
   387
	public:
williamr@2
   388
		IMPORT_C TInt NumberOfCandidates();
williamr@2
   389
		IMPORT_C TInt GetCandidateListL(CDesCArray& aList);
williamr@2
   390
		IMPORT_C TInt GetNextWordCandidateListL(CDesCArray& aList);
williamr@2
   391
		IMPORT_C TInt GetFirstCandidate(TDes& aResult);
williamr@2
   392
		IMPORT_C TInt GetNextCandidate(TDes& aResult);
williamr@2
   393
		IMPORT_C TInt GetPreviousCandidate(TDes& aResult);
williamr@2
   394
	
williamr@2
   395
	//
williamr@2
   396
	// User dictionary API
williamr@2
   397
	//
williamr@2
   398
	public:
williamr@2
   399
		IMPORT_C TInt AddUserDictionaryEntry(MPtiUserDictionaryEntry& aEntry, CPtiUserDictionary* aDict);
williamr@2
   400
		IMPORT_C TInt RemoveUserDictionaryEntry(MPtiUserDictionaryEntry& aEntry, CPtiUserDictionary* aDict);
williamr@2
   401
                IMPORT_C TInt NumberOfEntriesInUserDictionary(CPtiUserDictionary* aDict);
williamr@2
   402
		IMPORT_C TInt GetUserDictionaryEntry(TInt aIndex, MPtiUserDictionaryEntry& aResult, CPtiUserDictionary* aDict);
williamr@2
   403
		IMPORT_C CPtiUserDictionary* CreateEmptyUserDictionaryL(TInt aMaxSize);
williamr@2
   404
		IMPORT_C TInt AttachUserDictionary(CPtiUserDictionary* aDict);
williamr@2
   405
		IMPORT_C TBool DetachUserDictionary(CPtiUserDictionary* aDict);		
williamr@2
   406
williamr@2
   407
	//
williamr@2
   408
	// Chinese API
williamr@2
   409
	//
williamr@2
   410
	public:
williamr@2
   411
		IMPORT_C TPtrC GetCandidatePage();
williamr@2
   412
		IMPORT_C TBool NextCandidatePage();
williamr@2
   413
		IMPORT_C TBool PreviousCandidatePage();
williamr@2
   414
		IMPORT_C TBool MoreCandidatePages();
williamr@2
   415
		IMPORT_C void SetCandidatePageLength(TInt aLength);
williamr@2
   416
		IMPORT_C TPtrC GetPhoneticSpelling(TInt aIndex) const; 
williamr@2
   417
		IMPORT_C TInt PhoneticSpellingCount() const;	
williamr@2
   418
	        IMPORT_C TBool SelectPhoneticSpelling(TInt aIndex);
williamr@2
   419
	        IMPORT_C TInt SelectedPhoneticSpelling() const; 
williamr@2
   420
		IMPORT_C TBool ToneMark(TText& aToneMark) const;
williamr@2
   421
		IMPORT_C TBool IsToneMarkValidForSpelling();
williamr@2
   422
		IMPORT_C TBool SetPredictiveChineseChar(const TDesC& aChar);
williamr@2
   423
		IMPORT_C TBool SetToneMark(TInt aToneMark);
williamr@2
   424
 
williamr@2
   425
	//
williamr@2
   426
	// Japanese API
williamr@2
   427
	//
williamr@2
   428
	public:
williamr@2
   429
		IMPORT_C TPtrC ReadingTextL();
williamr@2
   430
		IMPORT_C MPtiEngineCompositionDataInterface* CompositionData();
williamr@2
   431
williamr@2
   432
	//
williamr@2
   433
	// Chinese API
williamr@2
   434
	//			
williamr@2
   435
	public:	
williamr@2
   436
                IMPORT_C HBufC* GetCandidatesByInputString(const TDesC& aInputString, 
williamr@2
   437
                                                         RPointerArray<HBufC>& aList, 
williamr@2
   438
                                                         const TBool aIsPredictive);			
williamr@2
   439
williamr@2
   440
	private:
williamr@2
   441
		inline void SetDestructorKeyId(TInt aDtorKeyId);
williamr@2
   442
williamr@2
   443
	private:
williamr@2
   444
		TInt iDtorKeyId;
williamr@2
   445
		TInt Reserved_1;
williamr@2
   446
	};
williamr@2
   447
williamr@2
   448
williamr@2
   449
inline void CPtiCore::SetDestructorKeyId(TInt aDtorKeyId)
williamr@2
   450
	{
williamr@2
   451
	iDtorKeyId = aDtorKeyId;
williamr@2
   452
	}
williamr@2
   453
williamr@2
   454
#endif _PTI_CORE_H
williamr@2
   455
williamr@2
   456
// End of file
williamr@2
   457
williamr@2
   458