Index: icu46/source/i18n/unicode/uldnames.h |
=================================================================== |
--- icu46/source/i18n/unicode/uldnames.h (revision 0) |
+++ icu46/source/i18n/unicode/uldnames.h (revision 0) |
@@ -0,0 +1,270 @@ |
+/* |
+******************************************************************************* |
+* Copyright (C) 2010, International Business Machines Corporation and * |
+* others. All Rights Reserved. * |
+******************************************************************************* |
+*/ |
+ |
+#ifndef __ULDNAMES_H__ |
+#define __ULDNAMES_H__ |
+ |
+/** |
+ * \file |
+ * \brief C++ API: Provides display names of Locale ids and their components. |
+ */ |
+ |
+#include "unicode/utypes.h" |
+#include "unicode/localpointer.h" |
+#include "unicode/uscript.h" |
+ |
+/** |
+ * Enum used in LocaleDisplayNames::createInstance. |
+ * @stable ICU 4.4 |
+ */ |
+typedef enum { |
+ /** |
+ * Use standard names when generating a locale name, |
+ * e.g. en_GB displays as 'English (United Kingdom)'. |
+ * @stable ICU 4.4 |
+ */ |
+ ULDN_STANDARD_NAMES = 0, |
+ /** |
+ * Use dialect names, when generating a locale name, |
+ * e.g. en_GB displays as 'British English'. |
+ * @stable ICU 4.4 |
+ */ |
+ ULDN_DIALECT_NAMES |
+} UDialectHandling; |
+ |
+/** |
+ * Opaque C service object type for the locale display names API |
+ * @stable ICU 4.4 |
+ */ |
+struct ULocaleDisplayNames; |
+ |
+/** |
+ * C typedef for struct ULocaleDisplayNames. |
+ * @stable ICU 4.4 |
+ */ |
+typedef struct ULocaleDisplayNames ULocaleDisplayNames; |
+ |
+#if !UCONFIG_NO_FORMATTING |
+ |
+/** |
+ * Returns an instance of LocaleDisplayNames that returns names |
+ * formatted for the provided locale, using the provided |
+ * dialectHandling. The usual value for dialectHandling is |
+ * ULOC_STANDARD_NAMES. |
+ * |
+ * @param locale the display locale |
+ * @param dialectHandling how to select names for locales |
+ * @return a ULocaleDisplayNames instance |
+ * @param pErrorCode the status code |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE ULocaleDisplayNames * U_EXPORT2 |
+uldn_open(const char * locale, |
+ UDialectHandling dialectHandling, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Closes a ULocaleDisplayNames instance obtained from uldn_open(). |
+ * @param ldn the ULocaleDisplayNames instance to be closed |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE void U_EXPORT2 |
+uldn_close(ULocaleDisplayNames *ldn); |
+ |
+#if U_SHOW_CPLUSPLUS_API |
+ |
+U_NAMESPACE_BEGIN |
+ |
+/** |
+ * \class LocalULocaleDisplayNamesPointer |
+ * "Smart pointer" class, closes a ULocaleDisplayNames via uldn_close(). |
+ * For most methods see the LocalPointerBase base class. |
+ * |
+ * @see LocalPointerBase |
+ * @see LocalPointer |
+ * @stable ICU 4.4 |
+ */ |
+U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDisplayNamesPointer, ULocaleDisplayNames, uldn_close); |
+ |
+U_NAMESPACE_END |
+ |
+#endif |
+ |
+/* getters for state */ |
+ |
+/** |
+ * Returns the locale used to determine the display names. This is |
+ * not necessarily the same locale passed to {@link #uldn_open}. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @return the display locale |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE const char * U_EXPORT2 |
+uldn_getLocale(const ULocaleDisplayNames *ldn); |
+ |
+/** |
+ * Returns the dialect handling used in the display names. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @return the dialect handling enum |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE UDialectHandling U_EXPORT2 |
+uldn_getDialectHandling(const ULocaleDisplayNames *ldn); |
+ |
+/* names for entire locales */ |
+ |
+/** |
+ * Returns the display name of the provided locale. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param locale the locale whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_localeDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *locale, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/* names for components of a locale */ |
+ |
+/** |
+ * Returns the display name of the provided language code. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param lang the language code whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_languageDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *lang, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Returns the display name of the provided script. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param script the script whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_scriptDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *script, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Returns the display name of the provided script code. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param scriptCode the script code whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn, |
+ UScriptCode scriptCode, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Returns the display name of the provided region code. |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param region the region code whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_regionDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *region, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Returns the display name of the provided variant |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param variant the variant whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_variantDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *variant, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Returns the display name of the provided locale key |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param key the locale key whose display name to return |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_keyDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *key, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+/** |
+ * Returns the display name of the provided value (used with the provided key). |
+ * @param ldn the LocaleDisplayNames instance |
+ * @param key the locale key |
+ * @param value the locale key's value |
+ * @param result receives the display name |
+ * @param maxResultSize the size of the result buffer |
+ * @param pErrorCode the status code |
+ * @return the actual buffer size needed for the display name. If it's |
+ * greater than maxResultSize, the returned name will be truncated. |
+ * @stable ICU 4.4 |
+ */ |
+U_STABLE int32_t U_EXPORT2 |
+uldn_keyValueDisplayName(const ULocaleDisplayNames *ldn, |
+ const char *key, |
+ const char *value, |
+ UChar *result, |
+ int32_t maxResultSize, |
+ UErrorCode *pErrorCode); |
+ |
+ |
+#endif /* !UCONFIG_NO_FORMATTING */ |
+#endif /* __ULDNAMES_H__ */ |
Property changes on: icu46/source/i18n/unicode/uldnames.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |