xref: /haiku/headers/os/locale/Country.h (revision 1345706a9ff6ad0dc041339a02d4259998b0765d)
1 /*
2  * Copyright 2003-2010, Haiku, Inc.
3  * Distributed under the terms of the MIT Licence.
4  */
5 #ifndef _COUNTRY_H_
6 #define _COUNTRY_H_
7 
8 
9 #include <List.h>
10 #include <LocaleStrings.h>
11 #include <String.h>
12 #include <SupportDefs.h>
13 
14 
15 class BBitmap;
16 class BMessage;
17 
18 namespace icu_44 {
19 	class DateFormat;
20 	class Locale;
21 }
22 
23 
24 enum {
25 	B_METRIC = 0,
26 	B_US
27 };
28 
29 typedef enum {
30 	B_DATE_ELEMENT_INVALID = B_BAD_DATA,
31 	B_DATE_ELEMENT_YEAR = 0,
32 	B_DATE_ELEMENT_MONTH,
33 	B_DATE_ELEMENT_DAY,
34 	B_DATE_ELEMENT_AM_PM,
35 	B_DATE_ELEMENT_HOUR,
36 	B_DATE_ELEMENT_MINUTE,
37 	B_DATE_ELEMENT_SECOND
38 } BDateElement;
39 
40 
41 class BCountry {
42 public:
43 								BCountry(const char* languageCode,
44 									const char* countryCode);
45 								BCountry(const char* languageAndCountryCode
46 									= "en_US");
47 								BCountry(const BCountry& other);
48 								BCountry& operator=(const BCountry& other);
49 								~BCountry();
50 
51 			bool				GetName(BString& name) const;
52 			const char*			Code() const;
53 			status_t			GetIcon(BBitmap* result) const;
54 
55 			const char*			GetLocalizedString(uint32 id) const;
56 
57 								// measurements
58 
59 			int8				Measurement() const;
60 
61 								// timezones
62 
63 			int					GetTimeZones(BList& timezones) const;
64 
65 private:
66 			icu_44::Locale*		fICULocale;
67 };
68 
69 
70 #endif	/* _COUNTRY_H_ */
71