|
1 /* |
|
2 ****************************************************************************** |
|
3 * * |
|
4 * Copyright (C) 2001-2005, 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_common_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_SERVICE, |
|
39 UCLN_COMMON_URES, |
|
40 UCLN_COMMON_LOCALE, |
|
41 UCLN_COMMON_ULOC, |
|
42 UCLN_COMMON_UNORM, |
|
43 UCLN_COMMON_USET, |
|
44 UCLN_COMMON_UNAMES, |
|
45 UCLN_COMMON_PNAME, |
|
46 UCLN_COMMON_UPROPS, |
|
47 UCLN_COMMON_UBIDI, |
|
48 UCLN_COMMON_UCASE, |
|
49 UCLN_COMMON_UCHAR, |
|
50 UCLN_COMMON_UCNV, |
|
51 UCLN_COMMON_UCNV_IO, |
|
52 UCLN_COMMON_UDATA, |
|
53 UCLN_COMMON_PUTIL, |
|
54 UCLN_COMMON_COUNT /* This must be last */ |
|
55 } ECleanupCommonType; |
|
56 |
|
57 /* Main library cleanup registration function. */ |
|
58 /* See common/ucln.h for details on adding a cleanup function. */ |
|
59 U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type, |
|
60 cleanupFunc *func); |
|
61 |
|
62 #endif |