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 30 class BCountry { 31 public: 32 BCountry(const char* languageCode, 33 const char* countryCode); 34 BCountry(const char* languageAndCountryCode 35 = "en_US"); 36 BCountry(const BCountry& other); 37 BCountry& operator=(const BCountry& other); 38 ~BCountry(); 39 40 bool GetName(BString& name) const; 41 const char* Code() const; 42 status_t GetIcon(BBitmap* result) const; 43 44 const char* GetLocalizedString(uint32 id) const; 45 46 status_t GetAvailableTimeZones( 47 BMessage* timeZones) const; 48 49 int8 Measurement() const; 50 51 private: 52 icu_44::Locale* fICULocale; 53 }; 54 55 56 #endif /* _COUNTRY_H_ */ 57