1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/** 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ******************************************************************************* 3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * Copyright (C) 2002-2005, International Business Machines Corporation and * 4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * others. All Rights Reserved. * 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ******************************************************************************* 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ******************************************************************************* 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */ 9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef LOCUTIL_H 10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define LOCUTIL_H 11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h" 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "hash.h" 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if !UCONFIG_NO_SERVICE || !UCONFIG_NO_TRANSLITERATION 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_BEGIN 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// temporary utility functions, till I know where to find them 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// in header so tests can also access them 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruclass U_COMMON_API LocaleUtility { 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querupublic: 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru static UnicodeString& canonicalLocaleString(const UnicodeString* id, UnicodeString& result); 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru static Locale& initLocaleFromName(const UnicodeString& id, Locale& result); 27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru static UnicodeString& initNameFromLocale(const Locale& locale, UnicodeString& result); 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru static const Hashtable* getAvailableLocaleNames(const UnicodeString& bundleID); 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru static UBool isFallbackOf(const UnicodeString& root, const UnicodeString& child); 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_END 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 38