ICU 54.1 54.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
resbund.h
Go to the documentation of this file.
1 /*
2 ******************************************************************************
3 *
4 * Copyright (C) 1996-2013, International Business Machines Corporation
5 * and others. All Rights Reserved.
6 *
7 ******************************************************************************
8 *
9 * File resbund.h
10 *
11 * CREATED BY
12 * Richard Gillam
13 *
14 * Modification History:
15 *
16 * Date Name Description
17 * 2/5/97 aliu Added scanForLocaleInFile. Added
18 * constructor which attempts to read resource bundle
19 * from a specific file, without searching other files.
20 * 2/11/97 aliu Added UErrorCode return values to constructors. Fixed
21 * infinite loops in scanForFile and scanForLocale.
22 * Modified getRawResourceData to not delete storage
23 * in localeData and resourceData which it doesn't own.
24 * Added Mac compatibility #ifdefs for tellp() and
25 * ios::nocreate.
26 * 2/18/97 helena Updated with 100% documentation coverage.
27 * 3/13/97 aliu Rewrote to load in entire resource bundle and store
28 * it as a Hashtable of ResourceBundleData objects.
29 * Added state table to govern parsing of files.
30 * Modified to load locale index out of new file
31 * distinct from default.txt.
32 * 3/25/97 aliu Modified to support 2-d arrays, needed for timezone
33 * data. Added support for custom file suffixes. Again,
34 * needed to support timezone data.
35 * 4/7/97 aliu Cleaned up.
36 * 03/02/99 stephen Removed dependency on FILE*.
37 * 03/29/99 helena Merged Bertrand and Stephen's changes.
38 * 06/11/99 stephen Removed parsing of .txt files.
39 * Reworked to use new binary format.
40 * Cleaned up.
41 * 06/14/99 stephen Removed methods taking a filename suffix.
42 * 11/09/99 weiv Added getLocale(), fRealLocale, removed fRealLocaleID
43 ******************************************************************************
44 */
45
46 #ifndef RESBUND_H
47 #define RESBUND_H
48
49 #include "unicode/utypes.h"
50 #include "unicode/uobject.h"
51 #include "unicode/ures.h"
52 #include "unicode/unistr.h"
53 #include "unicode/locid.h"
54
60 U_NAMESPACE_BEGIN
61
78 class U_COMMON_API ResourceBundle : public UObject {
79 public:
106 ResourceBundle(const UnicodeString& packageName,
107 const Locale& locale,
108 UErrorCode& err);
109
121 ResourceBundle(const UnicodeString& packageName,
122 UErrorCode& err);
123
130 ResourceBundle(UErrorCode &err);
131
146 ResourceBundle(const char* packageName,
147 const Locale& locale,
148 UErrorCode& err);
149
156 ResourceBundle(const ResourceBundle &original);
157
167 ResourceBundle(UResourceBundle *res,
168 UErrorCode &status);
169
176 ResourceBundle&
177 operator=(const ResourceBundle& other);
178
182 virtual ~ResourceBundle();
183
195 ResourceBundle *clone() const;
196
207 int32_t
208 getSize(void) const;
209
220 UnicodeString
221 getString(UErrorCode& status) const;
222
235 const uint8_t*
236 getBinary(int32_t& len, UErrorCode& status) const;
237
238
250 const int32_t*
251 getIntVector(int32_t& len, UErrorCode& status) const;
252
264 uint32_t
265 getUInt(UErrorCode& status) const;
266
278 int32_t
279 getInt(UErrorCode& status) const;
280
287 UBool
288 hasNext(void) const;
289
295 void
296 resetIterator(void);
297
305 const char*
306 getKey(void) const;
307
315 const char*
316 getName(void) const;
317
318
325 UResType
326 getType(void) const;
327
335 ResourceBundle
336 getNext(UErrorCode& status);
337
346 UnicodeString
347 getNextString(UErrorCode& status);
348
358 UnicodeString
359 getNextString(const char ** key,
360 UErrorCode& status);
361
370 ResourceBundle
371 get(int32_t index,
372 UErrorCode& status) const;
373
382 UnicodeString
383 getStringEx(int32_t index,
384 UErrorCode& status) const;
385
395 ResourceBundle
396 get(const char* key,
397 UErrorCode& status) const;
398
408 UnicodeString
409 getStringEx(const char* key,
410 UErrorCode& status) const;
411
412 #ifndef U_HIDE_DEPRECATED_API
413
422 const char*
423 getVersionNumber(void) const;
424 #endif /* U_HIDE_DEPRECATED_API */
425
433 void
434 getVersion(UVersionInfo versionInfo) const;
435
436 #ifndef U_HIDE_DEPRECATED_API
437
443 const Locale&
444 getLocale(void) const;
445 #endif /* U_HIDE_DEPRECATED_API */
446
457 const Locale
458 getLocale(ULocDataLocaleType type, UErrorCode &status) const;
459 #ifndef U_HIDE_INTERNAL_API
460
464 ResourceBundle
465 getWithFallback(const char* key, UErrorCode& status);
466 #endif /* U_HIDE_INTERNAL_API */
467
472 virtual UClassID getDynamicClassID() const;
473
479 static UClassID U_EXPORT2 getStaticClassID();
480
481 private:
482 ResourceBundle(); // default constructor not implemented
483
484 UResourceBundle *fResource;
485 void constructForLocale(const UnicodeString& path, const Locale& locale, UErrorCode& error);
486 Locale *fLocale;
487 };
488
489 U_NAMESPACE_END
490 #endif