charconvfw/Charconv/ongoing/Include/SHIFTJIS2.H
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 25 May 2010 14:39:28 +0300
branchRCL_3
changeset 9 26914f8d1faf
parent 0 1fb32624e06b
permissions -rw-r--r--
Revision: 201019 Kit: 2010121

/*
* Copyright (c) 2000 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:      
*
*/








#if !defined(__SHIFTJIS_H__)
#define __SHIFTJIS_H__

#if !defined(__E32STD_H__)
#include <e32std.h>
#endif

#if !defined(__CHARCONV_H__)
#include <CHARCONV.H>
#endif

#if !defined(__CONVUTILS_H__)
#include <CONVUTILS.H>
#endif

class CnvShiftJis 
/**
only to be used by CHARCONV plug-in DLLs and by locale-DLLs (Locl::FatUtilityFunctions)
@internalComponent
*/
    {
public:
    IMPORT_C static const TDesC8& ReplacementForUnconvertibleUnicodeCharacters();
    IMPORT_C static TInt ConvertFromUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, 
                                            const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, 
                                            TDes8& aForeign, const TDesC16& aUnicode, 
                                            CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters);
                                            
    IMPORT_C static TInt ConvertFromUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, 
                                            const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, 
                                            TDes8& aForeign, const TDesC16& aUnicode, 
                                            CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters,
                                            const TArray<CnvUtilities::SCharacterSet>& aArrayOfAdditionalCharacterSets);
                                            
    IMPORT_C static TInt ConvertToUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, 
                                          TDes16& aUnicode, const TDesC8& aForeign, 
                                          TInt& aNumberOfUnconvertibleCharacters, 
                                          TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter);
                                          
    IMPORT_C static TInt ConvertToUnicode(CCnvCharacterSetConverter::TEndianness aDefaultEndiannessOfForeignCharacters, 
                                          TDes16& aUnicode, const TDesC8& aForeign, 
                                          TInt& aNumberOfUnconvertibleCharacters, 
                                          TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter, 
                                          const TArray<CnvUtilities::SMethod>& aArrayOfAdditionalMethods);
    
private:
    static TInt DoConvertToUnicode(TDes16& aUnicode, const TDesC8& aForeign, 
                                   TInt& aNumberOfUnconvertibleCharacters, 
                                   TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter) ;

    static TInt DoConvertFromUnicode(const TDesC8& aReplacementForUnconvertibleUnicodeCharacters, 
                                    TDes8& aForeign, const TDesC16& aUnicode, CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters) ;
    };

#endif