]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/ucln_in.h
ICU-400.42.tar.gz
[apple/icu.git] / icuSources / i18n / ucln_in.h
index 8aa38dc8dbd42978ba05dc93b9bd9f5e3b7f443e..6b54a66395f6d34032826524eda5069101b160c7 100644 (file)
@@ -1,7 +1,7 @@
 /*
 ******************************************************************************
 *                                                                            *
-* Copyright (C) 2001-2003, International Business Machines                   *
+* Copyright (C) 2001-2009, International Business Machines                   *
 *                Corporation and others. All Rights Reserved.                *
 *                                                                            *
 ******************************************************************************
 #define __UCLN_CMN_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_TRANSLITERATOR,
+    UCLN_I18N_REGEX,
+    UCLN_I18N_ISLAMIC_CALENDAR,
+    UCLN_I18N_CHINESE_CALENDAR,
+    UCLN_I18N_HEBREW_CALENDAR,
+    UCLN_I18N_ASTRO_CALENDAR,
+    UCLN_I18N_CALENDAR,
+    UCLN_I18N_ZONEMETA,
+    UCLN_I18N_ZSFORMAT,
+    UCLN_I18N_TIMEZONE,
+    UCLN_I18N_PLURAL_RULE,
+    UCLN_I18N_CURRENCY,
+       UCLN_I18N_DECFMT,
+    UCLN_I18N_NUMFMT,
+    UCLN_I18N_SMPDTFMT,
+    UCLN_I18N_USEARCH,
+    UCLN_I18N_COLLATOR,
+    UCLN_I18N_UCOL,
+    UCLN_I18N_UCOL_RES,
+    UCLN_I18N_UCOL_BLD,
+    UCLN_I18N_CSDET,
+    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 void U_EXPORT2 ucln_i18n_registerCleanup(ECleanupI18NType type,
+                                                 cleanupFunc *func);
 
 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);
-
 #endif