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 Locale& locale, 27 const char* posixLocaleName); 28 virtual status_t SetToPosix(); 29 30 virtual const char* GetLanginfo(int index); 31 32 private: 33 char fDecimalPoint[skLCBufSize]; 34 char fThousandsSep[skLCBufSize]; 35 char fGrouping[skLCBufSize]; 36 37 struct lconv& fLocaleConv; 38 LocaleNumericDataBridge* fDataBridge; 39 }; 40 41 42 } // namespace Libroot 43 } // namespace BPrivate 44 45 46 #endif // _ICU_NUMERIC_DATA_H 47