Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

ures.h File Reference

C API: Resource Bundle. More...

#include "unicode/utypes.h"
#include "unicode/uloc.h"

Go to the source code of this file.

Typedefs

typedef UResourceBundle UResourceBundle
 ICU 2.0

Enumerations

enum  UResType {
  URES_NONE = -1, URES_STRING = 0, URES_BINARY = 1, URES_TABLE = 2,
  URES_ALIAS = 3, URES_TABLE32 = 4, URES_INT = 7, URES_ARRAY = 8,
  URES_INT_VECTOR = 14, RES_NONE = URES_NONE, RES_STRING = URES_STRING, RES_BINARY = URES_BINARY,
  RES_TABLE = URES_TABLE, RES_ALIAS = URES_ALIAS, RES_INT = URES_INT, RES_ARRAY = URES_ARRAY,
  RES_INT_VECTOR = URES_INT_VECTOR, RES_RESERVED = 15
}
 Numeric constants for types of resource items. More...

Functions

U_CAPI UResourceBundle *U_EXPORT2 ures_open (const char *path, const char *locale, UErrorCode *status)
 Opens a UResourceBundle, from which users can extract strings by using their corresponding keys.
U_CAPI UResourceBundle *U_EXPORT2 ures_openDirect (const char *path, const char *locale, UErrorCode *status)
 This function does not care what kind of localeID is passed in.
U_CAPI UResourceBundle *U_EXPORT2 ures_openU (const UChar *path, const char *locale, UErrorCode *status)
 Same as ures_open() but takes a const UChar *path.
U_CAPI int32_t U_EXPORT2 ures_countArrayItems (const UResourceBundle *resourceBundle, const char *resourceKey, UErrorCode *err)
 Returns the number of strings/arrays in resource bundles.
U_CAPI void U_EXPORT2 ures_close (UResourceBundle *resourceBundle)
 Close a resource bundle, all pointers returned from the various ures_getXXX calls on this particular bundle should be considered invalid henceforth.
U_CAPI const char *U_EXPORT2 ures_getVersionNumber (const UResourceBundle *resourceBundle)
 Return the version number associated with this ResourceBundle as a string.
U_CAPI void U_EXPORT2 ures_getVersion (const UResourceBundle *resB, UVersionInfo versionInfo)
 Return the version number associated with this ResourceBundle as an UVersionInfo array.
U_CAPI const char *U_EXPORT2 ures_getLocale (const UResourceBundle *resourceBundle, UErrorCode *status)
 Return the name of the Locale associated with this ResourceBundle.
U_CAPI const char *U_EXPORT2 ures_getLocaleByType (const UResourceBundle *resourceBundle, ULocDataLocaleType type, UErrorCode *status)
 Return the name of the Locale associated with this ResourceBundle.
U_CAPI void U_EXPORT2 ures_openFillIn (UResourceBundle *r, const char *path, const char *localeID, UErrorCode *status)
 Same as ures_open() but uses the fill-in parameter instead of allocating a bundle, if r!=NULL.
U_CAPI const UChar *U_EXPORT2 ures_getString (const UResourceBundle *resourceBundle, int32_t *len, UErrorCode *status)
 Returns a string from a string resource type.
U_CAPI const uint8_t *U_EXPORT2 ures_getBinary (const UResourceBundle *resourceBundle, int32_t *len, UErrorCode *status)
 Returns a binary data from a binary resource.
U_CAPI const int32_t *U_EXPORT2 ures_getIntVector (const UResourceBundle *resourceBundle, int32_t *len, UErrorCode *status)
 Returns a 32 bit integer array from a resource.
U_CAPI uint32_t U_EXPORT2 ures_getUInt (const UResourceBundle *resourceBundle, UErrorCode *status)
 Returns an unsigned integer from a resource.
U_CAPI int32_t U_EXPORT2 ures_getInt (const UResourceBundle *resourceBundle, UErrorCode *status)
 Returns a signed integer from a resource.
U_CAPI int32_t U_EXPORT2 ures_getSize (UResourceBundle *resourceBundle)
 Returns the size of a resource.
U_CAPI UResType U_EXPORT2 ures_getType (UResourceBundle *resourceBundle)
 Returns the type of a resource.
U_CAPI const char *U_EXPORT2 ures_getKey (UResourceBundle *resourceBundle)
 Returns the key associated with a given resource.
U_CAPI void U_EXPORT2 ures_resetIterator (UResourceBundle *resourceBundle)
 Resets the internal context of a resource so that iteration starts from the first element.
U_CAPI UBool U_EXPORT2 ures_hasNext (UResourceBundle *resourceBundle)
 Checks whether the given resource has another element to iterate over.
U_CAPI UResourceBundle *U_EXPORT2 ures_getNextResource (UResourceBundle *resourceBundle, UResourceBundle *fillIn, UErrorCode *status)
 Returns the next resource in a given resource or NULL if there are no more resources to iterate over.
U_CAPI const UChar *U_EXPORT2 ures_getNextString (UResourceBundle *resourceBundle, int32_t *len, const char **key, UErrorCode *status)
 Returns the next string in a given resource or NULL if there are no more resources to iterate over.
U_CAPI UResourceBundle *U_EXPORT2 ures_getByIndex (const UResourceBundle *resourceBundle, int32_t indexR, UResourceBundle *fillIn, UErrorCode *status)
 Returns the resource in a given resource at the specified index.
U_CAPI const UChar *U_EXPORT2 ures_getStringByIndex (const UResourceBundle *resourceBundle, int32_t indexS, int32_t *len, UErrorCode *status)
 Returns the string in a given resource at the specified index.
U_CAPI UResourceBundle *U_EXPORT2 ures_getByKey (const UResourceBundle *resourceBundle, const char *key, UResourceBundle *fillIn, UErrorCode *status)
 Returns a resource in a given resource that has a given key.
U_CAPI const UChar *U_EXPORT2 ures_getStringByKey (const UResourceBundle *resB, const char *key, int32_t *len, UErrorCode *status)
 Returns a string in a given resource that has a given key.


Detailed Description

C API: Resource Bundle.

C API: Resource Bundle

C API representing a collection of resource information pertaining to a given locale. A resource bundle provides a way of accessing locale- specific information in a data file. You create a resource bundle that manages the resources for a given locale and then ask it for individual resources.

Resource bundles in ICU4C are currently defined using text files which conform to the following BNF definition. More on resource bundle concepts and syntax can be found in the Users Guide.


Enumeration Type Documentation

enum UResType
 

Numeric constants for types of resource items.

See also:
ures_getType ICU 2.0
Enumeration values:
URES_NONE  Resource type constant for "no resource".

ICU 2.6

URES_STRING  Resource type constant for 16-bit Unicode strings.

ICU 2.6

URES_BINARY  Resource type constant for binary data.

ICU 2.6

URES_TABLE  Resource type constant for tables of key-value pairs.

ICU 2.6

URES_ALIAS  Resource type constant for aliases; internally stores a string which identifies the actual resource storing the data (can be in a different resource bundle).

Resolved internally before delivering the actual resource through the API. ICU 2.6

URES_TABLE32  Internal use only.

Alternative resource type constant for tables of key-value pairs. Never returned by ures_getType().

For internal use only.

URES_INT  Resource type constant for a single 28-bit integer, interpreted as signed or unsigned by the ures_getInt() or ures_getUInt() function.

See also:
ures_getInt

ures_getUInt ICU 2.6

URES_ARRAY  Resource type constant for arrays of resources.

ICU 2.6

URES_INT_VECTOR  Resource type constant for vectors of 32-bit integers.

See also:
ures_getIntVector ICU 2.6
RES_NONE 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_STRING 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_BINARY 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_TABLE 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_ALIAS 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_INT 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_ARRAY 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_INT_VECTOR 
Deprecated:
ICU 2.6 Use the URES_ constant instead.
RES_RESERVED 
Deprecated:
ICU 2.6 Not used.


Function Documentation

U_CAPI void U_EXPORT2 ures_close UResourceBundle resourceBundle  ) 
 

Close a resource bundle, all pointers returned from the various ures_getXXX calls on this particular bundle should be considered invalid henceforth.

Parameters:
resourceBundle a pointer to a resourceBundle struct. Can be NULL.
See also:
ures_open ICU 2.0

U_CAPI int32_t U_EXPORT2 ures_countArrayItems const UResourceBundle resourceBundle,
const char *  resourceKey,
UErrorCode err
 

Returns the number of strings/arrays in resource bundles.

Better to use ures_getSize, as this function will be deprecated.

Parameters:
resourceBundle resource bundle containing the desired strings
resourceKey key tagging the resource
err fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR</t> if the key is not found could be a non-failing error e.g.: U_USING_FALLBACK_WARNING,U_USING_FALLBACK_WARNING
Returns:
: for Arrays: returns the number of resources in the array Tables: returns the number of resources in the table single string: returns 1
See also:
ures_getSize
Deprecated:
ICU 2.8 User ures_getSize instead

U_CAPI const uint8_t* U_EXPORT2 ures_getBinary const UResourceBundle resourceBundle,
int32_t *  len,
UErrorCode status
 

Returns a binary data from a binary resource.

Parameters:
resourceBundle a string resource
len fills in the length of resulting byte chunk
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR</t> if the key is not found Always check the value of status. Don't count on returning NULL. could be a non-failing error e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a pointer to a chuck of unsigned bytes which live in a memory mapped/DLL file.
See also:
ures_getString

ures_getIntVector

ures_getInt

ures_getUInt ICU 2.0

U_CAPI UResourceBundle* U_EXPORT2 ures_getByIndex const UResourceBundle resourceBundle,
int32_t  indexR,
UResourceBundle fillIn,
UErrorCode status
 

Returns the resource in a given resource at the specified index.

Features a fill-in parameter.

Parameters:
resourceBundle the resource bundle from which to get a sub-resource
indexR an index to the wanted resource.
fillIn if NULL a new UResourceBundle struct is allocated and must be deleted by the caller. Alternatively, you can supply a struct to be filled by this function.
status fills in the outgoing error code. Don't count on NULL being returned if an error has occured. Check status instead.
Returns:
a pointer to a UResourceBundle struct. If fill in param was NULL, caller must delete it ICU 2.0

U_CAPI UResourceBundle* U_EXPORT2 ures_getByKey const UResourceBundle resourceBundle,
const char *  key,
UResourceBundle fillIn,
UErrorCode status
 

Returns a resource in a given resource that has a given key.

This procedure works only with table resources. Features a fill-in parameter.

Parameters:
resourceBundle a resource
key a key associated with the wanted resource
fillIn if NULL a new UResourceBundle struct is allocated and must be deleted by the caller. Alternatively, you can supply a struct to be filled by this function.
status fills in the outgoing error code.
Returns:
a pointer to a UResourceBundle struct. If fill in param was NULL, caller must delete it ICU 2.0

U_CAPI int32_t U_EXPORT2 ures_getInt const UResourceBundle resourceBundle,
UErrorCode status
 

Returns a signed integer from a resource.

This integer is originally 28 bit and the sign gets propagated.

Parameters:
resourceBundle a string resource
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR</t> if the key is not found could be a non-failing error e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
an integer value
See also:
ures_getUInt

ures_getIntVector

ures_getBinary

ures_getString ICU 2.0

U_CAPI const int32_t* U_EXPORT2 ures_getIntVector const UResourceBundle resourceBundle,
int32_t *  len,
UErrorCode status
 

Returns a 32 bit integer array from a resource.

Parameters:
resourceBundle an int vector resource
len fills in the length of resulting byte chunk
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR</t> if the key is not found Always check the value of status. Don't count on returning NULL. could be a non-failing error e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a pointer to a chunk of unsigned bytes which live in a memory mapped/DLL file.
See also:
ures_getBinary

ures_getString

ures_getInt

ures_getUInt ICU 2.0

U_CAPI const char* U_EXPORT2 ures_getKey UResourceBundle resourceBundle  ) 
 

Returns the key associated with a given resource.

Not all the resources have a key - only those that are members of a table.

Parameters:
resourceBundle a resource
Returns:
a key associated to this resource, or NULL if it doesn't have a key ICU 2.0

U_CAPI const char* U_EXPORT2 ures_getLocale const UResourceBundle resourceBundle,
UErrorCode status
 

Return the name of the Locale associated with this ResourceBundle.

This API allows you to query for the real locale of the resource. For example, if you requested "en_US_CALIFORNIA" and only "en_US" bundle exists, "en_US" will be returned. For subresources, the locale where this resource comes from will be returned. If fallback has occured, getLocale will reflect this.

Parameters:
resourceBundle resource bundle in question
status just for catching illegal arguments
Returns:
A Locale name
Deprecated:
ICU 2.8 Use ures_getLocaleByType instead.

U_CAPI const char* U_EXPORT2 ures_getLocaleByType const UResourceBundle resourceBundle,
ULocDataLocaleType  type,
UErrorCode status
 

Return the name of the Locale associated with this ResourceBundle.

You can choose between requested, valid and real locale.

