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 typedef enum { 30 B_DATE_ELEMENT_INVALID = B_BAD_DATA, 31 B_DATE_ELEMENT_YEAR = 0, 32 B_DATE_ELEMENT_MONTH, 33 B_DATE_ELEMENT_DAY, 34 B_DATE_ELEMENT_AM_PM, 35 B_DATE_ELEMENT_HOUR, 36 B_DATE_ELEMENT_MINUTE, 37 B_DATE_ELEMENT_SECOND 38 } BDateElement; 39 40 41 class BCountry { 42 public: 43 BCountry(const char* languageCode, 44 const char* countryCode); 45 BCountry(const char* languageAndCountryCode 46 = "en_US"); 47 BCountry(const BCountry& other); 48 BCountry& operator=(const BCountry& other); 49 ~BCountry(); 50 51 bool GetName(BString& name) const; 52 const char* Code() const; 53 status_t GetIcon(BBitmap* result) const; 54 55 const char* GetLocalizedString(uint32 id) const; 56 57 // measurements 58 59 int8 Measurement() const; 60 61 // timezones 62 63 int GetTimeZones(BList& timezones) const; 64 65 private: 66 icu_44::Locale* fICULocale; 67 }; 68 69 70 #endif /* _COUNTRY_H_ */ 71