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
00227 U_DEPRECATED int32_t U_EXPORT2
00228 ures_countArrayItems(const UResourceBundle* resourceBundle,
00229 const char* resourceKey,
00230 UErrorCode* err);
00239 U_STABLE void U_EXPORT2
00240 ures_close(UResourceBundle* resourceBundle);
00241
00242 #if U_SHOW_CPLUSPLUS_API
00243
00244 U_NAMESPACE_BEGIN
00245
00255 U_DEFINE_LOCAL_OPEN_POINTER(LocalUResourceBundlePointer, UResourceBundle, ures_close);
00256
00257 U_NAMESPACE_END
00258
00259 #endif
00260
00271 U_DEPRECATED const char* U_EXPORT2
00272 ures_getVersionNumber(const UResourceBundle* resourceBundle);
00273
00283 U_STABLE void U_EXPORT2
00284 ures_getVersion(const UResourceBundle* resB,
00285 UVersionInfo versionInfo);
00286
00299 U_DEPRECATED const char* U_EXPORT2
00300 ures_getLocale(const UResourceBundle* resourceBundle,
00301 UErrorCode* status);
00302
00303
00316 U_STABLE const char* U_EXPORT2
00317 ures_getLocaleByType(const UResourceBundle* resourceBundle,
00318 ULocDataLocaleType type,
00319 UErrorCode* status);
00320
00321
00338 U_INTERNAL void U_EXPORT2
00339 ures_openFillIn(UResourceBundle *r,
00340 const char* packageName,
00341 const char* localeID,
00342 UErrorCode* status);
00343
00361 U_STABLE const UChar* U_EXPORT2
00362 ures_getString(const UResourceBundle* resourceBundle,
00363 int32_t* len,
00364 UErrorCode* status);
00365
00413 U_STABLE const char * U_EXPORT2
00414 ures_getUTF8String(const UResourceBundle *resB,
00415 char *dest, int32_t *length,
00416 UBool forceCopy,
00417 UErrorCode *status);
00418
00436 U_STABLE const uint8_t* U_EXPORT2
00437 ures_getBinary(const UResourceBundle* resourceBundle,
00438 int32_t* len,
00439 UErrorCode* status);
00440
00458 U_STABLE const int32_t* U_EXPORT2
00459 ures_getIntVector(const UResourceBundle* resourceBundle,
00460 int32_t* len,
00461 UErrorCode* status);
00462
00479 U_STABLE uint32_t U_EXPORT2
00480 ures_getUInt(const UResourceBundle* resourceBundle,
00481 UErrorCode *status);
00482
00499 U_STABLE int32_t U_EXPORT2
00500 ures_getInt(const UResourceBundle* resourceBundle,
00501 UErrorCode *status);
00502
00513 U_STABLE int32_t U_EXPORT2
00514 ures_getSize(const UResourceBundle *resourceBundle);
00515
00524 U_STABLE UResType U_EXPORT2
00525 ures_getType(const UResourceBundle *resourceBundle);
00526
00535 U_STABLE const char * U_EXPORT2
00536 ures_getKey(const UResourceBundle *resourceBundle);
00537
00538
00539
00540
00541
00548 U_STABLE void U_EXPORT2
00549 ures_resetIterator(UResourceBundle *resourceBundle);
00550
00558 U_STABLE UBool U_EXPORT2
00559 ures_hasNext(const UResourceBundle *resourceBundle);
00560
00573 U_STABLE UResourceBundle* U_EXPORT2
00574 ures_getNextResource(UResourceBundle *resourceBundle,
00575 UResourceBundle *fillIn,
00576 UErrorCode *status);
00577
00590 U_STABLE const UChar* U_EXPORT2
00591 ures_getNextString(UResourceBundle *resourceBundle,
00592 int32_t* len,
00593 const char ** key,
00594 UErrorCode *status);
00595
00608 U_STABLE UResourceBundle* U_EXPORT2
00609 ures_getByIndex(const UResourceBundle *resourceBundle,
00610 int32_t indexR,
00611 UResourceBundle *fillIn,
00612 UErrorCode *status);
00613
00625 U_STABLE const UChar* U_EXPORT2
00626 ures_getStringByIndex(const UResourceBundle *resourceBundle,
00627 int32_t indexS,
00628 int32_t* len,
00629 UErrorCode *status);
00630
00679 U_STABLE const char * U_EXPORT2
00680 ures_getUTF8StringByIndex(const UResourceBundle *resB,
00681 int32_t stringIndex,
00682 char *dest, int32_t *pLength,
00683 UBool forceCopy,
00684 UErrorCode *status);
00685
00698 U_STABLE UResourceBundle* U_EXPORT2
00699 ures_getByKey(const UResourceBundle *resourceBundle,
00700 const char* key,
00701 UResourceBundle *fillIn,
00702 UErrorCode *status);
00703
00716 U_STABLE const UChar* U_EXPORT2
00717 ures_getStringByKey(const UResourceBundle *resB,
00718 const char* key,
00719 int32_t* len,
00720 UErrorCode *status);
00721
00772 U_STABLE const char * U_EXPORT2
00773 ures_getUTF8StringByKey(const UResourceBundle *resB,
00774 const char *key,
00775 char *dest, int32_t *pLength,
00776 UBool forceCopy,
00777 UErrorCode *status);
00778
00779 #if U_SHOW_CPLUSPLUS_API
00780 #include "unicode/unistr.h"
00781
00782 U_NAMESPACE_BEGIN
00794 inline UnicodeString
00795 ures_getUnicodeString(const UResourceBundle *resB,
00796 UErrorCode* status)
00797 {
00798 int32_t len = 0;
00799 const UChar *r = ures_getString(resB, &len, status);
00800 return UnicodeString(TRUE, r, len);
00801 }
00802
00813 inline UnicodeString
00814 ures_getNextUnicodeString(UResourceBundle *resB,
00815 const char ** key,
00816 UErrorCode* status)
00817 {
00818 int32_t len = 0;
00819 const UChar* r = ures_getNextString(resB, &len, key, status);
00820 return UnicodeString(TRUE, r, len);
00821 }
00822
00832 inline UnicodeString
00833 ures_getUnicodeStringByIndex(const UResourceBundle *resB,
00834 int32_t indexS,
00835 UErrorCode* status)
00836 {
00837 int32_t len = 0;
00838 const UChar* r = ures_getStringByIndex(resB, indexS, &len, status);
00839 return UnicodeString(TRUE, r, len);
00840 }
00841
00852 inline UnicodeString
00853 ures_getUnicodeStringByKey(const UResourceBundle *resB,
00854 const char* key,
00855 UErrorCode* status)
00856 {
00857 int32_t len = 0;
00858 const UChar* r = ures_getStringByKey(resB, key, &len, status);
00859 return UnicodeString(TRUE, r, len);
00860 }
00861
00862 U_NAMESPACE_END
00863
00864 #endif
00865
00874 U_STABLE UEnumeration* U_EXPORT2
00875 ures_openAvailableLocales(const char *packageName, UErrorCode *status);
00876
00877
00878 #endif
00879