Parameters:
resourceBundle resource bundle in question
type You can choose between requested, valid and actual locale. For description see the definition of ULocDataLocaleType in uloc.h
status just for catching illegal arguments
Returns:
A Locale name ICU 2.8

U_CAPI UResourceBundle* U_EXPORT2 ures_getNextResource UResourceBundle resourceBundle,
UResourceBundle fillIn,
UErrorCode status
 

Returns the next resource in a given resource or NULL if there are no more resources to iterate over.

Features a fill-in parameter.

Parameters:
resourceBundle a resource
fillIn if NULL a new UResourceBundle struct is allocated and must be deleted by the caller. Alternatively, you can supply a struct to be filled by this function.
status fills in the outgoing error code. You may still get a non NULL result even if an error occured. Check status instead.
Returns:
a pointer to a UResourceBundle struct. If fill in param was NULL, caller must delete it ICU 2.0

U_CAPI const UChar* U_EXPORT2 ures_getNextString UResourceBundle resourceBundle,
int32_t *  len,
const char **  key,
UErrorCode status
 

Returns the next string in a given resource or NULL if there are no more resources to iterate over.

Parameters:
resourceBundle a resource
len fill in length of the string
key fill in for key associated with this string. NULL if no key
status fills in the outgoing error code. If an error occured, we may return NULL, but don't count on it. Check status instead!
Returns:
a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file. ICU 2.0

U_CAPI int32_t U_EXPORT2 ures_getSize UResourceBundle resourceBundle  ) 
 

Returns the size of a resource.

Size for scalar types is always 1, and for vector/table types is the number of child resources.

Warning:
Integer array is treated as a scalar type. There are no APIs to access individual members of an integer array. It is always returned as a whole.
Parameters:
resourceBundle a resource
Returns:
number of resources in a given resource. ICU 2.0

U_CAPI const UChar* U_EXPORT2 ures_getString const UResourceBundle resourceBundle,
int32_t *  len,
UErrorCode status
 

Returns a string from a string resource type.

Parameters:
resourceBundle a string resource
len fills in the length of resulting string
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR</t> if the key is not found Always check the value of status. Don't count on returning NULL. could be a non-failing error e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file.
See also:
ures_getBinary

ures_getIntVector

ures_getInt

ures_getUInt ICU 2.0

U_CAPI const UChar* U_EXPORT2 ures_getStringByIndex const UResourceBundle resourceBundle,
int32_t  indexS,
int32_t *  len,
UErrorCode status
 

Returns the string in a given resource at the specified index.

Parameters:
resourceBundle a resource
indexS an index to the wanted string.
len fill in length of the string
status fills in the outgoing error code. If an error occured, we may return NULL, but don't count on it. Check status instead!
Returns:
a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file. ICU 2.0

U_CAPI const UChar* U_EXPORT2 ures_getStringByKey const UResourceBundle resB,
const char *  key,
int32_t *  len,
UErrorCode status
 

Returns a string in a given resource that has a given key.

This procedure works only with table resources.

Parameters:
resB a resource
key a key associated with the wanted string
len fill in length of the string
status fills in the outgoing error code. If an error occured, we may return NULL, but don't count on it. Check status instead!
Returns:
a pointer to a zero-terminated UChar array which lives in a memory mapped/DLL file. ICU 2.0

U_CAPI UResType U_EXPORT2 ures_getType UResourceBundle resourceBundle  ) 
 

Returns the type of a resource.

Available types are defined in enum UResType

Parameters:
resourceBundle a resource
Returns:
type of the given resource.
See also:
UResType ICU 2.0

U_CAPI uint32_t U_EXPORT2 ures_getUInt const UResourceBundle resourceBundle,
UErrorCode status
 

Returns an unsigned integer from a resource.

This integer is originally 28 bits.

Parameters:
resourceBundle a string resource
status fills in the outgoing error code could be U_MISSING_RESOURCE_ERROR</t> if the key is not found could be a non-failing error e.g.: U_USING_FALLBACK_WARNING,U_USING_DEFAULT_WARNING
Returns:
an integer value
See also:
ures_getInt

ures_getIntVector

ures_getBinary

ures_getString ICU 2.0

U_CAPI void U_EXPORT2 ures_getVersion const UResourceBundle resB,
UVersionInfo  versionInfo
 

Return the version number associated with this ResourceBundle as an UVersionInfo array.

Parameters:
resB The resource bundle for which the version is checked.
versionInfo A UVersionInfo array that is filled with the version number as specified in the resource bundle or its parent. ICU 2.0

