1/*
2******************************************************************************
3*                                                                            *
4* Copyright (C) 2001-2009, International Business Machines                   *
5*                Corporation and others. All Rights Reserved.                *
6*                                                                            *
7******************************************************************************
8*   file name:  ucln_cmn.h
9*   encoding:   US-ASCII
10*   tab size:   8 (not used)
11*   indentation:4
12*
13*   created on: 2001July05
14*   created by: George Rhoten
15*/
16
17#ifndef __UCLN_CMN_H__
18#define __UCLN_CMN_H__
19
20#include "unicode/utypes.h"
21#include "ucln.h"
22
23/*
24Please keep the order of enums declared in same order
25as the functions are suppose to be called.
26It's usually best to have child dependencies called first. */
27typedef enum ECleanupI18NType {
28    UCLN_I18N_START = -1,
29    UCLN_I18N_TRANSLITERATOR,
30    UCLN_I18N_REGEX,
31    UCLN_I18N_ISLAMIC_CALENDAR,
32    UCLN_I18N_CHINESE_CALENDAR,
33    UCLN_I18N_HEBREW_CALENDAR,
34    UCLN_I18N_ASTRO_CALENDAR,
35    UCLN_I18N_CALENDAR,
36    UCLN_I18N_ZONEMETA,
37    UCLN_I18N_ZSFORMAT,
38    UCLN_I18N_TIMEZONE,
39    UCLN_I18N_PLURAL_RULE,
40    UCLN_I18N_CURRENCY,
41    UCLN_I18N_NUMFMT,
42    UCLN_I18N_USEARCH,
43    UCLN_I18N_COLLATOR,
44    UCLN_I18N_UCOL,
45    UCLN_I18N_UCOL_RES,
46    UCLN_I18N_UCOL_BLD,
47    UCLN_I18N_CSDET,
48    UCLN_I18N_COLL_DATA,
49    UCLN_I18N_COUNT /* This must be last */
50} ECleanupI18NType;
51
52/* Main library cleanup registration function. */
53/* See common/ucln.h for details on adding a cleanup function. */
54U_CFUNC void U_EXPORT2 ucln_i18n_registerCleanup(ECleanupI18NType type,
55                                                 cleanupFunc *func);
56
57U_CFUNC UBool utrans_transliterator_cleanup(void);
58
59#endif
60