diff --git a/icu4c/source/i18n/anytrans.cpp b/icu4c/source/i18n/anytrans.cpp index 7b8abf97faa..f4c0bafbd53 100644 --- a/icu4c/source/i18n/anytrans.cpp +++ b/icu4c/source/i18n/anytrans.cpp @@ -4,7 +4,7 @@ * and others. All Rights Reserved. ***************************************************************** * $Source: /xsrl/Nsvn/icu/icu/source/i18n/anytrans.cpp,v $ -* $Revision: 1.2 $ +* $Revision: 1.3 $ ***************************************************************** * Date Name Description * 06/06/2002 aliu Creation. @@ -309,18 +309,18 @@ void AnyTransliterator::registerIDs() { UErrorCode ec; Hashtable seen(TRUE); - int32_t sourceCount = Transliterator::countAvailableSources(); + int32_t sourceCount = Transliterator::_countAvailableSources(); for (int32_t s=0; s= 1); for (int32_t v=0; vcountAvailableSources(); + return _countAvailableSources(); } UnicodeString& Transliterator::getAvailableSource(int32_t index, @@ -1165,7 +1165,7 @@ UnicodeString& Transliterator::getAvailableSource(int32_t index, initializeRegistry(); } Mutex lock(®istryMutex); - return registry->getAvailableSource(index, result); + return _getAvailableSource(index, result); } int32_t Transliterator::countAvailableTargets(const UnicodeString& source) { @@ -1173,7 +1173,7 @@ int32_t Transliterator::countAvailableTargets(const UnicodeString& source) { initializeRegistry(); } Mutex lock(®istryMutex); - return registry->countAvailableTargets(source); + return _countAvailableTargets(source); } UnicodeString& Transliterator::getAvailableTarget(int32_t index, @@ -1183,7 +1183,7 @@ UnicodeString& Transliterator::getAvailableTarget(int32_t index, initializeRegistry(); } Mutex lock(®istryMutex); - return registry->getAvailableTarget(index, source, result); + return _getAvailableTarget(index, source, result); } int32_t Transliterator::countAvailableVariants(const UnicodeString& source, @@ -1192,7 +1192,7 @@ int32_t Transliterator::countAvailableVariants(const UnicodeString& source, initializeRegistry(); } Mutex lock(®istryMutex); - return registry->countAvailableVariants(source, target); + return _countAvailableVariants(source, target); } UnicodeString& Transliterator::getAvailableVariant(int32_t index, @@ -1203,6 +1203,37 @@ UnicodeString& Transliterator::getAvailableVariant(int32_t index, initializeRegistry(); } Mutex lock(®istryMutex); + return _getAvailableVariant(index, source, target, result); +} + +int32_t Transliterator::_countAvailableSources(void) { + return registry->countAvailableSources(); +} + +UnicodeString& Transliterator::_getAvailableSource(int32_t index, + UnicodeString& result) { + return registry->getAvailableSource(index, result); +} + +int32_t Transliterator::_countAvailableTargets(const UnicodeString& source) { + return registry->countAvailableTargets(source); +} + +UnicodeString& Transliterator::_getAvailableTarget(int32_t index, + const UnicodeString& source, + UnicodeString& result) { + return registry->getAvailableTarget(index, source, result); +} + +int32_t Transliterator::_countAvailableVariants(const UnicodeString& source, + const UnicodeString& target) { + return registry->countAvailableVariants(source, target); +} + +UnicodeString& Transliterator::_getAvailableVariant(int32_t index, + const UnicodeString& source, + const UnicodeString& target, + UnicodeString& result) { return registry->getAvailableVariant(index, source, target, result); } diff --git a/icu4c/source/i18n/unicode/translit.h b/icu4c/source/i18n/unicode/translit.h index 5de8fbd056a..7610553179b 100644 --- a/icu4c/source/i18n/unicode/translit.h +++ b/icu4c/source/i18n/unicode/translit.h @@ -966,6 +966,52 @@ public: const UnicodeString& target, UnicodeString& result); + protected: + + /** + * Non-mutexed internal method + * @internal + */ + static int32_t _countAvailableSources(void); + + /** + * Non-mutexed internal method + * @internal + */ + static UnicodeString& _getAvailableSource(int32_t index, + UnicodeString& result); + + /** + * Non-mutexed internal method + * @internal + */ + static int32_t _countAvailableTargets(const UnicodeString& source); + + /** + * Non-mutexed internal method + * @internal + */ + static UnicodeString& _getAvailableTarget(int32_t index, + const UnicodeString& source, + UnicodeString& result); + + /** + * Non-mutexed internal method + * @internal + */ + static int32_t _countAvailableVariants(const UnicodeString& source, + const UnicodeString& target); + + /** + * Non-mutexed internal method + * @internal + */ + static UnicodeString& _getAvailableVariant(int32_t index, + const UnicodeString& source, + const UnicodeString& target, + UnicodeString& result); + public: + /** * Return the class ID for this class. This is useful only for * comparing to a return value from getDynamicClassID(). For example: