10596faeddefbf198de137d5e893708495ab1584cFredrik Roubert// © 2016 and later: Unicode, Inc. and others.
264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html
3b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/*
4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************
58de051c3d18a56cc126f0f44e368495a52f9148cFredrik Roubert* Copyright (C) 2001-2016, International Business Machines
6fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius*                Corporation and others. All Rights Reserved.
7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************
88de051c3d18a56cc126f0f44e368495a52f9148cFredrik Roubert*   file name:  ucln_in.h
90596faeddefbf198de137d5e893708495ab1584cFredrik Roubert*   encoding:   UTF-8
10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*   tab size:   8 (not used)
11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*   indentation:4
12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*
13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*   created on: 2001July05
14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*   created by: George Rhoten
15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/
16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
1759d709d503bab6e2b61931737e662dd293b40578ccornelius#ifndef __UCLN_IN_H__
1859d709d503bab6e2b61931737e662dd293b40578ccornelius#define __UCLN_IN_H__
19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h"
21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "ucln.h"
22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/*
24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruPlease keep the order of enums declared in same order
2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoas the functions are suppose to be called.
2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoIt's usually best to have child dependencies called first. */
27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querutypedef enum ECleanupI18NType {
28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_START = -1,
29ffdc27edd5503111189fc11165c5a11289a71f79Fredrik Roubert    UCLN_I18N_CURRENCY_SPACING,
308393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    UCLN_I18N_SPOOF,
3164339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert    UCLN_I18N_SPOOFDATA,
32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_TRANSLITERATOR,
33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_REGEX,
34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_ISLAMIC_CALENDAR,
3585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho    UCLN_I18N_CHINESE_CALENDAR,
36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_HEBREW_CALENDAR,
37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_ASTRO_CALENDAR,
388393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    UCLN_I18N_DANGI_CALENDAR,
39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_CALENDAR,
408393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    UCLN_I18N_TIMEZONEFORMAT,
41f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius    UCLN_I18N_TZDBTIMEZONENAMES,
42103e9ffba2cba345d0078eb8b8db33249f81840aCraig Cornelius    UCLN_I18N_TIMEZONEGENERICNAMES,
43b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UCLN_I18N_TIMEZONENAMES,
4485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho    UCLN_I18N_ZONEMETA,
45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_TIMEZONE,
4664339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert    UCLN_I18N_DIGITLIST,
47b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UCLN_I18N_DECFMT,
4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho    UCLN_I18N_NUMFMT,
498de051c3d18a56cc126f0f44e368495a52f9148cFredrik Roubert    UCLN_I18N_ALLOWED_HOUR_FORMATS,
508de051c3d18a56cc126f0f44e368495a52f9148cFredrik Roubert    UCLN_I18N_DAYPERIODRULES,
51b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho    UCLN_I18N_SMPDTFMT,
52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_USEARCH,
53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_COLLATOR,
5485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho    UCLN_I18N_UCOL_RES,
55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_CSDET,
56fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius    UCLN_I18N_COLLATION_ROOT,
5754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius    UCLN_I18N_GENDERINFO,
588393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    UCLN_I18N_CDFINFO,
598393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius    UCLN_I18N_REGION,
60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru    UCLN_I18N_COUNT /* This must be last */
61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru} ECleanupI18NType;
62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* Main library cleanup registration function. */
64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* See common/ucln.h for details on adding a cleanup function. */
65f9878a236aa0d9662d8e40cafdaf2e04cd615835ccornelius/* Note: the global mutex must not be held when calling this function. */
66b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_CFUNC void U_EXPORT2 ucln_i18n_registerCleanup(ECleanupI18NType type,
67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru                                                 cleanupFunc *func);
68b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif
70