ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
locdspnm.h
Go to the documentation of this file.
1 /*
2 ******************************************************************************
3 * Copyright (C) 2010-2011, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 ******************************************************************************
6 */
7 
8 #ifndef LOCDSPNM_H
9 #define LOCDSPNM_H
10 
11 #include "unicode/utypes.h"
12 
18 #if !UCONFIG_NO_FORMATTING
19 
20 #include "unicode/locid.h"
21 #include "unicode/uscript.h"
22 #include "unicode/uldnames.h"
23 
25 
33 public:
38  virtual ~LocaleDisplayNames();
39 
48  static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
49 
60  static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
61  UDialectHandling dialectHandling);
62 
63  // getters for state
70  virtual const Locale& getLocale() const = 0;
71 
77  virtual UDialectHandling getDialectHandling() const = 0;
78 
79  // names for entire locales
87  virtual UnicodeString& localeDisplayName(const Locale& locale,
88  UnicodeString& result) const = 0;
89 
97  virtual UnicodeString& localeDisplayName(const char* localeId,
98  UnicodeString& result) const = 0;
99 
100  // names for components of a locale id
108  virtual UnicodeString& languageDisplayName(const char* lang,
109  UnicodeString& result) const = 0;
110 
118  virtual UnicodeString& scriptDisplayName(const char* script,
119  UnicodeString& result) const = 0;
120 
128  virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
129  UnicodeString& result) const = 0;
130 
138  virtual UnicodeString& regionDisplayName(const char* region,
139  UnicodeString& result) const = 0;
140 
148  virtual UnicodeString& variantDisplayName(const char* variant,
149  UnicodeString& result) const = 0;
150 
158  virtual UnicodeString& keyDisplayName(const char* key,
159  UnicodeString& result) const = 0;
160 
169  virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
170  UnicodeString& result) const = 0;
171 
172 private:
173  // No ICU "poor man's RTTI" for this class nor its subclasses.
174  virtual UClassID getDynamicClassID() const;
175 };
176 
178 }
179 
182 }
183 
185 
186 #endif
187 
188 #endif
UScriptCode
Constants for ISO 15924 script codes.
Definition: uscript.h:46
C API: Unicode Script Information.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:521
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:131
Returns display names of Locales and components of Locales.
Definition: locdspnm.h:32
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:188
#define U_EXPORT2
Definition: platform.h:314
Use standard names when generating a locale name, e.g.
Definition: uldnames.h:30
UDialectHandling
Enum used in LocaleDisplayNames::createInstance.
Definition: uldnames.h:24
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:215
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
Definition: utypes.h:385
virtual ~LocaleDisplayNames()
Destructor.
Definition: locdspnm.h:177
C++ API: Locale ID object.
Basic definitions for ICU, for both C and C++ APIs.
static LocaleDisplayNames * createInstance(const Locale &locale)
Convenience overload of createInstance(const Locale& locale, UDialectHandling dialectHandling) that s...
Definition: locdspnm.h:180
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:181
C++ API: Provides display names of Locale ids and their components.
virtual UClassID getDynamicClassID() const =0
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.