Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef LOCDSPNM_H
00009 #define LOCDSPNM_H
00010
00011 #include "unicode/utypes.h"
00012
00018 #if !UCONFIG_NO_FORMATTING
00019
00020 #include "unicode/locid.h"
00021 #include "unicode/uscript.h"
00022 #include "unicode/uldnames.h"
00023
00024 U_NAMESPACE_BEGIN
00025
00032 class U_I18N_API LocaleDisplayNames : public UObject {
00033 public:
00038 virtual ~LocaleDisplayNames();
00039
00048 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
00049
00060 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
00061 UDialectHandling dialectHandling);
00062
00063
00070 virtual const Locale& getLocale() const = 0;
00071
00077 virtual UDialectHandling getDialectHandling() const = 0;
00078
00079
00087 virtual UnicodeString& localeDisplayName(const Locale& locale,
00088 UnicodeString& result) const = 0;
00089
00097 virtual UnicodeString& localeDisplayName(const char* localeId,
00098 UnicodeString& result) const = 0;
00099
00100
00108 virtual UnicodeString& languageDisplayName(const char* lang,
00109 UnicodeString& result) const = 0;
00110
00118 virtual UnicodeString& scriptDisplayName(const char* script,
00119 UnicodeString& result) const = 0;
00120
00128 virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
00129 UnicodeString& result) const = 0;
00130
00138 virtual UnicodeString& regionDisplayName(const char* region,
00139 UnicodeString& result) const = 0;
00140
00148 virtual UnicodeString& variantDisplayName(const char* variant,
00149 UnicodeString& result) const = 0;
00150
00158 virtual UnicodeString& keyDisplayName(const char* key,
00159 UnicodeString& result) const = 0;
00160
00169 virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
00170 UnicodeString& result) const = 0;
00171
00172 private:
00173
00174 virtual UClassID getDynamicClassID() const;
00175 };
00176
00177 inline LocaleDisplayNames::~LocaleDisplayNames() {
00178 }
00179
00180 inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) {
00181 return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES);
00182 }
00183
00184 U_NAMESPACE_END
00185
00186 #endif
00187
00188 #endif