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
00051 struct UResourceBundle;
00052
00056 typedef struct UResourceBundle UResourceBundle;
00057
00063 typedef enum {
00065 URES_NONE=-1,
00066
00068 URES_STRING=0,
00069
00071 URES_BINARY=1,
00072
00074 URES_TABLE=2,
00075
00083 URES_ALIAS=3,
00084
00085 #ifndef U_HIDE_INTERNAL_API
00086
00093 URES_TABLE32=4,
00094
00095 #endif
00096
00104 URES_INT=7,
00105
00107 URES_ARRAY=8,
00108
00114 URES_INT_VECTOR = 14,
00115 #ifndef U_HIDE_DEPRECATED_API
00116
00117 RES_NONE=URES_NONE,
00119 RES_STRING=URES_STRING,
00121 RES_BINARY=URES_BINARY,
00123 RES_TABLE=URES_TABLE,
00125 RES_ALIAS=URES_ALIAS,
00127 RES_INT=URES_INT,
00129 RES_ARRAY=URES_ARRAY,
00131 RES_INT_VECTOR=URES_INT_VECTOR,
00133 RES_RESERVED=15,
00134 #endif
00135
00136 URES_LIMIT = 16
00137 } UResType;
00138
00139
00140
00141
00142
00171 U_STABLE UResourceBundle* U_EXPORT2
00172 ures_open(const char* packageName,
00173 const char* locale,
00174 UErrorCode* status);
00175
00176
00194 U_STABLE UResourceBundle* U_EXPORT2
00195 ures_openDirect(const char* packageName,
00196 const char* locale,
00197 UErrorCode* status);
00198
00217 U_STABLE UResourceBundle* U_EXPORT2
00218 ures_openU(const UChar* packageName,
00219 const char* locale,
00220 UErrorCode* status);
00221
00238 U_DEPRECATED int32_t U_EXPORT2
00239 ures_countArrayItems(const UResourceBundle* resourceBundle,
00240 const char* resourceKey,
00241 UErrorCode* err);
00250 U_STABLE void U_EXPORT2
00251 ures_close(UResourceBundle* resourceBundle);
00252
00263 U_DEPRECATED const char* U_EXPORT2
00264 ures_getVersionNumber(const UResourceBundle* resourceBundle);
00265
00275 U_STABLE void U_EXPORT2
00276 ures_getVersion(const UResourceBundle* resB,
00277 UVersionInfo versionInfo);
00278
00291 U_DEPRECATED const char* U_EXPORT2
00292 ures_getLocale(const UResourceBundle* resourceBundle,
00293 UErrorCode* status);
00294
00295
00308 U_STABLE const char* U_EXPORT2
00309 ures_getLocaleByType(const UResourceBundle* resourceBundle,
00310 ULocDataLocaleType type,
00311 UErrorCode* status);
00312
00313
00330 U_INTERNAL void U_EXPORT2
00331 ures_openFillIn(UResourceBundle *r,
00332 const char* packageName,
00333 const char* localeID,
00334 UErrorCode* status);
00335
00353 U_STABLE const UChar* U_EXPORT2
00354 ures_getString(const UResourceBundle* resourceBundle,
00355 int32_t* len,
00356 UErrorCode* status);
00357
00405 U_DRAFT const char * U_EXPORT2
00406 ures_getUTF8String(const UResourceBundle *resB,
00407 char *dest, int32_t *length,
00408 UBool forceCopy,
00409 UErrorCode *status);
00410
00428 U_STABLE const uint8_t* U_EXPORT2
00429 ures_getBinary(const UResourceBundle* resourceBundle,
00430 int32_t* len,
00431 UErrorCode* status);
00432
00450 U_STABLE const int32_t* U_EXPORT2
00451 ures_getIntVector(const UResourceBundle* resourceBundle,
00452 int32_t* len,
00453 UErrorCode* status);
00454
00471 U_STABLE uint32_t U_EXPORT2
00472 ures_getUInt(const UResourceBundle* resourceBundle,
00473 UErrorCode *status);
00474
00491 U_STABLE int32_t U_EXPORT2
00492 ures_getInt(const UResourceBundle* resourceBundle,
00493 UErrorCode *status);
00494
00505 U_STABLE int32_t U_EXPORT2
00506 ures_getSize(const UResourceBundle *resourceBundle);
00507
00516 U_STABLE UResType U_EXPORT2
00517 ures_getType(const UResourceBundle *resourceBundle);
00518
00527 U_STABLE const char * U_EXPORT2
00528 ures_getKey(const UResourceBundle *resourceBundle);
00529
00530
00531
00532
00533
00540 U_STABLE void U_EXPORT2
00541 ures_resetIterator(UResourceBundle *resourceBundle);
00542
00550 U_STABLE UBool U_EXPORT2
00551 ures_hasNext(const UResourceBundle *resourceBundle);
00552
00565 U_STABLE UResourceBundle* U_EXPORT2
00566 ures_getNextResource(UResourceBundle *resourceBundle,
00567 UResourceBundle *fillIn,
00568 UErrorCode *status);
00569
00582 U_STABLE const UChar* U_EXPORT2
00583 ures_getNextString(UResourceBundle *resourceBundle,
00584 int32_t* len,
00585 const char ** key,
00586 UErrorCode *status);
00587
00600 U_STABLE UResourceBundle* U_EXPORT2
00601 ures_getByIndex(const UResourceBundle *resourceBundle,
00602 int32_t indexR,
00603 UResourceBundle *fillIn,
00604 UErrorCode *status);
00605
00617 U_STABLE const UChar* U_EXPORT2
00618 ures_getStringByIndex(const UResourceBundle *resourceBundle,
00619 int32_t indexS,
00620 int32_t* len,
00621 UErrorCode *status);
00622
00671 U_DRAFT const char * U_EXPORT2
00672 ures_getUTF8StringByIndex(const UResourceBundle *resB,
00673 int32_t index,
00674 char *dest, int32_t *pLength,
00675 UBool forceCopy,
00676 UErrorCode *status);
00677
00690 U_STABLE UResourceBundle* U_EXPORT2
00691 ures_getByKey(const UResourceBundle *resourceBundle,
00692 const char* key,
00693 UResourceBundle *fillIn,
00694 UErrorCode *status);
00695
00708 U_STABLE const UChar* U_EXPORT2
00709 ures_getStringByKey(const UResourceBundle *resB,
00710 const char* key,
00711 int32_t* len,
00712 UErrorCode *status);
00713
00764 U_DRAFT const char * U_EXPORT2
00765 ures_getUTF8StringByKey(const UResourceBundle *resB,
00766 const char *key,
00767 char *dest, int32_t *pLength,
00768 UBool forceCopy,
00769 UErrorCode *status);
00770
00771 #ifdef XP_CPLUSPLUS
00772 #include "unicode/unistr.h"
00773
00774 U_NAMESPACE_BEGIN
00786 inline UnicodeString
00787 ures_getUnicodeString(const UResourceBundle *resB,
00788 UErrorCode* status)
00789 {
00790 int32_t len = 0;
00791 const UChar *r = ures_getString(resB, &len, status);
00792 return UnicodeString(TRUE, r, len);
00793 }
00794
00805 inline UnicodeString
00806 ures_getNextUnicodeString(UResourceBundle *resB,
00807 const char ** key,
00808 UErrorCode* status)
00809 {
00810 int32_t len = 0;
00811 const UChar* r = ures_getNextString(resB, &len, key, status);
00812 return UnicodeString(TRUE, r, len);
00813 }
00814
00824 inline UnicodeString
00825 ures_getUnicodeStringByIndex(const UResourceBundle *resB,
00826 int32_t indexS,
00827 UErrorCode* status)
00828 {
00829 int32_t len = 0;
00830 const UChar* r = ures_getStringByIndex(resB, indexS, &len, status);
00831 return UnicodeString(TRUE, r, len);
00832 }
00833
00844 inline UnicodeString
00845 ures_getUnicodeStringByKey(const UResourceBundle *resB,
00846 const char* key,
00847 UErrorCode* status)
00848 {
00849 int32_t len = 0;
00850 const UChar* r = ures_getStringByKey(resB, key, &len, status);
00851 return UnicodeString(TRUE, r, len);
00852 }
00853
00854 U_NAMESPACE_END
00855
00856 #endif
00857
00866 U_STABLE UEnumeration* U_EXPORT2
00867 ures_openAvailableLocales(const char *packageName, UErrorCode *status);
00868
00869
00870 #endif
00871