00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef URES_H
00023
#define URES_H
00024
00025
#include "unicode/utypes.h"
00026
#include "unicode/uloc.h"
00027
00170
struct UResourceBundle;
00171
00175 typedef struct UResourceBundle UResourceBundle;
00176
00181 typedef enum {
00182 RES_NONE=-1,
00183 RES_STRING=0,
00184 RES_BINARY=1,
00185 RES_TABLE=2,
00186
00187 RES_INT=7,
00188 RES_ARRAY=8,
00189
00190 RES_INT_VECTOR=14,
00191 RES_RESERVED=15
00192 }
UResType;
00193
00194
00195
00196
00197
00224 U_CAPI
UResourceBundle* U_EXPORT2
ures_open(
const char* path,
00225
const char* locale,
00226 UErrorCode* status);
00227
00228
00245 U_CAPI
UResourceBundle* U_EXPORT2
00246
ures_openDirect(
const char* path,
const char* locale, UErrorCode* status);
00247
00267 U_CAPI
UResourceBundle* U_EXPORT2
ures_openW(
const wchar_t* path,
00268
const char* locale,
00269 UErrorCode* status);
00270
00278 U_CAPI
UResourceBundle* U_EXPORT2
ures_openU(
const UChar* path,
00279
const char* locale,
00280 UErrorCode* status);
00281
00298 U_CAPI int32_t U_EXPORT2
ures_countArrayItems(
const UResourceBundle* resourceBundle,
00299
const char* resourceKey,
00300 UErrorCode* err);
00314 U_CAPI
void U_EXPORT2
ures_close(UResourceBundle* resourceBundle);
00315
00324 U_CAPI
const char* U_EXPORT2
ures_getVersionNumber(
const UResourceBundle* resourceBundle);
00325
00334 U_CAPI
void U_EXPORT2
ures_getVersion(
const UResourceBundle* resB, UVersionInfo versionInfo);
00335
00343 U_CAPI
const char* U_EXPORT2
00344
ures_getLocale(
const UResourceBundle* resourceBundle, UErrorCode* status);
00345
00353 U_CAPI
void U_EXPORT2
00354
ures_openFillIn(UResourceBundle *r,
const char* path,
00355
const char* localeID, UErrorCode* status);
00356
00369 U_CAPI
const UChar* U_EXPORT2
ures_getString(
const UResourceBundle* resourceBundle, int32_t* len,
00370 UErrorCode* status);
00371
00385 U_CAPI
const uint8_t* U_EXPORT2
ures_getBinary(
const UResourceBundle* resourceBundle, int32_t* len,
00386 UErrorCode* status);
00387
00400 U_CAPI
const int32_t* U_EXPORT2
ures_getIntVector(
const UResourceBundle* resourceBundle, int32_t* len,
00401 UErrorCode* status);
00402
00415 U_CAPI uint32_t U_EXPORT2
ures_getUInt(
const UResourceBundle* resourceBundle, UErrorCode *status);
00416
00429 U_CAPI int32_t U_EXPORT2
ures_getInt(
const UResourceBundle* resourceBundle, UErrorCode *status);
00430
00439 U_CAPI int32_t U_EXPORT2
ures_getSize(UResourceBundle *resourceBundle);
00440
00448 U_CAPI
UResType U_EXPORT2
ures_getType(UResourceBundle *resourceBundle);
00449
00458 U_CAPI
const char * U_EXPORT2
ures_getKey(UResourceBundle *resB);
00459
00460
00461
00462
00463
00470 U_CAPI
void U_EXPORT2
ures_resetIterator(UResourceBundle *resourceBundle);
00471
00479 U_CAPI UBool U_EXPORT2
ures_hasNext(UResourceBundle *resourceBundle);
00480
00492 U_CAPI
UResourceBundle* U_EXPORT2
ures_getNextResource(UResourceBundle *resourceBundle, UResourceBundle *fillIn, UErrorCode *status);
00493
00505 U_CAPI
const UChar* U_EXPORT2
ures_getNextString(UResourceBundle *resourceBundle, int32_t* len,
const char ** key, UErrorCode *status);
00506
00518 U_CAPI
UResourceBundle* U_EXPORT2
ures_getByIndex(
const UResourceBundle *resourceBundle, int32_t indexR, UResourceBundle *fillIn, UErrorCode *status);
00519
00530 U_CAPI
const UChar* U_EXPORT2
ures_getStringByIndex(
const UResourceBundle *resB, int32_t indexS, int32_t* len, UErrorCode *status);
00531
00544 U_CAPI
UResourceBundle* U_EXPORT2
ures_getByKey(
const UResourceBundle *resourceBundle,
const char* key, UResourceBundle *fillIn, UErrorCode *status);
00545
00557 U_CAPI
const UChar* U_EXPORT2
ures_getStringByKey(
const UResourceBundle *resB,
const char* key, int32_t* len, UErrorCode *status);
00558
00559
#ifdef XP_CPLUSPLUS
00560
#include "unicode/unistr.h"
00561
00562 U_NAMESPACE_BEGIN
00574
inline UnicodeString ures_getUnicodeString(
const UResourceBundle *resB, UErrorCode* status) {
00575 int32_t len = 0;
00576
const UChar *r =
ures_getString(resB, &len, status);
00577
return UnicodeString(TRUE, r, len);
00578 }
00579
00590
inline UnicodeString ures_getNextUnicodeString(UResourceBundle *resB,
const char ** key, UErrorCode* status) {
00591 int32_t len = 0;
00592
const UChar* r =
ures_getNextString(resB, &len, key, status);
00593
return UnicodeString(TRUE, r, len);
00594 }
00595
00605
inline UnicodeString ures_getUnicodeStringByIndex(
const UResourceBundle *resB, int32_t indexS, UErrorCode* status) {
00606 int32_t len = 0;
00607
const UChar* r =
ures_getStringByIndex(resB, indexS, &len, status);
00608
return UnicodeString(TRUE, r, len);
00609 }
00610
00621
inline UnicodeString ures_getUnicodeStringByKey(
const UResourceBundle *resB,
const char* key, UErrorCode* status) {
00622 int32_t len = 0;
00623
const UChar* r =
ures_getStringByKey(resB, key, &len, status);
00624
return UnicodeString(TRUE, r, len);
00625 }
00626
00627 U_NAMESPACE_END
00628
00629
#endif
00630
00631
#endif
00632