]> git.saurik.com Git - apple/icu.git/blob - icuSources/common/ucln_cmn.h
ICU-57132.0.1.tar.gz
[apple/icu.git] / icuSources / common / ucln_cmn.h
1 /*
2 ******************************************************************************
3 * Copyright (C) 2001-2016, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 ******************************************************************************
6 * file name: ucln_cmn.h
7 * encoding: US-ASCII
8 * tab size: 8 (not used)
9 * indentation:4
10 *
11 * created on: 2001July05
12 * created by: George Rhoten
13 */
14
15 #ifndef __UCLN_CMN_H__
16 #define __UCLN_CMN_H__
17
18 #include "unicode/utypes.h"
19 #include "ucln.h"
20
21 /* These are the cleanup functions for various APIs. */
22 /* @return true if cleanup complete successfully.*/
23 U_CFUNC UBool umtx_cleanup(void);
24
25 U_CFUNC UBool utrace_cleanup(void);
26
27 U_CFUNC UBool ucln_lib_cleanup(void);
28
29 /*
30 Please keep the order of enums declared in same order
31 as the cleanup functions are suppose to be called. */
32 typedef enum ECleanupCommonType {
33 UCLN_COMMON_START = -1,
34 UCLN_COMMON_USPREP,
35 UCLN_COMMON_BREAKITERATOR,
36 UCLN_COMMON_BREAKITERATOR_DICT,
37 UCLN_COMMON_SERVICE,
38 UCLN_COMMON_LOCALE_KEY_TYPE,
39 UCLN_COMMON_LOCALE,
40 UCLN_COMMON_LOCALE_AVAILABLE,
41 UCLN_COMMON_ULOC,
42 UCLN_COMMON_CURRENCY,
43 UCLN_COMMON_LOADED_NORMALIZER2,
44 UCLN_COMMON_NORMALIZER2,
45 UCLN_COMMON_USET,
46 UCLN_COMMON_UNAMES,
47 UCLN_COMMON_UPROPS,
48 UCLN_COMMON_UCNV,
49 UCLN_COMMON_UCNV_IO,
50 UCLN_COMMON_UDATA,
51 UCLN_COMMON_PUTIL,
52 UCLN_COMMON_LIST_FORMATTER,
53 UCLN_COMMON_UINIT,
54
55 /*
56 Unified caches caches collation stuff. Collation data structures
57 contain resource bundles which means that unified cache cleanup
58 must happen before resource bundle clean up.
59 */
60 UCLN_COMMON_UNIFIED_CACHE,
61 UCLN_COMMON_URES,
62 UCLN_COMMON_COUNT /* This must be last */
63 } ECleanupCommonType;
64
65 /* Main library cleanup registration function. */
66 /* See common/ucln.h for details on adding a cleanup function. */
67 /* Note: the global mutex must not be held when calling this function. */
68 U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type,
69 cleanupFunc *func);
70
71 #endif