1/*
2 * Copyright 2003-2019, 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
15class BBitmap;
16class BLanguage;
17class BMessage;
18
19#ifndef U_ICU_NAMESPACE
20  #define U_ICU_NAMESPACE icu
21#endif
22namespace U_ICU_NAMESPACE {
23	class DateFormat;
24	class Locale;
25}
26
27
28class BCountry {
29public:
30								BCountry(const char* countryCode = NULL);
31								BCountry(const BCountry& other);
32								BCountry& operator=(const BCountry& other);
33								~BCountry();
34
35			status_t			SetTo(const char* countryCode);
36			status_t			InitCheck() const;
37
38			status_t			GetNativeName(BString& name) const;
39			status_t			GetName(BString& name,
40									const BLanguage* displayLanguage = NULL
41									) const;
42			status_t			GetPreferredLanguage(BLanguage&) const;
43
44			const char*			Code() const;
45									// ISO-3166
46			status_t			GetIcon(BBitmap* result) const;
47
48			status_t			GetAvailableTimeZones(
49									BMessage* timeZones) const;
50
51			class Private;
52private:
53	friend	class Private;
54
55			U_ICU_NAMESPACE::Locale*		fICULocale;
56};
57
58
59#endif	/* _COUNTRY_H_ */
60