ICU 51.2  51.2
locdspnm.h
Go to the documentation of this file.
1 /*
2 ******************************************************************************
3 * Copyright (C) 2010-2012, 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 #include "unicode/udisplaycontext.h"
24 
26 
34 public:
39  virtual ~LocaleDisplayNames();
40 
49  static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
50 
61  static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
62  UDialectHandling dialectHandling);
63 
64 #ifndef U_HIDE_DRAFT_API
65 
76  static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
77  UDisplayContext *contexts, int32_t length);
78 #endif /* U_HIDE_DRAFT_API */
79 
80  // getters for state
87  virtual const Locale& getLocale() const = 0;
88 
94  virtual UDialectHandling getDialectHandling() const = 0;
95 
102  virtual UDisplayContext getContext(UDisplayContextType type) const = 0;
103 
104  // names for entire locales
112  virtual UnicodeString& localeDisplayName(const Locale& locale,
113  UnicodeString& result) const = 0;
114 
122  virtual UnicodeString& localeDisplayName(const char* localeId,
123  UnicodeString& result) const = 0;
124 
125  // names for components of a locale id
133  virtual UnicodeString& languageDisplayName(const char* lang,
134  UnicodeString& result) const = 0;
135 
143  virtual UnicodeString& scriptDisplayName(const char* script,
144  UnicodeString& result) const = 0;
145 
153  virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
154  UnicodeString& result) const = 0;
155 
163  virtual UnicodeString& regionDisplayName(const char* region,
164  UnicodeString& result) const = 0;
165 
173  virtual UnicodeString& variantDisplayName(const char* variant,
174  UnicodeString& result) const = 0;
175 
183  virtual UnicodeString& keyDisplayName(const char* key,
184  UnicodeString& result) const = 0;
185 
194  virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
195  UnicodeString& result) const = 0;
196 };
197 
198 inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) {
199  return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES);
200 }
201 
203 
204 #endif
205 
206 #endif