00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef URES_H
00024 #define URES_H
00025
00026 #include "unicode/utypes.h"
00027 #include "unicode/uloc.h"
00028 #include "unicode/localpointer.h"
00029
00052 struct UResourceBundle;
00053
00057 typedef struct UResourceBundle UResourceBundle;
00058
00064 typedef enum {
00066 URES_NONE=-1,
00067
00069 URES_STRING=0,
00070
00072 URES_BINARY=1,
00073
00075 URES_TABLE=2,
00076
00084 URES_ALIAS=3,
00085
00093 URES_INT=7,
00094
00096 URES_ARRAY=8,
00097
00103 URES_INT_VECTOR = 14,
00104 #ifndef U_HIDE_DEPRECATED_API
00105
00106 RES_NONE=URES_NONE,
00108 RES_STRING=URES_STRING,
00110 RES_BINARY=URES_BINARY,
00112 RES_TABLE=URES_TABLE,
00114 RES_ALIAS=URES_ALIAS,
00116 RES_INT=URES_INT,
00118 RES_ARRAY=URES_ARRAY,
00120 RES_INT_VECTOR=URES_INT_VECTOR,
00122 RES_RESERVED=15,
00123 #endif
00124
00125 URES_LIMIT = 16
00126 } UResType;
00127
00128
00129
00130
00131
00160 U_STABLE UResourceBundle* U_EXPORT2
00161 ures_open(const char* packageName,
00162 const char* locale,
00163 UErrorCode* status);
00164
00165
00183 U_STABLE UResourceBundle* U_EXPORT2
00184 ures_openDirect(const char* packageName,
00185 const char* locale,
00186 UErrorCode* status);
00187
00206 U_STABLE UResourceBundle* U_EXPORT2
00207 ures_openU(const UChar* packageName,
00208 const char* locale,
00209 UErrorCode* status);
00210
00211 #ifndef U_HIDE_DEPRECATED_API
00212
00228 U_DEPRECATED int32_t U_EXPORT2
00229 ures_countArrayItems(const UResourceBundle* resourceBundle,
00230 const char* resourceKey,
00231 UErrorCode* err);
00232 #endif
00233
00241 U_STABLE void U_EXPORT2
00242 ures_close(UResourceBundle* resourceBundle);
00243
00244 #if U_SHOW_CPLUSPLUS_API
00245
00246 U_NAMESPACE_BEGIN
00247
00257 U_DEFINE_LOCAL_OPEN_POINTER(LocalUResourceBundlePointer, UResourceBundle, ures_close);
00258
00259 U_NAMESPACE_END
00260
00261 #endif
00262
00263 #ifndef U_HIDE_DEPRECATED_API
00264
00274 U_DEPRECATED const char* U_EXPORT2
00275 ures_getVersionNumber(const UResourceBundle* resourceBundle);
00276 #endif
00277
00287 U_STABLE void U_EXPORT2
00288 ures_getVersion(const UResourceBundle* resB,
00289 UVersionInfo versionInfo);
00290
00291 #ifndef U_HIDE_DEPRECATED_API
00292
00304 U_DEPRECATED const char* U_EXPORT2
00305 ures_getLocale(const UResourceBundle* resourceBundle,
00306 UErrorCode* status);
00307 #endif
00308
00321 U_STABLE const char* U_EXPORT2
00322 ures_getLocaleByType(const UResourceBundle* resourceBundle,
00323 ULocDataLocaleType type,
00324 UErrorCode* status);
00325
00326
00327 #ifndef U_HIDE_INTERNAL_API
00328
00344 U_INTERNAL void U_EXPORT2
00345 ures_openFillIn(UResourceBundle *r,
00346 const char* packageName,
00347 const char* localeID,
00348 UErrorCode* status);
00349 #endif
00350
00368 U_STABLE const UChar* U_EXPORT2
00369 ures_getString(const UResourceBundle* resourceBundle,
00370 int32_t* len,
00371 UErrorCode* status);
00372
00420 U_STABLE const char * U_EXPORT2
00421 ures_getUTF8String(const UResourceBundle *resB,
00422 char *dest, int32_t *length,
00423 UBool forceCopy,
00424 UErrorCode *status);
00425
00443 U_STABLE const uint8_t* U_EXPORT2
00444 ures_getBinary(const UResourceBundle* resourceBundle,
00445 int32_t* len,
00446 UErrorCode* status);
00447
00465 U_STABLE const int32_t* U_EXPORT2
00466 ures_getIntVector(const UResourceBundle* resourceBundle,
00467 int32_t* len,
00468 UErrorCode* status);
00469
00486 U_STABLE uint32_t U_EXPORT2
00487 ures_getUInt(const UResourceBundle* resourceBundle,
00488 UErrorCode *status);
00489
00506 U_STABLE int32_t U_EXPORT2
00507 ures_getInt(const UResourceBundle* resourceBundle,
00508 UErrorCode *status);
00509
00520 U_STABLE int32_t U_EXPORT2
00521 ures_getSize(const UResourceBundle *resourceBundle);
00522
00531 U_STABLE UResType U_EXPORT2
00532 ures_getType(const UResourceBundle *resourceBundle);
00533
00542 U_STABLE const char * U_EXPORT2
00543 ures_getKey(const UResourceBundle *resourceBundle);
00544
00545
00546
00547
00548
00555 U_STABLE void U_EXPORT2
00556 ures_resetIterator(UResourceBundle *resourceBundle);
00557
00565 U_STABLE UBool U_EXPORT2
00566 ures_hasNext(const UResourceBundle *resourceBundle);
00567
00580 U_STABLE UResourceBundle* U_EXPORT2
00581 ures_getNextResource(UResourceBundle *resourceBundle,
00582 UResourceBundle *fillIn,
00583 UErrorCode *status);
00584
00597 U_STABLE const UChar* U_EXPORT2
00598 ures_getNextString(UResourceBundle *resourceBundle,
00599 int32_t* len,
00600 const char ** key,
00601 UErrorCode *status);
00602
00615 U_STABLE UResourceBundle* U_EXPORT2
00616 ures_getByIndex(const UResourceBundle *resourceBundle,
00617 int32_t indexR,
00618 UResourceBundle *fillIn,
00619 UErrorCode *status);
00620
00632 U_STABLE const UChar* U_EXPORT2
00633 ures_getStringByIndex(const UResourceBundle *resourceBundle,
00634 int32_t indexS,
00635 int32_t* len,
00636 UErrorCode *status);
00637
00686 U_STABLE const char * U_EXPORT2
00687 ures_getUTF8StringByIndex(const UResourceBundle *resB,
00688 int32_t stringIndex,
00689 char *dest, int32_t *pLength,
00690 UBool forceCopy,
00691 UErrorCode *status);
00692
00705 U_STABLE UResourceBundle* U_EXPORT2
00706 ures_getByKey(const UResourceBundle *resourceBundle,
00707 const char* key,
00708 UResourceBundle *fillIn,
00709 UErrorCode *status);
00710
00723 U_STABLE const UChar* U_EXPORT2
00724 ures_getStringByKey(const UResourceBundle *resB,
00725 const char* key,
00726 int32_t* len,
00727 UErrorCode *status);
00728
00779 U_STABLE const char * U_EXPORT2
00780 ures_getUTF8StringByKey(const UResourceBundle *resB,
00781 const char *key,
00782 char *dest, int32_t *pLength,
00783 UBool forceCopy,
00784 UErrorCode *status);
00785
00786 #if U_SHOW_CPLUSPLUS_API
00787 #include "unicode/unistr.h"
00788
00789 U_NAMESPACE_BEGIN
00801 inline UnicodeString
00802 ures_getUnicodeString(const UResourceBundle *resB,
00803 UErrorCode* status)
00804 {
00805 int32_t len = 0;
00806 const UChar *r = ures_getString(resB, &len, status);
00807 return UnicodeString(TRUE, r, len);
00808 }
00809
00820 inline UnicodeString
00821 ures_getNextUnicodeString(UResourceBundle *resB,
00822 const char ** key,
00823 UErrorCode* status)
00824 {
00825 int32_t len = 0;
00826 const UChar* r = ures_getNextString(resB, &len, key, status);
00827 return UnicodeString(TRUE, r, len);
00828 }
00829
00839 inline UnicodeString
00840 ures_getUnicodeStringByIndex(const UResourceBundle *resB,
00841 int32_t indexS,
00842 UErrorCode* status)
00843 {
00844 int32_t len = 0;
00845 const UChar* r = ures_getStringByIndex(resB, indexS, &len, status);
00846 return UnicodeString(TRUE, r, len);
00847 }
00848
00859 inline UnicodeString
00860 ures_getUnicodeStringByKey(const UResourceBundle *resB,
00861 const char* key,
00862 UErrorCode* status)
00863 {
00864 int32_t len = 0;
00865 const UChar* r = ures_getStringByKey(resB, key, &len, status);
00866 return UnicodeString(TRUE, r, len);
00867 }
00868
00869 U_NAMESPACE_END
00870
00871 #endif
00872
00881 U_STABLE UEnumeration* U_EXPORT2
00882 ures_openAvailableLocales(const char *packageName, UErrorCode *status);
00883
00884
00885 #endif
00886