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