1*0e209d39SAndroid Build Coastguard Worker // © 2016 and later: Unicode, Inc. and others. 2*0e209d39SAndroid Build Coastguard Worker // License & terms of use: http://www.unicode.org/copyright.html 3*0e209d39SAndroid Build Coastguard Worker /* 4*0e209d39SAndroid Build Coastguard Worker ******************************************************************************* 5*0e209d39SAndroid Build Coastguard Worker * Copyright (C) 2012-2014, International Business Machines 6*0e209d39SAndroid Build Coastguard Worker * Corporation and others. All Rights Reserved. 7*0e209d39SAndroid Build Coastguard Worker ******************************************************************************* 8*0e209d39SAndroid Build Coastguard Worker * collationroot.h 9*0e209d39SAndroid Build Coastguard Worker * 10*0e209d39SAndroid Build Coastguard Worker * created on: 2012dec17 11*0e209d39SAndroid Build Coastguard Worker * created by: Markus W. Scherer 12*0e209d39SAndroid Build Coastguard Worker */ 13*0e209d39SAndroid Build Coastguard Worker 14*0e209d39SAndroid Build Coastguard Worker #ifndef __COLLATIONROOT_H__ 15*0e209d39SAndroid Build Coastguard Worker #define __COLLATIONROOT_H__ 16*0e209d39SAndroid Build Coastguard Worker 17*0e209d39SAndroid Build Coastguard Worker #include "unicode/utypes.h" 18*0e209d39SAndroid Build Coastguard Worker #include "unicode/udata.h" 19*0e209d39SAndroid Build Coastguard Worker 20*0e209d39SAndroid Build Coastguard Worker #if !UCONFIG_NO_COLLATION 21*0e209d39SAndroid Build Coastguard Worker 22*0e209d39SAndroid Build Coastguard Worker U_NAMESPACE_BEGIN 23*0e209d39SAndroid Build Coastguard Worker 24*0e209d39SAndroid Build Coastguard Worker struct CollationCacheEntry; 25*0e209d39SAndroid Build Coastguard Worker struct CollationData; 26*0e209d39SAndroid Build Coastguard Worker struct CollationSettings; 27*0e209d39SAndroid Build Coastguard Worker struct CollationTailoring; 28*0e209d39SAndroid Build Coastguard Worker 29*0e209d39SAndroid Build Coastguard Worker /** 30*0e209d39SAndroid Build Coastguard Worker * Collation root provider. 31*0e209d39SAndroid Build Coastguard Worker */ 32*0e209d39SAndroid Build Coastguard Worker class U_I18N_API CollationRoot { // purely static 33*0e209d39SAndroid Build Coastguard Worker public: 34*0e209d39SAndroid Build Coastguard Worker static const CollationCacheEntry *getRootCacheEntry(UErrorCode &errorCode); 35*0e209d39SAndroid Build Coastguard Worker static const CollationTailoring *getRoot(UErrorCode &errorCode); 36*0e209d39SAndroid Build Coastguard Worker static const CollationData *getData(UErrorCode &errorCode); 37*0e209d39SAndroid Build Coastguard Worker static const CollationSettings *getSettings(UErrorCode &errorCode); 38*0e209d39SAndroid Build Coastguard Worker static void U_EXPORT2 forceLoadFromFile(const char* ucadataPath, UErrorCode &errorCode); 39*0e209d39SAndroid Build Coastguard Worker 40*0e209d39SAndroid Build Coastguard Worker private: 41*0e209d39SAndroid Build Coastguard Worker static void U_CALLCONV load(const char* ucadataPath, UErrorCode &errorCode); 42*0e209d39SAndroid Build Coastguard Worker static UDataMemory* loadFromFile(const char* ucadataPath, UErrorCode &errorCode); 43*0e209d39SAndroid Build Coastguard Worker }; 44*0e209d39SAndroid Build Coastguard Worker 45*0e209d39SAndroid Build Coastguard Worker U_NAMESPACE_END 46*0e209d39SAndroid Build Coastguard Worker 47*0e209d39SAndroid Build Coastguard Worker #endif // !UCONFIG_NO_COLLATION 48*0e209d39SAndroid Build Coastguard Worker #endif // __COLLATIONROOT_H__ 49