X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..2ca993e82fb37b597a3c73ecd1586a139a6579c5:/icuSources/i18n/ucln_in.h diff --git a/icuSources/i18n/ucln_in.h b/icuSources/i18n/ucln_in.h index 8aa38dc8..3fdec6db 100644 --- a/icuSources/i18n/ucln_in.h +++ b/icuSources/i18n/ucln_in.h @@ -1,11 +1,9 @@ /* ****************************************************************************** -* * -* Copyright (C) 2001-2003, International Business Machines * -* Corporation and others. All Rights Reserved. * -* * +* Copyright (C) 2001-2016, International Business Machines +* Corporation and others. All Rights Reserved. ****************************************************************************** -* file name: ucln_cmn.h +* file name: ucln_in.h * encoding: US-ASCII * tab size: 8 (not used) * indentation:4 @@ -14,32 +12,54 @@ * created by: George Rhoten */ -#ifndef __UCLN_CMN_H__ -#define __UCLN_CMN_H__ +#ifndef __UCLN_IN_H__ +#define __UCLN_IN_H__ #include "unicode/utypes.h" +#include "ucln.h" -/* Main library cleanup function. */ -U_CFUNC void ucln_i18n_registerCleanup(void); +/* +Please keep the order of enums declared in same order +as the functions are suppose to be called. +It's usually best to have child dependencies called first. */ +typedef enum ECleanupI18NType { + UCLN_I18N_START = -1, + UCLN_I18N_IDENTIFIER_INFO, + UCLN_I18N_SPOOF, + UCLN_I18N_TRANSLITERATOR, + UCLN_I18N_REGEX, + UCLN_I18N_ISLAMIC_CALENDAR, + UCLN_I18N_CHINESE_CALENDAR, + UCLN_I18N_HEBREW_CALENDAR, + UCLN_I18N_ASTRO_CALENDAR, + UCLN_I18N_DANGI_CALENDAR, + UCLN_I18N_CALENDAR, + UCLN_I18N_TIMEZONEFORMAT, + UCLN_I18N_TZDBTIMEZONENAMES, + UCLN_I18N_TIMEZONEGENERICNAMES, + UCLN_I18N_TIMEZONENAMES, + UCLN_I18N_ZONEMETA, + UCLN_I18N_TIMEZONE, + UCLN_I18N_DECFMT, + UCLN_I18N_NUMFMT, + UCLN_I18N_ALLOWED_HOUR_FORMATS, + UCLN_I18N_DAYPERIODRULES, + UCLN_I18N_SMPDTFMT, + UCLN_I18N_USEARCH, + UCLN_I18N_COLLATOR, + UCLN_I18N_UCOL_RES, + UCLN_I18N_CSDET, + UCLN_I18N_COLLATION_ROOT, + UCLN_I18N_GENDERINFO, + UCLN_I18N_CDFINFO, + UCLN_I18N_REGION, + UCLN_I18N_COUNT /* This must be last */ +} ECleanupI18NType; +/* Main library cleanup registration function. */ /* See common/ucln.h for details on adding a cleanup function. */ - -U_CFUNC UBool transliterator_cleanup(void); - -U_CFUNC UBool timeZone_cleanup(void); - -U_CFUNC UBool numfmt_cleanup(void); - -U_CFUNC UBool calendar_cleanup(void); - -U_CFUNC UBool currency_cleanup(void); - -U_CFUNC UBool collator_cleanup(void); - -U_CFUNC UBool ucol_cleanup(void); - -U_CFUNC UBool ucol_bld_cleanup(void); - -U_CFUNC UBool regex_cleanup(void); +/* Note: the global mutex must not be held when calling this function. */ +U_CFUNC void U_EXPORT2 ucln_i18n_registerCleanup(ECleanupI18NType type, + cleanupFunc *func); #endif