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 {
00042 ULOCDATA_ES_STANDARD=0,
00043 ULOCDATA_ES_AUXILIARY=1,
00044 ULOCDATA_ES_COUNT=2
00045 } ULocaleDataExemplarSetType;
00046
00050 typedef enum ULocaleDataDelimiterType {
00051 ULOCDATA_QUOTATION_START = 0,
00052 ULOCDATA_QUOTATION_END = 1,
00053 ULOCDATA_ALT_QUOTATION_START = 2,
00054 ULOCDATA_ALT_QUOTATION_END = 3,
00055 ULOCDATA_DELIMITER_COUNT = 4
00056 } ULocaleDataDelimiterType;
00057
00066 U_STABLE ULocaleData* U_EXPORT2
00067 ulocdata_open(const char *localeID, UErrorCode *status);
00068
00075 U_STABLE void U_EXPORT2
00076 ulocdata_close(ULocaleData *uld);
00077
00078 #if U_SHOW_CPLUSPLUS_API
00079
00080 U_NAMESPACE_BEGIN
00081
00091 U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close);
00092
00093 U_NAMESPACE_END
00094
00095 #endif
00096
00108 U_STABLE void U_EXPORT2
00109 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00110
00122 U_STABLE UBool U_EXPORT2
00123 ulocdata_getNoSubstitute(ULocaleData *uld);
00124
00150 U_STABLE USet* U_EXPORT2
00151 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00152 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00153
00167 U_STABLE int32_t U_EXPORT2
00168 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00169
00174 typedef enum UMeasurementSystem {
00175 UMS_SI,
00176 UMS_US,
00177 UMS_LIMIT
00178 } UMeasurementSystem;
00179
00190 U_STABLE UMeasurementSystem U_EXPORT2
00191 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00192
00209 U_STABLE void U_EXPORT2
00210 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00211
00218 U_STABLE void U_EXPORT2
00219 ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
00220
00236 U_STABLE int32_t U_EXPORT2
00237 ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
00238 UChar *pattern,
00239 int32_t patternCapacity,
00240 UErrorCode *status);
00241
00242
00258 U_STABLE int32_t U_EXPORT2
00259 ulocdata_getLocaleSeparator(ULocaleData *uld,
00260 UChar *separator,
00261 int32_t separatorCapacity,
00262 UErrorCode *status);
00263 #endif