]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/ucurrimp.h
ICU-400.37.tar.gz
[apple/icu.git] / icuSources / i18n / ucurrimp.h
index a8515e0562f326e43b12ad6f6f21396974cabe91..161a2e9f7ca6e594b54091a221c247f5fb067da0 100644 (file)
@@ -1,6 +1,6 @@
 /*
 **********************************************************************
-* Copyright (c) 2002-2003, International Business Machines
+* Copyright (c) 2002-2008, International Business Machines
 * Corporation and others.  All Rights Reserved.
 **********************************************************************
 */
@@ -9,6 +9,8 @@
 #define _UCURR_IMP_H_
 
 #include "unicode/utypes.h"
+#include "unicode/unistr.h"
+#include "unicode/parsepos.h"
 
 /**
  * Internal method.  Given a currency ISO code and a locale, return
  * This is used for backward compatibility with old currency logic in
  * DecimalFormat and DecimalFormatSymbols.
  */
-U_CAPI void
+U_CFUNC void
 uprv_getStaticCurrencyName(const UChar* iso, const char* loc,
-                           UnicodeString& result, UErrorCode& ec);
+                           U_NAMESPACE_QUALIFIER UnicodeString& result, UErrorCode& ec);
+
+/**
+ * Attempt to parse the given string as a currency, either as a
+ * display name in the given locale, or as a 3-letter ISO 4217
+ * code.  If multiple display names match, then the longest one is
+ * selected.  If both a display name and a 3-letter ISO code
+ * match, then the display name is preferred, unless it's length
+ * is less than 3.
+ *
+ * @param locale the locale of the display names to match
+ * @param text the text to parse
+ * @param pos input-output position; on input, the position within
+ * text to match; must have 0 <= pos.getIndex() < text.length();
+ * on output, the position after the last matched character. If
+ * the parse fails, the position in unchanged upon output.
+ * @return the ISO 4217 code, as a string, of the best match, or
+ * null if there is no match
+ *
+ * @internal
+ */
+U_CFUNC void
+uprv_parseCurrency(const char* locale,
+                   const U_NAMESPACE_QUALIFIER UnicodeString& text,
+                   U_NAMESPACE_QUALIFIER ParsePosition& pos,
+                   UChar* result,
+                   UErrorCode& ec);
 
 #endif /* #ifndef _UCURR_IMP_H_ */