1 /* 2 * Copyright 2010-2011, Oliver Tappe, zooey@hirschkaefer.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _ICU_NUMERIC_DATA_H 6 #define _ICU_NUMERIC_DATA_H 7 8 9 #include "ICULocaleconvData.h" 10 #include "LocaleBackend.h" 11 12 13 namespace BPrivate { 14 namespace Libroot { 15 16 17 class ICUNumericData : public ICULocaleconvData { 18 typedef ICULocaleconvData inherited; 19 20 public: 21 ICUNumericData(pthread_key_t tlsKey, 22 struct lconv& localeConv); 23 24 void Initialize(LocaleNumericDataBridge* dataBridge); 25 26 virtual status_t SetTo(const U_NAMESPACE_QUALIFIER Locale& 27 locale, 28 const char* posixLocaleName); 29 virtual status_t SetToPosix(); 30 31 virtual const char* GetLanginfo(int index); 32 33 private: 34 char fDecimalPoint[skLCBufSize]; 35 char fThousandsSep[skLCBufSize]; 36 char fGrouping[skLCBufSize]; 37 38 struct lconv& fLocaleConv; 39 LocaleNumericDataBridge* fDataBridge; 40 }; 41 42 43 } // namespace Libroot 44 } // namespace BPrivate 45 46 47 #endif // _ICU_NUMERIC_DATA_H 48