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