Country.h revision 73de5837
1/*
2 * Copyright 2003-2011, 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			GetNativeName(BString& name) const;
36			status_t			GetName(BString& name,
37									const BLanguage* displayLanguage = NULL
38									) const;
39
40			const char*			Code() const;
41									// ISO-3166
42			status_t			GetIcon(BBitmap* result) const;
43
44			status_t			GetAvailableTimeZones(
45									BMessage* timeZones) const;
46
47			class Private;
48private:
49	friend	class Private;
50
51			U_ICU_NAMESPACE::Locale*		fICULocale;
52};
53
54
55#endif	/* _COUNTRY_H_ */
56