U_CAPI const char* U_EXPORT2 ures_getVersionNumber const UResourceBundle resourceBundle  ) 
 

Return the version number associated with this ResourceBundle as a string.

Please use ures_getVersion as this function is going to be deprecated.

Parameters:
resourceBundle The resource bundle for which the version is checked.
Returns:
A version number string as specified in the resource bundle or its parent. The caller does not own this string.
See also:
ures_getVersion
Deprecated:
ICU 2.8 Use ures_getVersion instead.

U_CAPI UBool U_EXPORT2 ures_hasNext UResourceBundle resourceBundle  ) 
 

Checks whether the given resource has another element to iterate over.

Parameters:
resourceBundle a resource
Returns:
TRUE if there are more elements, FALSE if there is no more elements ICU 2.0

U_CAPI UResourceBundle* U_EXPORT2 ures_open const char *  path,
const char *  locale,
UErrorCode status
 

Opens a UResourceBundle, from which users can extract strings by using their corresponding keys.

Note that the caller is responsible of calling ures_close on each succesfully opened resource bundle.

Parameters:
path string containing the full path pointing to the directory where the resources reside followed by the package name e.g. "/usr/resource/my_app/resources/guimessages" on a Unix system. if NULL, ICU default data files will be used.
locale specifies the locale for which we want to open the resource if NULL, the default locale will be used. If strlen(locale) == 0 root locale will be used.
status fills in the outgoing error code. The UErrorCode err parameter is used to return status information to the user. To check whether the construction succeeded or not, you should check the value of U_SUCCESS(err). If you wish more detailed information, you can check for informational status results which still indicate success. U_USING_FALLBACK_WARNING indicates that a fall back locale was used. For example, 'de_CH' was requested, but nothing was found there, so 'de' was used. U_USING_DEFAULT_WARNING indicates that the default locale data or root locale data was used; neither the requested locale nor any of its fall back locales could be found. Please see the users guide for more information on this topic.
Returns:
a newly allocated resource bundle.
See also:
ures_close ICU 2.0

U_CAPI UResourceBundle* U_EXPORT2 ures_openDirect const char *  path,
const char *  locale,
UErrorCode status
 

This function does not care what kind of localeID is passed in.

It simply opens a bundle with that name. Fallback mechanism is disabled for the new bundle. If the requested bundle contains an %ALIAS directive, the results are undefined.

Parameters:
path string containing the full path pointing to the directory where the resources reside followed by the package name e.g. "/usr/resource/my_app/resources/guimessages" on a Unix system. if NULL, ICU default data files will be used.
locale specifies the locale for which we want to open the resource if NULL, the default locale will be used. If strlen(locale) == 0 root locale will be used.
status fills in the outgoing error code. Either U_ZERO_ERROR or U_MISSING_RESOURCE_ERROR
Returns:
a newly allocated resource bundle or NULL if it doesn't exist.
See also:
ures_close ICU 2.0

U_CAPI void U_EXPORT2 ures_openFillIn UResourceBundle r,
const char *  path,
const char *  localeID,
UErrorCode status
 

Same as ures_open() but uses the fill-in parameter instead of allocating a bundle, if r!=NULL.

TODO need to revisit usefulness of this function and usage model for fillIn parameters without knowing sizeof(UResourceBundle)

Parameters:
r The resourcebundle to open
path String containing the full path pointing to the directory where the resources reside followed by the package name
localeID specifies the locale for which we want to open the resource
status The error code
Returns:
a newly allocated resource bundle or NULL if it doesn't exist.

For internal use only.

U_CAPI UResourceBundle* U_EXPORT2 ures_openU const UChar *  path,
const char *  locale,
UErrorCode status
 

Same as ures_open() but takes a const UChar *path.

This path will be converted to char * using the default converter, then ures_open() is called.

Parameters:
path string containing the full path pointing to the directory where the resources reside followed by the package name
locale specifies the locale for which we want to open the resource if NULL, the default locale will be used. If strlen(locale) == 0 root locale will be used.
status fills in the outgoing error code.
Returns:
a newly allocated resource bundle.
See also:
ures_open ICU 2.0

U_CAPI void U_EXPORT2 ures_resetIterator UResourceBundle resourceBundle  ) 
 

Resets the internal context of a resource so that iteration starts from the first element.

Parameters:
resourceBundle a resource ICU 2.0


Generated on Wed May 18 17:29:16 2005 for ICU 2.8 by  doxygen 1.4.2