]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | ****************************************************************************** | |
3 | * * | |
4 | * Copyright (C) 2001-2014, 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 | /* These are the cleanup functions for various APIs. */ | |
24 | /* @return true if cleanup complete successfully.*/ | |
25 | U_CFUNC UBool umtx_cleanup(void); | |
26 | ||
27 | U_CFUNC UBool utrace_cleanup(void); | |
28 | ||
29 | U_CFUNC UBool ucln_lib_cleanup(void); | |
30 | ||
31 | /* | |
32 | Please keep the order of enums declared in same order | |
33 | as the cleanup functions are suppose to be called. */ | |
34 | typedef enum ECleanupCommonType { | |
35 | UCLN_COMMON_START = -1, | |
36 | UCLN_COMMON_USPREP, | |
37 | UCLN_COMMON_BREAKITERATOR, | |
38 | UCLN_COMMON_BREAKITERATOR_DICT, | |
39 | UCLN_COMMON_SERVICE, | |
40 | UCLN_COMMON_LOCALE_KEY_TYPE, | |
41 | UCLN_COMMON_LOCALE, | |
42 | UCLN_COMMON_LOCALE_AVAILABLE, | |
43 | UCLN_COMMON_ULOC, | |
44 | UCLN_COMMON_LOADED_NORMALIZER2, | |
45 | UCLN_COMMON_NORMALIZER2, | |
46 | UCLN_COMMON_USET, | |
47 | UCLN_COMMON_UNAMES, | |
48 | UCLN_COMMON_UPROPS, | |
49 | UCLN_COMMON_UCNV, | |
50 | UCLN_COMMON_UCNV_IO, | |
51 | UCLN_COMMON_UDATA, | |
52 | UCLN_COMMON_PUTIL, | |
53 | UCLN_COMMON_LIST_FORMATTER, | |
54 | UCLN_COMMON_UINIT, | |
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, | |
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. */ | |
68 | /* Note: the global mutex must not be held when calling this function. */ | |
69 | U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type, | |
70 | cleanupFunc *func); | |
71 | ||
72 | #endif |