/*
 * Copyright 2011-2019 Haiku, Inc. All rights reserved.
 * Distributed under the terms of the MIT License.
 *
 * Authors:
 *		Axel Dörfler, axeld@pinc-software.de.
 *		Adrien Destugues, pulkomandy@gmail.com.
 *		John Scipione, jscipione@gmail.com
 * 
 * Corresponds to:
 *		headers/os/locale/Country.h	 rev 53489
 *		src/kits/locale/Country.cpp	 rev 53489
 */


/*!
	\file Country.h
	\ingroup locale
	\ingroup libbe
	\brief BCountry class definition.
*/


/*!
	\class BCountry
	\ingroup locale
	\ingroup libbe
	\brief Class representing a country.

	BCountry provides information about a particular country including the
	countries flag (as an HVIF icon), the localized name of the country,
	and the ISO country code.

	Date, time, and number formatting also depends to some extent on the
	language used so they are found in the BLocale class instead.

	\since Haiku R1
*/


/*!
	\fn BCountry::BCountry(const char* countryCode)
	\brief Initialize a BCountry from a country code.

	\param countryCode The country code to initialize from.

	\since Haiku R1
*/


/*!
	\fn BCountry::BCountry(const BCountry& other)
	\brief Initialize a BCountry from another BCountry object.

	\param other The BCountry object to initialize from.

	\since Haiku R1
*/


/*!
	\fn BCountry& BCountry::operator=(const BCountry& other)
	\brief Initialize a BCountry from another BCountry object by overloading
	       the = operator.

	\param other The BCountry object to initialize from.

	\since Haiku R1
*/


/*!
	\fn BCountry::~BCountry()
	\brief Destructor method.

	\since Haiku R1
*/


/*!
	\fn status_t BCountry::SetTo(const char* countryCode)
	\brief Initialize a BCountry from a country code.

	\param countryCode The country code to initialize from.

	\returns Same value as InitCheck.

	\since Haiku R1
*/


/*!
	\fn status_t BCountry::InitCheck()
	\brief Check validity of the BCountry object.

	\returns B_OK if everything went fine, B_BAD_DATA if the specified country
	         code is not valid, B_NO_MEMORY if the object could not be
			 allocated properly.

	\since Haiku R1
*/


/*!
	\fn status_t BCountry::GetName(BString& name,
		const BLanguage* displayLanguage = NULL) const
	\brief Writes the country's name into the supplied BString.

	\param name A reference to a BString to write the country name to.
	\param displayLanguage The language to use when writing the name. Can be
	       \c NULL to use the language set by the user's locale.

	\returns A status code, B_OK if everything went fine, or an error code
	         otherwise.

	\since Haiku R1
*/


/*!
	\fn status_t BCountry::GetPreferredLanguage(BLanguage& language) const
	\brief Get the most likely language to use in that country.

	\param language A reference to a BLanguage to set to the preferred language.

	\returns A status code, B_OK if everything went fine, or an error code
	         otherwise.

	\since Haiku R1
*/


/*!
	\fn const char* BCountry::Code() const
	\brief Gets the ISO country code for the country.

	\returns The ISO country code for the country.

	\since Haiku R1
*/


/*!
	\fn status_t BCountry::GetIcon(BBitmap* result) const;
	\brief Render the country's flag to the given BBitmap.

	This function renders the country's flag to the given BBitmap. The bitmap
	should already be set to the pixel format and size you want to use.

	The flag is stored in HVIF format so it can be rendered at any size and
	color depth.

	\param result The BBitmap object to draw the flag into.

	\returns \c B_OK if the drawing was successful.

	\since Haiku R1
*/
