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
00026 #if U_SHOW_CPLUSPLUS_API
00027 #include "unicode/localpointer.h"
00028 #endif // U_SHOW_CPLUSPLUS_API
00029
00036 struct ULocaleData;
00037
00039 typedef struct ULocaleData ULocaleData;
00040
00041
00042
00046 typedef enum ULocaleDataExemplarSetType {
00048 ULOCDATA_ES_STANDARD=0,
00050 ULOCDATA_ES_AUXILIARY=1,
00052 ULOCDATA_ES_INDEX=2,
00054 ULOCDATA_ES_PUNCTUATION=3,
00055 #ifndef U_HIDE_DEPRECATED_API
00056
00060 ULOCDATA_ES_COUNT=4
00061 #endif
00062 } ULocaleDataExemplarSetType;
00063
00067 typedef enum ULocaleDataDelimiterType {
00069 ULOCDATA_QUOTATION_START = 0,
00071 ULOCDATA_QUOTATION_END = 1,
00073 ULOCDATA_ALT_QUOTATION_START = 2,
00075 ULOCDATA_ALT_QUOTATION_END = 3,
00076 #ifndef U_HIDE_DEPRECATED_API
00077
00081 ULOCDATA_DELIMITER_COUNT = 4
00082 #endif
00083 } ULocaleDataDelimiterType;
00084
00093 U_CAPI ULocaleData* U_EXPORT2
00094 ulocdata_open(const char *localeID, UErrorCode *status);
00095
00102 U_CAPI void U_EXPORT2
00103 ulocdata_close(ULocaleData *uld);
00104
00105 #if U_SHOW_CPLUSPLUS_API
00106
00107 U_NAMESPACE_BEGIN
00108
00118 U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close);
00119
00120 U_NAMESPACE_END
00121
00122 #endif
00123
00135 U_CAPI void U_EXPORT2
00136 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00137
00149 U_CAPI UBool U_EXPORT2
00150 ulocdata_getNoSubstitute(ULocaleData *uld);
00151
00179 U_CAPI USet* U_EXPORT2
00180 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00181 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00182
00196 U_CAPI int32_t U_EXPORT2
00197 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00198
00203 typedef enum UMeasurementSystem {
00204 UMS_SI,
00205 UMS_US,
00206 UMS_UK,
00207 #ifndef U_HIDE_DEPRECATED_API
00208
00212 UMS_LIMIT
00213 #endif
00214 } UMeasurementSystem;
00215
00226 U_CAPI UMeasurementSystem U_EXPORT2
00227 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00228
00245 U_CAPI void U_EXPORT2
00246 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00247
00254 U_CAPI void U_EXPORT2
00255 ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
00256
00272 U_CAPI int32_t U_EXPORT2
00273 ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
00274 UChar *pattern,
00275 int32_t patternCapacity,
00276 UErrorCode *status);
00277
00278
00294 U_CAPI int32_t U_EXPORT2
00295 ulocdata_getLocaleSeparator(ULocaleData *uld,
00296 UChar *separator,
00297 int32_t separatorCapacity,
00298 UErrorCode *status);
00299 #endif