ICU 76.1 76.1
Loading...
Searching...
No Matches
resbund.h
Go to the documentation of this file.
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/*
4******************************************************************************
5*
6* Copyright (C) 1996-2013, International Business Machines Corporation
7* and others. All Rights Reserved.
8*
9******************************************************************************
10*
11* File resbund.h
12*
13* CREATED BY
14* Richard Gillam
15*
16* Modification History:
17*
18* Date Name Description
19* 2/5/97 aliu Added scanForLocaleInFile. Added
20* constructor which attempts to read resource bundle
21* from a specific file, without searching other files.
22* 2/11/97 aliu Added UErrorCode return values to constructors. Fixed
23* infinite loops in scanForFile and scanForLocale.
24* Modified getRawResourceData to not delete storage
25* in localeData and resourceData which it doesn't own.
26* Added Mac compatibility #ifdefs for tellp() and
27* ios::nocreate.
28* 2/18/97 helena Updated with 100% documentation coverage.
29* 3/13/97 aliu Rewrote to load in entire resource bundle and store
30* it as a Hashtable of ResourceBundleData objects.
31* Added state table to govern parsing of files.
32* Modified to load locale index out of new file
33* distinct from default.txt.
34* 3/25/97 aliu Modified to support 2-d arrays, needed for timezone
35* data. Added support for custom file suffixes. Again,
36* needed to support timezone data.
37* 4/7/97 aliu Cleaned up.
38* 03/02/99 stephen Removed dependency on FILE*.
39* 03/29/99 helena Merged Bertrand and Stephen's changes.
40* 06/11/99 stephen Removed parsing of .txt files.
41* Reworked to use new binary format.
42* Cleaned up.
43* 06/14/99 stephen Removed methods taking a filename suffix.
44* 11/09/99 weiv Added getLocale(), fRealLocale, removed fRealLocaleID
45******************************************************************************
46*/
47
48#ifndef RESBUND_H
49#define RESBUND_H
50
51#include "unicode/utypes.h"
52
53#if U_SHOW_CPLUSPLUS_API
54
55#include "unicode/uobject.h"
56#include "unicode/ures.h"
57#include "unicode/unistr.h"
58#include "unicode/locid.h"
59
65U_NAMESPACE_BEGIN
66
84public:
112 const Locale& locale,
113 UErrorCode& err);
114
127 UErrorCode& err);
128
136
152 const Locale& locale,
153 UErrorCode& err);
154
162
174
183
188
201
213
226
239 const uint8_t*
241
242
254 const int32_t*
256
270
282 int32_t
284
291 UBool hasNext() const;
292
299
307 const char* getKey() const;
308
316 const char* getName() const;
317
325
335
346
357 getNextString(const char ** key,
359
370 UErrorCode& status) const;
371
382 UErrorCode& status) const;
383
394 get(const char* key,
395 UErrorCode& status) const;
396
407 getStringEx(const char* key,
408 UErrorCode& status) const;
409
410#ifndef U_HIDE_DEPRECATED_API
420 const char* getVersionNumber() const;
421#endif /* U_HIDE_DEPRECATED_API */
422
430 void
432
433#ifndef U_HIDE_DEPRECATED_API
440 const Locale& getLocale() const;
441#endif /* U_HIDE_DEPRECATED_API */
442
453 const Locale
455#ifndef U_HIDE_INTERNAL_API
462#endif /* U_HIDE_INTERNAL_API */
468 virtual UClassID getDynamicClassID() const override;
469
476
477private:
478 ResourceBundle() = delete; // default constructor not implemented
479
480 UResourceBundle *fResource;
481 void constructForLocale(const UnicodeString& path, const Locale& locale, UErrorCode& error);
482 Locale *fLocale;
483};
484
486
487#endif /* U_SHOW_CPLUSPLUS_API */
488
489#endif
"Smart pointer" base class; do not use directly: use LocalPointer etc.
A Locale object represents a specific geographical, political, or cultural region.
Definition locid.h:195
A class representing a collection of resource information pertaining to a given locale.
Definition resbund.h:83
ResourceBundle(UResourceBundle *res, UErrorCode &status)
Constructor from a C UResourceBundle.
ResourceBundle(const ResourceBundle &original)
Copy constructor.
ResourceBundle * clone() const
Clone this object.
ResourceBundle(const char *packageName, const Locale &locale, UErrorCode &err)
Standard constructor, constructs a resource bundle for the locale-specific bundle in the specified pa...
ResourceBundle get(int32_t index, UErrorCode &status) const
Returns the resource in a resource at the specified index.
int32_t getSize() const
Returns the size of a resource.
UResType getType() const
Returns the type of a resource.
const char * getName() const
Gets the locale ID of the resource bundle as a string.
ResourceBundle(const UnicodeString &packageName, UErrorCode &err)
Construct a resource bundle for the default bundle in the specified package.
int32_t getInt(UErrorCode &status) const
returns a signed integer from a resource.
const int32_t * getIntVector(int32_t &len, UErrorCode &status) const
returns an integer vector from a resource.
ResourceBundle get(const char *key, UErrorCode &status) const
Returns a resource in a resource that has a given key.
ResourceBundle & operator=(const ResourceBundle &other)
Assignment operator.
const Locale & getLocale() const
Return the Locale associated with this ResourceBundle.
void getVersion(UVersionInfo versionInfo) const
Return the version number associated with this ResourceBundle as a UVersionInfo array.
ResourceBundle getNext(UErrorCode &status)
Returns the next resource in a given resource or nullptr if there are no more resources.
virtual UClassID getDynamicClassID() const override
ICU "poor man's RTTI", returns a UClassID for the actual class.
static UClassID getStaticClassID()
ICU "poor man's RTTI", returns a UClassID for this class.
ResourceBundle(UErrorCode &err)
Construct a resource bundle for the ICU default bundle.
const char * getKey() const
Returns the key associated with this resource.
UnicodeString getStringEx(int32_t index, UErrorCode &status) const
Returns the string in a given resource at the specified index.
UBool hasNext() const
Checks whether the resource has another element to iterate over.
ResourceBundle getWithFallback(const char *key, UErrorCode &status)
This API implements multilevel fallback.
UnicodeString getNextString(UErrorCode &status)
Returns the next string in a resource or nullptr if there are no more resources to iterate over.
void resetIterator()
Resets the internal context of a resource so that iteration starts from the first element.
const Locale getLocale(ULocDataLocaleType type, UErrorCode &status) const
Return the Locale associated with this ResourceBundle.
const uint8_t * getBinary(int32_t &len, UErrorCode &status) const
returns a binary data from a resource.
uint32_t getUInt(UErrorCode &status) const
returns an unsigned integer from a resource.
const char * getVersionNumber() const
Return the version number associated with this ResourceBundle as a string.
virtual ~ResourceBundle()
Destructor.
UnicodeString getNextString(const char **key, UErrorCode &status)
Returns the next string in a resource or nullptr if there are no more resources to iterate over.
ResourceBundle(const UnicodeString &packageName, const Locale &locale, UErrorCode &err)
Constructor.
UnicodeString getString(UErrorCode &status) const
returns a string from a string resource type
UnicodeString getStringEx(const char *key, UErrorCode &status) const
Returns a string in a resource that has a given key.
UObject is the common ICU "boilerplate" class.
Definition uobject.h:223
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition unistr.h:296
C++ API: Locale ID object.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested,...
Definition uloc.h:338
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition umachine.h:247
C++ API: Unicode String.
C++ API: Common ICU base class UObject.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition uobject.h:96
C API: Resource Bundle.
UResType
Numeric constants for types of resource items.
Definition ures.h:70
struct UResourceBundle UResourceBundle
Definition ures.h:63
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:430
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition utypes.h:315
uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]
The binary form of a version on ICU APIs is an array of 4 uint8_t.
Definition uversion.h:59