williamr@2: // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #if !defined(__SHIFTJIS_H__) williamr@2: #define __SHIFTJIS_H__ williamr@2: williamr@2: #if !defined(__E32STD_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #if !defined(__CHARCONV_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #if !defined(__CONVUTILS_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: class CnvShiftJis williamr@2: /** williamr@2: only to be used by CHARCONV plug-in DLLs and by locale-DLLs (Locl::FatUtilityFunctions) williamr@2: @internalComponent williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C static const TDesC8& ReplacementForUnconvertibleUnicodeCharacters(); williamr@2: IMPORT_C static TInt ConvertFromUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, williamr@2: const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, williamr@2: TDes8& aForeign, const TDesC16& aUnicode, williamr@2: CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters); williamr@2: williamr@2: IMPORT_C static TInt ConvertFromUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, williamr@2: const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, williamr@2: TDes8& aForeign, const TDesC16& aUnicode, williamr@2: CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters, williamr@2: const TArray& aArrayOfAdditionalCharacterSets); williamr@2: williamr@2: IMPORT_C static TInt ConvertToUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, williamr@2: TDes16& aUnicode, const TDesC8& aForeign, williamr@2: TInt& aNumberOfUnconvertibleCharacters, williamr@2: TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter); williamr@2: williamr@2: IMPORT_C static TInt ConvertToUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, williamr@2: TDes16& aUnicode, const TDesC8& aForeign, williamr@2: TInt& aNumberOfUnconvertibleCharacters, williamr@2: TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter, williamr@2: const TArray& aArrayOfAdditionalMethods); williamr@2: williamr@2: private: williamr@2: williamr@2: static TInt DoConvertToUnicode(TDes16& aUnicode, const TDesC8& aForeign, williamr@2: TInt& aNumberOfUnconvertibleCharacters, williamr@2: TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter) ; williamr@2: williamr@2: static TInt DoConvertFromUnicode(const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, williamr@2: TDes8& aForeign, const TDesC16& aUnicode, CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters) ; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: Returns the single character (as one or more byte values) which is used by williamr@2: default as the replacement for unconvertible Unicode characters. These byte williamr@2: values are output when converting from Unicode into a foreign character set williamr@2: for each Unicode character that has no equivalent in the foreign character williamr@2: set. williamr@2: williamr@2: @return The single character which is used to replace unconvertible characters. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: GLREF_C const TDesC8& ReplacementForUnconvertibleUnicodeCharacters_internal(); williamr@2: williamr@2: #endif