]>
Commit | Line | Data |
---|---|---|
b75a7d8f A |
1 | /* |
2 | ****************************************************************************** | |
3 | * * | |
b331163b | 4 | * Copyright (C) 2001-2014, International Business Machines * |
b75a7d8f A |
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" | |
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, |
b331163b | 44 | UCLN_COMMON_LOADED_NORMALIZER2, |
729e4ab9 | 45 | UCLN_COMMON_NORMALIZER2, |
374ca955 A |
46 | UCLN_COMMON_USET, |
47 | UCLN_COMMON_UNAMES, | |
73c04bcf | 48 | UCLN_COMMON_UPROPS, |
374ca955 A |
49 | UCLN_COMMON_UCNV, |
50 | UCLN_COMMON_UCNV_IO, | |
51 | UCLN_COMMON_UDATA, | |
52 | UCLN_COMMON_PUTIL, | |
51004dcb | 53 | UCLN_COMMON_LIST_FORMATTER, |
57a6839d | 54 | UCLN_COMMON_UINIT, |
b331163b A |
55 | |
56 | /* | |
57 | Unified caches caches collation stuff. Collation data structures | |
58 | contain resource bundles which means that unified cache cleanup | |
59 | must happen before resource bundle clean up. | |
60 | */ | |
61 | UCLN_COMMON_UNIFIED_CACHE, | |
62 | UCLN_COMMON_URES, | |
374ca955 A |
63 | UCLN_COMMON_COUNT /* This must be last */ |
64 | } ECleanupCommonType; | |
65 | ||
66 | /* Main library cleanup registration function. */ | |
67 | /* See common/ucln.h for details on adding a cleanup function. */ | |
b331163b | 68 | /* Note: the global mutex must not be held when calling this function. */ |
374ca955 A |
69 | U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type, |
70 | cleanupFunc *func); | |
b75a7d8f A |
71 | |
72 | #endif |