diff -r 000000000000 -r 1fb32624e06b charconvfw/charconvplugins/src/shared/CnvPictographShared.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/charconvfw/charconvplugins/src/shared/CnvPictographShared.h Tue Feb 02 02:02:46 2010 +0200 @@ -0,0 +1,305 @@ +/* +* Copyright (c) 2002-2004 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 class is a utitlity class for conversion of Vodafone +* pictograph. +* +*/ + + + + + + + + + + +#ifndef CNVPICTOGRAPHSHARED_H +#define CNVPICTOGRAPHSHARED_H + +// INCLUDES +#include +#include +#include +#include "PictographObserver.h" + + +// CONSTANTS +// Count of Vodafone pictograph's pages +const TInt KCountOfPictoPages(6); + + +// CLASS DECLARATION + +/** +* This class is a utitlity class for conversion of Vodafone pictograph. +* The conversion data are in each CnvPctograph1 - 6 dll. +* CnvPictographShared only to be used by ISO2022Jp.cpl, SHIFTJIS_SHARED.dll or +* something. For example, when CCnvCharacterSetConverter::ConvertFromUnicode() +* is called, and ConvertFromUnicode() of ISO2022Jp.cpl is called. After that, +* ISO2022Jp.cpl sets some parameters for the conversion. At that time, +* CnvPictographShared::SetCharacterSetsForPictograph() is called. +* In a nut shell, CnvPictographShared is chaind from Japanese conversion +* plug-ins. +* +* @lib CnvPictograph1.dll +* @lib CnvPictograph2.dll +* @lib CnvPictograph3.dll +* @lib CnvPictograph4.dll +* @lib CnvPictograph5.dll +* @lib CnvPictograph6.dll +* @since 2.6 +*/ +class CnvPictographShared + { + public: + /** + * It sets parameters to SCharacterSet array. + * It called in ConvertFromUnicode(). + * It makes possible that pictograph conversion is called from other + * conversion plug-ins. + * @since 2.6 + * @param aArrayOfCharacterSets The conversion table array + */ + static void SetCharacterSetsForPictograph( + RArray& aArrayOfCharacterSets); + /** + * It sets parameters to SCharacterSet array. + * It called in ConvertFromUnicode(). + * It makes possible that pictograph conversion is called from other + * conversion plug-ins. + * @since 2.6 + * @param aArrayOfCharacterSets The conversion table array + * @param aOriginalCharset The character set + */ + static void SetCharacterSetsForPictograph( + RArray& aArrayOfCharacterSets, + TOriginalCharset aOriginalCharset); + /** + * It sets parameters to SMethod array. + * It called in ConvertToUnicode(). + * It makes possible that pictograph conversion is called from other + * conversion plug-ins. + * @since 2.6 + * @param aArrayOfMethods The conversion table array + * @param aOriginalCharset The character set + */ + static void SetMethodsForPictograph( + RArray& aArrayOfMethods, + TOriginalCharset aOriginalCharset); + /** + * It sets parameters to SState array. + * It called in ConvertToUnicode(). + * It makes possible that pictograph conversion is called from other + * conversion plug-ins. + * @since 2.6 + * @param aArrayOfMethods The conversion table array + */ + static void SetStatesForPictograph( + RArray& aArrayOfStates); + + private: + /** + * It converts from an intermediate buffer to a pictograph code. + * After that, it adds shift-in code(0x0F). + * @since 2.6 + * @param aStartPositionInDescriptor The start postion for checking + * @param aDescriptor The descripter has intermidiate buffer. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void ConvertToPictograph1InPlace( + TInt aStartPositionInDescriptor, + TDes8& aDescriptor, TInt& aNumberOfCharactersThatDroppedOut); + /** + * It converts from an intermediate buffer to a pictograph code. + * After that, it adds shift-in code(0x0F). + * @since 2.6 + * @param aStartPositionInDescriptor The start postion for checking + * @param aDescriptor The descripter has intermidiate buffer. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void ConvertToPictograph2InPlace( + TInt aStartPositionInDescriptor, + TDes8& aDescriptor, TInt& aNumberOfCharactersThatDroppedOut); + /** + * It converts from an intermediate buffer to a pictograph code. + * After that, it adds shift-in code(0x0F). + * @since 2.6 + * @param aStartPositionInDescriptor The start postion for checking + * @param aDescriptor The descripter has intermidiate buffer. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void ConvertToPictograph3InPlace( + TInt aStartPositionInDescriptor, + TDes8& aDescriptor, TInt& aNumberOfCharactersThatDroppedOut); + /** + * It converts from an intermediate buffer to a pictograph code. + * After that, it adds shift-in code(0x0F). + * @since 2.6 + * @param aStartPositionInDescriptor The start postion for checking + * @param aDescriptor The descripter has intermidiate buffer. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void ConvertToPictograph4InPlace( + TInt aStartPositionInDescriptor, + TDes8& aDescriptor, TInt& aNumberOfCharactersThatDroppedOut); + /** + * It converts from an intermediate buffer to a pictograph code. + * After that, it adds shift-in code(0x0F). + * @since 2.6 + * @param aStartPositionInDescriptor The start postion for checking + * @param aDescriptor The descripter has intermidiate buffer. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void ConvertToPictograph5InPlace( + TInt aStartPositionInDescriptor, + TDes8& aDescriptor, TInt& aNumberOfCharactersThatDroppedOut); + /** + * It converts from an intermediate buffer to a pictograph code. + * After that, it adds shift-in code(0x0F). + * @since 2.6 + * @param aStartPositionInDescriptor The start postion for checking + * @param aDescriptor The descripter has intermidiate buffer. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void ConvertToPictograph6InPlace( + TInt aStartPositionInDescriptor, + TDes8& aDescriptor, TInt& aNumberOfCharactersThatDroppedOut); + + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertSJisDirectMap(const TDesC8& aDescriptor); + + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToEucJpDirectMap1(const TDesC8& aDescriptor); + + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToEucJpDirectMap2(const TDesC8& aDescriptor); + + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPicto1( + const TDesC8& aDescriptor); + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPicto2( + const TDesC8& aDescriptor); + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPicto3( + const TDesC8& aDescriptor); + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPicto4( + const TDesC8& aDescriptor); + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPicto5( + const TDesC8& aDescriptor); + /** + * It returns a number of bytes that the conversion to pictograph is + * possible in the descriptor. + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPicto6( + const TDesC8& aDescriptor); + /** + * It's a common function for checking the number of bytes that + * the conversion to pictograph + * @since 2.6 + * @param aDescriptor A descriptor has any character code. + * @param aIntermidiateCode An intermidiate buffer + * @return Number of bytes that the conversion is possible + */ + static TInt NumberOfBytesAbleToConvertToPictograph( + const TDesC8& aDescriptor, TInt aIntermidiateCode); + /** + * It converts the string which includes a pictograph's escape sequence + * to unicode. + * @since 2.6 + * @param aDescriptor It includes a pictograph's escape sequence + */ + static void ConvertToPictographFromUnicode(TDes8& aDescriptor); + + /** + * It converts the string which has Unicode with pictograph to EUC-jp + * with direct mapped pictograph + * @since 2.6 + * @param aDescriptor It includes a pictograph's escape sequence + */ + static void ConvertToPictographFromEucJpPackedInPlace(TDes8& aDescriptor); + /** + * It appends a shift-in code to the descriptor. + * @since 2.6 + * @param aDescriptor It's append a shift-in code. + * @param aNumberOfCharactersThatDroppedOut The number of characters + * that it's dropped out + */ + static void AppendShiftIn(TDes8& aDescriptor, + TInt& aNumberOfCharactersThatDroppedOut); + }; + +#endif // CNVPICTOGRAPHSHARED_H + +// End of File