xref: /haiku/headers/private/libroot/locale/ICUNumericData.h (revision 1bad1ff34a3e132a8816d2ac7ba9722d3a5249a9)
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