00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __ULOCDATA_H__
00020 #define __ULOCDATA_H__
00021
00022 #include "unicode/ures.h"
00023 #include "unicode/uloc.h"
00024 #include "unicode/uset.h"
00025 #include "unicode/localpointer.h"
00026
00033 struct ULocaleData;
00034
00036 typedef struct ULocaleData ULocaleData;
00037
00038
00039
00043 typedef enum ULocaleDataExemplarSetType {
00045 ULOCDATA_ES_STANDARD=0,
00047 ULOCDATA_ES_AUXILIARY=1,
00049 ULOCDATA_ES_INDEX=2,
00051 ULOCDATA_ES_PUNCTUATION=3,
00052 #ifndef U_HIDE_DEPRECATED_API
00053
00057 ULOCDATA_ES_COUNT=4
00058 #endif
00059 } ULocaleDataExemplarSetType;
00060
00064 typedef enum ULocaleDataDelimiterType {
00066 ULOCDATA_QUOTATION_START = 0,
00068 ULOCDATA_QUOTATION_END = 1,
00070 ULOCDATA_ALT_QUOTATION_START = 2,
00072 ULOCDATA_ALT_QUOTATION_END = 3,
00073 #ifndef U_HIDE_DEPRECATED_API
00074
00078 ULOCDATA_DELIMITER_COUNT = 4
00079 #endif
00080 } ULocaleDataDelimiterType;
00081
00090 U_STABLE ULocaleData* U_EXPORT2
00091 ulocdata_open(const char *localeID, UErrorCode *status);
00092
00099 U_STABLE void U_EXPORT2
00100 ulocdata_close(ULocaleData *uld);
00101
00102 #if U_SHOW_CPLUSPLUS_API
00103
00104 U_NAMESPACE_BEGIN
00105
00115 U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close);
00116
00117 U_NAMESPACE_END
00118
00119 #endif
00120
00132 U_STABLE void U_EXPORT2
00133 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00134
00146 U_STABLE UBool U_EXPORT2
00147 ulocdata_getNoSubstitute(ULocaleData *uld);
00148
00176 U_STABLE USet* U_EXPORT2
00177 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00178 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00179
00193 U_STABLE int32_t U_EXPORT2
00194 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00195
00200 typedef enum UMeasurementSystem {
00201 UMS_SI,
00202 UMS_US,
00203 UMS_UK,
00204 #ifndef U_HIDE_DEPRECATED_API
00205
00209 UMS_LIMIT
00210 #endif
00211 } UMeasurementSystem;
00212
00223 U_STABLE UMeasurementSystem U_EXPORT2
00224 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00225
00242 U_STABLE void U_EXPORT2
00243 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00244
00251 U_STABLE void U_EXPORT2
00252 ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
00253
00269 U_STABLE int32_t U_EXPORT2
00270 ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
00271 UChar *pattern,
00272 int32_t patternCapacity,
00273 UErrorCode *status);
00274
00275
00291 U_STABLE int32_t U_EXPORT2
00292 ulocdata_getLocaleSeparator(ULocaleData *uld,
00293 UChar *separator,
00294 int32_t separatorCapacity,
00295 UErrorCode *status);
00296 #endif