--- /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 <e32std.h>
+#include <charconv.h>
+#include <convutils.h>
+#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<CnvUtilities::SCharacterSet>& 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<CnvUtilities::SCharacterSet>& 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<CnvUtilities::SMethod>& 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<CnvUtilities::SState>& 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