ICU 73.2  73.2
ulocdata.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 ******************************************************************************
00005 *                                                                            *
00006 * Copyright (C) 2003-2015, International Business Machines                   *
00007 *                Corporation and others. All Rights Reserved.                *
00008 *                                                                            *
00009 ******************************************************************************
00010 *   file name:  ulocdata.h
00011 *   encoding:   UTF-8
00012 *   tab size:   8 (not used)
00013 *   indentation:4
00014 *
00015 *   created on: 2003Oct21
00016 *   created by: Ram Viswanadha
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  /* U_HIDE_DEPRECATED_API */
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  /* U_HIDE_DEPRECATED_API */
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  /* U_HIDE_DEPRECATED_API */
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