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 
19 U_NAMESPACE_BEGIN
20 
21 struct CollationCacheEntry;
22 struct CollationData;
23 struct CollationSettings;
24 struct CollationTailoring;
25 
26 /**
27  * Collation root provider.
28  */
29 class U_I18N_API CollationRoot {  // purely static
30 public:
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 
36 private:
37     static void load(UErrorCode &errorCode);
38 };
39 
40 U_NAMESPACE_END
41 
42 #endif  // !UCONFIG_NO_COLLATION
43 #endif  // __COLLATIONROOT_H__
44