epoc32/include/convnames.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description: 
    15 *
    16 */
    17 
    18 
    19 #if !defined(__CONVNAMES_H__)
    20 #define __CONVNAMES_H__
    21 
    22 #if !defined(__E32STD_H__)
    23 #include <e32std.h>
    24 #endif
    25 
    26 #if !defined(__E32BASE_H__)
    27 #include <e32base.h>
    28 #endif
    29 
    30 #if !defined(__BAMDESCA_H__)
    31 #include <bamdesca.h>
    32 #endif 
    33 
    34 #if !defined(__CHARCONV_H__)
    35 #include <charconv.h>
    36 #endif
    37 
    38 class RFs;
    39 class CBaNamedPlugins;
    40 
    41  
    42 class CCnvCharacterSetNames : public CBase, public MDesCArray
    43 /** 
    44 A localised list of the names of non-Unicode character set encodings supported 
    45 on the phone.
    46 
    47 For each character conversion plug-in DLL, there are one or more resource 
    48 files which contain the name of the encoding translated into a different language.
    49 
    50 This class populates a list of the names of all encodings supported on the 
    51 phone by reading the appropriate resource file for each one. The list is sorted 
    52 according to the collation rules for the device's current locale.
    53 
    54 The virtual functions MdcaCount() (returns the number of items in the list) 
    55 and MdcaPoint() (returns a TPtrC for the item at the given index) are implemented 
    56 privately in this class. Users of this class can call them through the MDesCArray 
    57 interface. 
    58 @publishedAll
    59 @released
    60 */
    61 	{
    62 public:
    63 	IMPORT_C static CCnvCharacterSetNames* NewL(RFs& aFileServerSession, const TArray<CCnvCharacterSetConverter::SCharacterSet>& aArrayOfCharacterSetsAvailable);
    64 	IMPORT_C static CCnvCharacterSetNames* NewLC(RFs& aFileServerSession, const TArray<CCnvCharacterSetConverter::SCharacterSet>& aArrayOfCharacterSetsAvailable);
    65 	IMPORT_C virtual ~CCnvCharacterSetNames();
    66 	IMPORT_C TInt IndexOfIdentifier(TUint aIdentifier) const;
    67 	IMPORT_C TUint IdentifierAtIndex(TInt aIndex) const;
    68 
    69 private:
    70 	CCnvCharacterSetNames();
    71 	void ConstructL(RFs& aFileServerSession, const TArray<CCnvCharacterSetConverter::SCharacterSet>& aArrayOfCharacterSetsAvailable);
    72 	// from MDesCArray
    73 	virtual TInt MdcaCount() const;
    74 	virtual TPtrC MdcaPoint(TInt aIndex) const;
    75 	static void DestroyResourceFileArray(TAny* aArrayOfCharconvResourceFiles);
    76 
    77 private:
    78 	CBaNamedPlugins* iNamedPlugins;
    79 	};
    80 
    81 #endif
    82