2 * Copyright 2010-2011, Oliver Tappe, zooey@hirschkaefer.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef _ICU_TIME_DATA_H
6 #define _ICU_TIME_DATA_H
9 #include "ICUCategoryData.h"
10 #include "LocaleBackend.h"
12 #include <unicode/datefmt.h>
14 #include <timelocal.h>
21 class ICUMessagesData
;
24 class ICUTimeData
: public ICUCategoryData
{
25 typedef ICUCategoryData inherited
;
27 ICUTimeData(pthread_key_t tlsKey
,
28 struct lc_time_t
& lcTimeInfo
,
29 const ICUMessagesData
& messagesData
);
32 void Initialize(LocaleTimeDataBridge
* dataBridge
);
34 virtual status_t
SetTo(const Locale
& locale
,
35 const char* posixLocaleName
);
36 virtual status_t
SetToPosix();
38 const char* GetLanginfo(int index
);
40 const Locale
& ICULocaleForStrings() const;
43 status_t
_SetLCTimeEntries(const UnicodeString
* strings
,
44 char* destination
, int entrySize
,
45 int count
, int maxCount
);
46 status_t
_SetLCTimePattern(DateFormat
* format
,
47 char* destination
, int destinationSize
);
55 char fDateTimeFormat
[32];
58 char fDateTimeZoneFormat
[32];
59 char fAltMonth
[12][64];
60 char fMonthDayOrder
[4];
63 struct lc_time_t
& fLCTimeInfo
;
65 LocaleTimeDataBridge
* fDataBridge
;
67 const ICUMessagesData
& fMessagesData
;
71 } // namespace Libroot
72 } // namespace BPrivate
75 #endif // _ICU_TIME_DATA_H