michael@0: /* michael@0: ****************************************************************************** michael@0: * * michael@0: * Copyright (C) 2001-2013, International Business Machines * michael@0: * Corporation and others. All Rights Reserved. * michael@0: * * michael@0: ****************************************************************************** michael@0: * file name: ucln_cmn.h michael@0: * encoding: US-ASCII michael@0: * tab size: 8 (not used) michael@0: * indentation:4 michael@0: * michael@0: * created on: 2001July05 michael@0: * created by: George Rhoten michael@0: */ michael@0: michael@0: #ifndef __UCLN_CMN_H__ michael@0: #define __UCLN_CMN_H__ michael@0: michael@0: #include "unicode/utypes.h" michael@0: #include "ucln.h" michael@0: michael@0: /* These are the cleanup functions for various APIs. */ michael@0: /* @return true if cleanup complete successfully.*/ michael@0: U_CFUNC UBool umtx_cleanup(void); michael@0: michael@0: U_CFUNC UBool utrace_cleanup(void); michael@0: michael@0: U_CFUNC UBool ucln_lib_cleanup(void); michael@0: michael@0: /* michael@0: Please keep the order of enums declared in same order michael@0: as the cleanup functions are suppose to be called. */ michael@0: typedef enum ECleanupCommonType { michael@0: UCLN_COMMON_START = -1, michael@0: UCLN_COMMON_USPREP, michael@0: UCLN_COMMON_BREAKITERATOR, michael@0: UCLN_COMMON_BREAKITERATOR_DICT, michael@0: UCLN_COMMON_SERVICE, michael@0: UCLN_COMMON_URES, michael@0: UCLN_COMMON_LOCALE, michael@0: UCLN_COMMON_LOCALE_AVAILABLE, michael@0: UCLN_COMMON_ULOC, michael@0: UCLN_COMMON_NORMALIZER2, michael@0: UCLN_COMMON_USET, michael@0: UCLN_COMMON_UNAMES, michael@0: UCLN_COMMON_UPROPS, michael@0: UCLN_COMMON_UCNV, michael@0: UCLN_COMMON_UCNV_IO, michael@0: UCLN_COMMON_UDATA, michael@0: UCLN_COMMON_PUTIL, michael@0: UCLN_COMMON_LIST_FORMATTER, michael@0: UCLN_COMMON_UINIT, michael@0: UCLN_COMMON_COUNT /* This must be last */ michael@0: } ECleanupCommonType; michael@0: michael@0: /* Main library cleanup registration function. */ michael@0: /* See common/ucln.h for details on adding a cleanup function. */ michael@0: U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type, michael@0: cleanupFunc *func); michael@0: michael@0: #endif