00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __ULOCDATA_H__
00018 #define __ULOCDATA_H__
00019
00020 #include "unicode/ures.h"
00021 #include "unicode/uloc.h"
00022 #include "unicode/uset.h"
00023 #include "unicode/localpointer.h"
00024
00031 struct ULocaleData;
00032
00034 typedef struct ULocaleData ULocaleData;
00035
00036
00037
00041 typedef enum ULocaleDataExemplarSetType {
00043 ULOCDATA_ES_STANDARD=0,
00045 ULOCDATA_ES_AUXILIARY=1,
00047 ULOCDATA_ES_INDEX=2,
00049 ULOCDATA_ES_COUNT=3
00050 } ULocaleDataExemplarSetType;
00051
00055 typedef enum ULocaleDataDelimiterType {
00057 ULOCDATA_QUOTATION_START = 0,
00059 ULOCDATA_QUOTATION_END = 1,
00061 ULOCDATA_ALT_QUOTATION_START = 2,
00063 ULOCDATA_ALT_QUOTATION_END = 3,
00065 ULOCDATA_DELIMITER_COUNT = 4
00066 } ULocaleDataDelimiterType;
00067
00076 U_STABLE ULocaleData* U_EXPORT2
00077 ulocdata_open(const char *localeID, UErrorCode *status);
00078
00085 U_STABLE void U_EXPORT2
00086 ulocdata_close(ULocaleData *uld);
00087
00088 #if U_SHOW_CPLUSPLUS_API
00089
00090 U_NAMESPACE_BEGIN
00091
00101 U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close);
00102
00103 U_NAMESPACE_END
00104
00105 #endif
00106
00118 U_STABLE void U_EXPORT2
00119 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00120
00132 U_STABLE UBool U_EXPORT2
00133 ulocdata_getNoSubstitute(ULocaleData *uld);
00134
00162 U_STABLE USet* U_EXPORT2
00163 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00164 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00165
00179 U_STABLE int32_t U_EXPORT2
00180 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00181
00186 typedef enum UMeasurementSystem {
00187 UMS_SI,
00188 UMS_US,
00189 UMS_LIMIT
00190 } UMeasurementSystem;
00191
00202 U_STABLE UMeasurementSystem U_EXPORT2
00203 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00204
00221 U_STABLE void U_EXPORT2
00222 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00223
00230 U_STABLE void U_EXPORT2
00231 ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
00232
00248 U_STABLE int32_t U_EXPORT2
00249 ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
00250 UChar *pattern,
00251 int32_t patternCapacity,
00252 UErrorCode *status);
00253
00254
00270 U_STABLE int32_t U_EXPORT2
00271 ulocdata_getLocaleSeparator(ULocaleData *uld,
00272 UChar *separator,
00273 int32_t separatorCapacity,
00274 UErrorCode *status);
00275 #endif