xref: /haiku/headers/os/locale/Country.h (revision d1d8fda63745350804d76b4ed160732086fa9655)
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;
16*d1d8fda6SOliver Tappe class BLanguage;
17a03aca6eSAdrien Destugues class BMessage;
1887158047SAdrien Destugues 
195098ba1bSAdrien Destugues namespace icu_44 {
2075f15221SOliver Tappe 	class DateFormat;
21b2543193SAdrien Destugues 	class Locale;
2275f15221SOliver Tappe }
2375f15221SOliver Tappe 
245098ba1bSAdrien Destugues 
25c3ac87e8SOliver Tappe enum {
26c3ac87e8SOliver Tappe 	B_METRIC = 0,
27c3ac87e8SOliver Tappe 	B_US
28c3ac87e8SOliver Tappe };
29c3ac87e8SOliver Tappe 
30c3ac87e8SOliver Tappe 
31723383c0SOliver Tappe class BCountry {
32c3ac87e8SOliver Tappe public:
3338ac8defSOliver Tappe 								BCountry(const char* languageCode,
3438ac8defSOliver Tappe 									const char* countryCode);
3538ac8defSOliver Tappe 								BCountry(const char* languageAndCountryCode
3638ac8defSOliver Tappe 									= "en_US");
3782a115e8SAdrien Destugues 								BCountry(const BCountry& other);
3882a115e8SAdrien Destugues 								BCountry& operator=(const BCountry& other);
3938ac8defSOliver Tappe 								~BCountry();
40c3ac87e8SOliver Tappe 
41*d1d8fda6SOliver Tappe 			status_t			GetNativeName(BString& name) const;
42*d1d8fda6SOliver Tappe 			status_t			GetName(BString& name,
43*d1d8fda6SOliver Tappe 									const BLanguage* displayLanguage = NULL
44*d1d8fda6SOliver Tappe 									) const;
45*d1d8fda6SOliver Tappe 
4675f15221SOliver Tappe 			const char*			Code() const;
4738ac8defSOliver Tappe 			status_t			GetIcon(BBitmap* result) const;
48c3ac87e8SOliver Tappe 
4938ac8defSOliver Tappe 			const char*			GetLocalizedString(uint32 id) const;
50c3ac87e8SOliver Tappe 
5181fe5a92SOliver Tappe 			status_t			GetAvailableTimeZones(
5281fe5a92SOliver Tappe 									BMessage* timeZones) const;
53c3ac87e8SOliver Tappe 
5438ac8defSOliver Tappe 			int8				Measurement() const;
55c3ac87e8SOliver Tappe 
56*d1d8fda6SOliver Tappe 			class Private;
57c3ac87e8SOliver Tappe private:
58*d1d8fda6SOliver Tappe 	friend	class Private;
59*d1d8fda6SOliver Tappe 
605098ba1bSAdrien Destugues 			icu_44::Locale*		fICULocale;
61c3ac87e8SOliver Tappe };
62c3ac87e8SOliver Tappe 
6338ac8defSOliver Tappe 
64c3ac87e8SOliver Tappe #endif	/* _COUNTRY_H_ */
65