1*a3f66598SOliver Tappe /* 2*a3f66598SOliver Tappe * Copyright 2010, Oliver Tappe, zooey@hirschkaefer.de. 3*a3f66598SOliver Tappe * Distributed under the terms of the MIT License. 4*a3f66598SOliver Tappe */ 5*a3f66598SOliver Tappe #ifndef _ICU_COLLATE_DATA_H 6*a3f66598SOliver Tappe #define _ICU_COLLATE_DATA_H 7*a3f66598SOliver Tappe 8*a3f66598SOliver Tappe 9*a3f66598SOliver Tappe #include "ICUCategoryData.h" 10*a3f66598SOliver Tappe 11*a3f66598SOliver Tappe #include <unicode/coll.h> 12*a3f66598SOliver Tappe 13*a3f66598SOliver Tappe 14*a3f66598SOliver Tappe namespace BPrivate { 15*a3f66598SOliver Tappe 16*a3f66598SOliver Tappe 17*a3f66598SOliver Tappe class ICUCollateData : public ICUCategoryData { 18*a3f66598SOliver Tappe typedef ICUCategoryData inherited; 19*a3f66598SOliver Tappe 20*a3f66598SOliver Tappe public: 21*a3f66598SOliver Tappe ICUCollateData(); 22*a3f66598SOliver Tappe virtual ~ICUCollateData(); 23*a3f66598SOliver Tappe 24*a3f66598SOliver Tappe virtual status_t SetTo(const Locale& locale, 25*a3f66598SOliver Tappe const char* posixLocaleName); 26*a3f66598SOliver Tappe virtual status_t SetToPosix(); 27*a3f66598SOliver Tappe 28*a3f66598SOliver Tappe status_t Strcoll(const char* a, const char* b, int& out); 29*a3f66598SOliver Tappe status_t Strxfrm(char* out, const char* in, size_t size, 30*a3f66598SOliver Tappe size_t& outSize); 31*a3f66598SOliver Tappe 32*a3f66598SOliver Tappe private: 33*a3f66598SOliver Tappe status_t _ToUnicodeString(const char* in, 34*a3f66598SOliver Tappe UnicodeString& out); 35*a3f66598SOliver Tappe 36*a3f66598SOliver Tappe Collator* fCollator; 37*a3f66598SOliver Tappe }; 38*a3f66598SOliver Tappe 39*a3f66598SOliver Tappe 40*a3f66598SOliver Tappe } // namespace BPrivate 41*a3f66598SOliver Tappe 42*a3f66598SOliver Tappe 43*a3f66598SOliver Tappe #endif // _ICU_COLLATE_DATA_H 44