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.*/ 25U_CFUNC UBool umtx_cleanup(void); 26 27U_CFUNC UBool utrace_cleanup(void); 28 29U_CFUNC UBool ucln_lib_cleanup(void); 30 31/* 32Please keep the order of enums declared in same order 33as the cleanup functions are suppose to be called. */ 34typedef 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. */ 69U_CFUNC void U_EXPORT2 ucln_common_registerCleanup(ECleanupCommonType type, 70 cleanupFunc *func); 71 72#endif 73