1/*
2*******************************************************************************
3* Copyright (C) 2012-2014, International Business Machines
4* Corporation and others.  All Rights Reserved.
5*******************************************************************************
6* collationroot.h
7*
8* created on: 2012dec17
9* created by: Markus W. Scherer
10*/
11
12#ifndef __COLLATIONROOT_H__
13#define __COLLATIONROOT_H__
14
15#include "unicode/utypes.h"
16
17#if !UCONFIG_NO_COLLATION
18
19U_NAMESPACE_BEGIN
20
21struct CollationCacheEntry;
22struct CollationData;
23struct CollationSettings;
24struct CollationTailoring;
25
26/**
27 * Collation root provider.
28 */
29class U_I18N_API CollationRoot {  // purely static
30public:
31    static const CollationCacheEntry *getRootCacheEntry(UErrorCode &errorCode);
32    static const CollationTailoring *getRoot(UErrorCode &errorCode);
33    static const CollationData *getData(UErrorCode &errorCode);
34    static const CollationSettings *getSettings(UErrorCode &errorCode);
35
36private:
37    static void load(UErrorCode &errorCode);
38};
39
40U_NAMESPACE_END
41
42#endif  // !UCONFIG_NO_COLLATION
43#endif  // __COLLATIONROOT_H__
44