X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/46f4442e9a5a4f3b98b7c1083586332f6a8a99a4..f3c0d7a59d99c2a94c6b8822291f0e42be3773c9:/icuSources/common/ucln.h diff --git a/icuSources/common/ucln.h b/icuSources/common/ucln.h index a4573e93..fe6666ef 100644 --- a/icuSources/common/ucln.h +++ b/icuSources/common/ucln.h @@ -1,12 +1,14 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** -* * -* Copyright (C) 2001-2007, International Business Machines * -* Corporation and others. All Rights Reserved. * -* * +* +* Copyright (C) 2001-2013, International Business Machines +* Corporation and others. All Rights Reserved. +* ****************************************************************************** -* file name: ucln_cmn.h -* encoding: US-ASCII +* file name: ucln.h +* encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * @@ -47,10 +49,15 @@ * Please see common/ucln_cmn.{h,c} and i18n/ucln_in.{h,c} for examples. */ +/** + * Data Type for cleanup function selector. These roughly correspond to libraries. + */ typedef enum ECleanupLibraryType { UCLN_START = -1, + UCLN_UPLUG, /* ICU plugins */ UCLN_CUSTOM, /* Custom is for anyone else. */ UCLN_CTESTFW, + UCLN_TOOLUTIL, UCLN_LAYOUTEX, UCLN_LAYOUT, UCLN_IO, @@ -58,11 +65,27 @@ typedef enum ECleanupLibraryType { UCLN_COMMON /* This must be the last one to cleanup. */ } ECleanupLibraryType; +/** + * Data type for cleanup function pointer + */ U_CDECL_BEGIN typedef UBool U_CALLCONV cleanupFunc(void); +typedef void U_CALLCONV initFunc(UErrorCode *); U_CDECL_END +/** + * Register a cleanup function + * @param type which library to register for. + * @param func the function pointer + */ U_CAPI void U_EXPORT2 ucln_registerCleanup(ECleanupLibraryType type, cleanupFunc *func); +/** + * Request cleanup for one specific library. + * Not thread safe. + * @param type which library to cleanup + */ +U_CAPI void U_EXPORT2 ucln_cleanupOne(ECleanupLibraryType type); + #endif