root/headers/os/locale/Country.h
/*
 * Copyright 2003-2019, Haiku, Inc.
 * Distributed under the terms of the MIT Licence.
 */
#ifndef _COUNTRY_H_
#define _COUNTRY_H_


#include <List.h>
#include <LocaleStrings.h>
#include <String.h>
#include <SupportDefs.h>


class BBitmap;
class BLanguage;
class BMessage;

#ifndef U_ICU_NAMESPACE
  #define U_ICU_NAMESPACE icu
#endif
namespace U_ICU_NAMESPACE {
        class DateFormat;
        class Locale;
}


class BCountry {
public:
                                                                BCountry(const char* countryCode = NULL);
                                                                BCountry(const BCountry& other);
                                                                BCountry& operator=(const BCountry& other);
                                                                ~BCountry();

                        status_t                        SetTo(const char* countryCode);
                        status_t                        InitCheck() const;

                        status_t                        GetNativeName(BString& name) const;
                        status_t                        GetName(BString& name,
                                                                        const BLanguage* displayLanguage = NULL
                                                                        ) const;
                        status_t                        GetPreferredLanguage(BLanguage&) const;

                        const char*                     Code() const;
                                                                        // ISO-3166
                        status_t                        GetIcon(BBitmap* result) const;

                        status_t                        GetAvailableTimeZones(
                                                                        BMessage* timeZones) const;

                        class Private;
private:
        friend  class Private;

                        U_ICU_NAMESPACE::Locale*                fICULocale;
};


#endif  /* _COUNTRY_H_ */