00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef LOCDSPNM_H
00011 #define LOCDSPNM_H
00012
00013 #include "unicode/utypes.h"
00014
00015 #if U_SHOW_CPLUSPLUS_API
00016
00022 #if !UCONFIG_NO_FORMATTING
00023
00024 #include "unicode/locid.h"
00025 #include "unicode/strenum.h"
00026 #include "unicode/uscript.h"
00027 #include "unicode/uldnames.h"
00028 #include "unicode/udisplaycontext.h"
00029
00030 U_NAMESPACE_BEGIN
00031
00038 class U_COMMON_API LocaleDisplayNames : public UObject {
00039 public:
00044 virtual ~LocaleDisplayNames();
00045
00054 inline static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
00055
00066 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
00067 UDialectHandling dialectHandling);
00068
00080 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
00081 UDisplayContext *contexts, int32_t length);
00082
00083
00090 virtual const Locale& getLocale() const = 0;
00091
00097 virtual UDialectHandling getDialectHandling() const = 0;
00098
00105 virtual UDisplayContext getContext(UDisplayContextType type) const = 0;
00106
00107
00115 virtual UnicodeString& localeDisplayName(const Locale& locale,
00116 UnicodeString& result) const = 0;
00117
00125 virtual UnicodeString& localeDisplayName(const char* localeId,
00126 UnicodeString& result) const = 0;
00127
00128
00136 virtual UnicodeString& languageDisplayName(const char* lang,
00137 UnicodeString& result) const = 0;
00138
00146 virtual UnicodeString& scriptDisplayName(const char* script,
00147 UnicodeString& result) const = 0;
00148
00156 virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
00157 UnicodeString& result) const = 0;
00158
00166 virtual UnicodeString& regionDisplayName(const char* region,
00167 UnicodeString& result) const = 0;
00168
00176 virtual UnicodeString& variantDisplayName(const char* variant,
00177 UnicodeString& result) const = 0;
00178
00186 virtual UnicodeString& keyDisplayName(const char* key,
00187 UnicodeString& result) const = 0;
00188
00197 virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
00198 UnicodeString& result) const = 0;
00199 };
00200
00201 inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) {
00202 return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES);
00203 }
00204
00205 U_NAMESPACE_END
00206
00207 #endif
00208
00209 #endif
00210
00211 #endif