138ac8defSOliver Tappe /* 270cdd7d4SAdrien Destugues * Copyright 2003-2019, 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; 16d1d8fda6SOliver Tappe class BLanguage; 17a03aca6eSAdrien Destugues class BMessage; 1887158047SAdrien Destugues 1973de5837SJérôme Duval #ifndef U_ICU_NAMESPACE 2073de5837SJérôme Duval #define U_ICU_NAMESPACE icu 2173de5837SJérôme Duval #endif 2273de5837SJérôme Duval namespace U_ICU_NAMESPACE { 2375f15221SOliver Tappe class DateFormat; 24b2543193SAdrien Destugues class Locale; 2575f15221SOliver Tappe } 2675f15221SOliver Tappe 275098ba1bSAdrien Destugues 28723383c0SOliver Tappe class BCountry { 29c3ac87e8SOliver Tappe public: 306fd2f4a0SOliver Tappe BCountry(const char* countryCode = NULL); 3182a115e8SAdrien Destugues BCountry(const BCountry& other); 3282a115e8SAdrien Destugues BCountry& operator=(const BCountry& other); 3338ac8defSOliver Tappe ~BCountry(); 34c3ac87e8SOliver Tappe 3570cdd7d4SAdrien Destugues status_t SetTo(const char* countryCode); 3670cdd7d4SAdrien Destugues status_t InitCheck() const; 3770cdd7d4SAdrien Destugues 38d1d8fda6SOliver Tappe status_t GetNativeName(BString& name) const; 39d1d8fda6SOliver Tappe status_t GetName(BString& name, 40d1d8fda6SOliver Tappe const BLanguage* displayLanguage = NULL 41d1d8fda6SOliver Tappe ) const; 42*e5fb17f0SAdrien Destugues status_t GetPreferredLanguage(BLanguage&) const; 43d1d8fda6SOliver Tappe 4475f15221SOliver Tappe const char* Code() const; 456fd2f4a0SOliver Tappe // ISO-3166 4638ac8defSOliver Tappe status_t GetIcon(BBitmap* result) const; 47c3ac87e8SOliver Tappe 4881fe5a92SOliver Tappe status_t GetAvailableTimeZones( 4981fe5a92SOliver Tappe BMessage* timeZones) const; 50c3ac87e8SOliver Tappe 51d1d8fda6SOliver Tappe class Private; 52c3ac87e8SOliver Tappe private: 53d1d8fda6SOliver Tappe friend class Private; 54d1d8fda6SOliver Tappe 5573de5837SJérôme Duval U_ICU_NAMESPACE::Locale* fICULocale; 56c3ac87e8SOliver Tappe }; 57c3ac87e8SOliver Tappe 5838ac8defSOliver Tappe 59c3ac87e8SOliver Tappe #endif /* _COUNTRY_H_ */ 60