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