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
13namespace BPrivate {
14namespace Libroot {
15
16
17class ICUNumericData : public ICULocaleconvData {
18	typedef	ICULocaleconvData	inherited;
19
20public:
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
33private:
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