diff -r 000000000000 -r eb1f2e154e89 textinput/AknInputLanguage/inc/ptiInputLanguageInfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/AknInputLanguage/inc/ptiInputLanguageInfo.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,125 @@ +/* +* Copyright (c) 2002 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: +* This is a private header +* +* Implementation of the CAknInputLanguageInfo-conformant object. This actually has +* all the functionality. +* This file also contains the implementation of the factory object itself that returns +* an instance of CT9InputLanguageInfo. +* +*/ + + +#if !defined(__ET9LANGUAGEINFO_H__) +#define __ET9LANGUAGEINFO_H__ + +#include +#include +#include + +/** +* This is a specialization of the Avkon input language class. It may be returned by +* a factory method to provide available language information to a client +* +* It owns a CT9Interface object that provides the real services. +* +* This class is not meant for client code derivation. Indeed it is not visible to the client +* directly. +*/ +NONSHARABLE_CLASS(CT9InputLanguageInfo) : public CAknInputLanguageInfo + { + public: + /** + * Non-trivial C++ descructor. + */ + IMPORT_C ~CT9InputLanguageInfo(); + + /** + * NewL method for this class. This can be used internal to the factory method + */ + static CT9InputLanguageInfo* NewL(); + + /** + * Provide a language list corresponding to the input list of SymbianOS language codes. + * The order of the languages in the output list is that order implemented in the + * interface object, and the order of the input list of language codes is ignored. + * + * @param aInputLanguageList Append to this list; + * @param aLanguageCodeList Append only languages whose code is in this list. If Null + * is passed, then no language code filtering is done + * @param aCapabilityFilter Append only languages with capabilities set in this filter. + * + */ + EXPORT_C virtual void AppendLanguagesL( + CAknInputLanguageList* aInputLanguageList, + CArrayFix* aLanguageCodeList, + TAknInputLanguageCapabilities& aCapabilityFilter ); + + /** + * From CAknInputLanguagesInfo. + * + * Append to a list of language, language code pairs + */ + + IMPORT_C void AppendAvailableLanguagesL( CAknInputLanguageList* aInputLanguageArray ); + + /** + * From CAknInputLanguageInfo + * + * @return the capabilies of the keyed language + */ + IMPORT_C virtual TAknInputLanguageCapabilities LanguageCapabilitiesFromLanguage(TLanguage aLanguageId); + + /** + * Get the language name that corresponds to the passed-in Symbian OS language code. + * This name should be localized, or not, depending upon the policy decided for the product + * + * @param aLanguageCode - language code for the language whose name is required + * @return TPtrC - holds the name of the language. Buffer for the name is within + * the interface object, not the client. The buffer will be valid only + * while the instance of this class exists. + */ + IMPORT_C virtual TAknLanguageName LanguageName( TLanguage aLanguageCode ) const; + + IMPORT_C TLanguage UrlLanguage() const; + + private: + /** + * Private constructor + */ + CT9InputLanguageInfo(); + + /** + * Private 2nd stage constructor + */ + void ConstructL(); + + /** + * + * Reserved virtuals + * + */ + void Reserved_1(); + void Reserved_2(); + + static TBool IsInLanguageCodeList( CArrayFix* aList , TLanguage languageToFind ); + + private: + CPtiEngine* iPtiEngineInterface; // Owned by this class + }; + +#endif + +// End of File