Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ucnv_imp.h

Go to the documentation of this file.
00001 /*
00002 **********************************************************************
00003 *   Copyright (C) 1999, International Business Machines
00004 *   Corporation and others.  All Rights Reserved.
00005 **********************************************************************
00006 *
00007 *
00008 *  ucnv_imp.h:
00009 *  Contains all internal and external data structure definitions
00010 * Created & Maitained by Bertrand A. Damiba
00011 *
00012 *
00013 *
00014 * ATTENTION:
00015 * ---------
00016 * Although the data structures in this file are open and stack allocatable
00017 * we reserve the right to hide them in further releases.
00018 */
00019 
00020 #ifndef UCNV_IMP_H
00021 #define UCNV_IMP_H
00022 
00023 #include "unicode/utypes.h"
00024 #include "ucnv_bld.h"
00025 
00026 #ifndef UHASH_H
00027 typedef struct _UHashtable UHashtable;
00028 #endif
00029 
00030 /*Hashtable used to store UConverterSharedData objects supporting
00031  *the Caching mechanism
00032  */
00033 extern UHashtable *SHARED_DATA_HASHTABLE;
00034 
00035 
00036 /* figures out if we need to go to file to read in the data tables.
00037  */
00038 UConverter *createConverter (const char *converterName, UErrorCode * err);
00039 
00040 /* Stores the shared data in the SHARED_DATA_HASHTABLE
00041  */
00042 void shareConverterData (UConverterSharedData * data);
00043 
00044 /* gets the shared data from the SHARED_DATA_HASHTABLE (might return NULL if it isn't there)
00045  */
00046 UConverterSharedData *getSharedConverterData (const char *name);
00047 
00048 /* Deletes (frees) the Shared data it's passed. first it checks the referenceCounter to
00049  * see if anyone is using it, if not it frees all the memory stemming from sharedConverterData and
00050  * returns TRUE,
00051  * otherwise returns FALSE
00052  */
00053 UBool deleteSharedConverterData (UConverterSharedData * sharedConverterData);
00054 
00055 /* returns true if "name" is in algorithmicConverterNames
00056  */
00057 UBool isDataBasedConverter (const char *name);
00058 
00059 void copyPlatformString (char *platformString, UConverterPlatform pltfrm);
00060 
00061 
00062 #endif /* _UCNV_IMP */

Generated at Tue Dec 5 17:55:34 2000 for ICU by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000