]>
Commit | Line | Data |
---|---|---|
f3c0d7a5 A |
1 | // © 2016 and later: Unicode, Inc. and others. |
2 | // License & terms of use: http://www.unicode.org/copyright.html | |
b75a7d8f A |
3 | /* |
4 | ****************************************************************************** | |
2ca993e8 A |
5 | * Copyright (C) 2001-2016, International Business Machines |
6 | * Corporation and others. All Rights Reserved. | |
b75a7d8f A |
7 | ****************************************************************************** |
8 | * file name: ucln_cmn.h | |
f3c0d7a5 | 9 | * encoding: UTF-8 |
b75a7d8f A |
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" | |
374ca955 | 21 | #include "ucln.h" |
b75a7d8f A |
22 | |
23 | /* These are the cleanup functions for various APIs. */ | |
24 | /* @return true if cleanup complete successfully.*/ | |
374ca955 | 25 | U_CFUNC UBool umtx_cleanup(void); |
b75a7d8f | 26 | |
374ca955 | 27 | U_CFUNC UBool utrace_cleanup(void); |
b75a7d8f | 28 | |
73c04bcf | 29 | U_CFUNC UBool ucln_lib_cleanup(void); |
b75a7d8f | 30 | |
374ca955 A |
31 | /* |
32 | Please keep the order of enums declared in same order | |
73c04bcf | 33 | as the cleanup functions are suppose to be called. */ |
374ca955 A |
34 | typedef enum ECleanupCommonType { |
35 | UCLN_COMMON_START = -1, | |
36 | UCLN_COMMON_USPREP, | |
37 | UCLN_COMMON_BREAKITERATOR, | |
73c04bcf | 38 | UCLN_COMMON_BREAKITERATOR_DICT, |
374ca955 | 39 | UCLN_COMMON_SERVICE, |
b331163b | 40 | UCLN_COMMON_LOCALE_KEY_TYPE, |
374ca955 | 41 | UCLN_COMMON_LOCALE, |
729e4ab9 | 42 | UCLN_COMMON_LOCALE_AVAILABLE, |
374ca955 | 43 | UCLN_COMMON_ULOC, |
2ca993e8 | 44 | UCLN_COMMON_CURRENCY, |
b331163b | 45 | UCLN_COMMON_LOADED_NORMALIZER2, |
729e4ab9 | 46 | UCLN_COMMON_NORMALIZER2, |
374ca955 A |
47 | UCLN_COMMON_USET, |
48 | UCLN_COMMON_UNAMES, | |
73c04bcf | 49 | UCLN_COMMON_UPROPS, |
374ca955 A |
50 | UCLN_COMMON_UCNV, |
51 | UCLN_COMMON_UCNV_IO, | |
52 | UCLN_COMMON_UDATA, | |
53 | UCLN_COMMON_PUTIL, | |
51004dcb | 54 | UCLN_COMMON_LIST_FORMATTER, |
57a6839d | 55 | UCLN_COMMON_UINIT, |
b331163b A |
56 | |
57 | /* | |
58 | Unified caches caches collation stuff. Collation data structures | |
59 | contain resource bundles which means that unified cache cleanup | |
60 | must happen before resource bundle clean up. | |
61 | */ | |
62 | UCLN_COMMON_UNIFIED_CACHE, | |
63 | UCLN_COMMON_URES, | |
374ca955 A |
64 | UCLN_COMMON_COUNT /* This must be last */ |
65 | } ECleanupCommonType; | |
66 | ||
67 | /* Main library cleanup registration function. */ | |
68 | /* See common/ucln.h for details on adding a cleanup function. */ | |
b331163b | 69 | /* Note: the global mutex must not be held when calling this function. */ |
374ca955 A |
70 | U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type, |
71 | cleanupFunc *func); | |
b75a7d8f A |
72 | |
73 | #endif |