xref: /haiku/headers/os/locale/Country.h (revision 81fe5a9200d8b5b8509206f0f0fb85492946c113)
138ac8defSOliver Tappe /*
238ac8defSOliver Tappe  * Copyright 2003-2010, Haiku, Inc.
338ac8defSOliver Tappe  * Distributed under the terms of the MIT Licence.
438ac8defSOliver Tappe  */
5c3ac87e8SOliver Tappe #ifndef _COUNTRY_H_
6c3ac87e8SOliver Tappe #define _COUNTRY_H_
7c3ac87e8SOliver Tappe 
8c3ac87e8SOliver Tappe 
9282582c0SAdrien Destugues #include <List.h>
10c3ac87e8SOliver Tappe #include <LocaleStrings.h>
11c3ac87e8SOliver Tappe #include <String.h>
12282582c0SAdrien Destugues #include <SupportDefs.h>
13c3ac87e8SOliver Tappe 
1487158047SAdrien Destugues 
1587158047SAdrien Destugues class BBitmap;
16a03aca6eSAdrien Destugues class BMessage;
1787158047SAdrien Destugues 
185098ba1bSAdrien Destugues namespace icu_44 {
1975f15221SOliver Tappe 	class DateFormat;
20b2543193SAdrien Destugues 	class Locale;
2175f15221SOliver Tappe }
2275f15221SOliver Tappe 
235098ba1bSAdrien Destugues 
24c3ac87e8SOliver Tappe enum {
25c3ac87e8SOliver Tappe 	B_METRIC = 0,
26c3ac87e8SOliver Tappe 	B_US
27c3ac87e8SOliver Tappe };
28c3ac87e8SOliver Tappe 
29c3ac87e8SOliver Tappe 
30723383c0SOliver Tappe class BCountry {
31c3ac87e8SOliver Tappe public:
3238ac8defSOliver Tappe 								BCountry(const char* languageCode,
3338ac8defSOliver Tappe 									const char* countryCode);
3438ac8defSOliver Tappe 								BCountry(const char* languageAndCountryCode
3538ac8defSOliver Tappe 									= "en_US");
3682a115e8SAdrien Destugues 								BCountry(const BCountry& other);
3782a115e8SAdrien Destugues 								BCountry& operator=(const BCountry& other);
3838ac8defSOliver Tappe 								~BCountry();
39c3ac87e8SOliver Tappe 
4038ac8defSOliver Tappe 			bool				GetName(BString& name) const;
4175f15221SOliver Tappe 			const char*			Code() const;
4238ac8defSOliver Tappe 			status_t			GetIcon(BBitmap* result) const;
43c3ac87e8SOliver Tappe 
4438ac8defSOliver Tappe 			const char*			GetLocalizedString(uint32 id) const;
45c3ac87e8SOliver Tappe 
46*81fe5a92SOliver Tappe 			status_t			GetAvailableTimeZones(
47*81fe5a92SOliver Tappe 									BMessage* timeZones) const;
48c3ac87e8SOliver Tappe 
4938ac8defSOliver Tappe 			int8				Measurement() const;
50c3ac87e8SOliver Tappe 
51c3ac87e8SOliver Tappe private:
525098ba1bSAdrien Destugues 			icu_44::Locale*		fICULocale;
53c3ac87e8SOliver Tappe };
54c3ac87e8SOliver Tappe 
5538ac8defSOliver Tappe 
56c3ac87e8SOliver Tappe #endif	/* _COUNTRY_H_ */
57