#include "CvGameCoreDLL.h"
#include "CyTradeRoute.h"
//
// published python interface for CyTradeRoute
//

void CyTradeRoutePythonInterface()
{
	OutputDebugString("Python Extension Module - CyTradeRoutePythonInterface\n");

	python::class_<CyTradeRoute>("CyTradeRoute")
		.def("getID", &CyTradeRoute::getID, "int ()")
		.def("getSourceCity", &CyTradeRoute::getSourceCity, "IDInfo ()")
		.def("getDestinationCity", &CyTradeRoute::getDestinationCity, "IDInfo ()")
		.def("getSourceCityNameKey", &CyTradeRoute::getSourceCityNameKey, "wstring ()")
		.def("getSourceCityName", &CyTradeRoute::getSourceCityName, "wstring ()")
		.def("getDestinationCityNameKey", &CyTradeRoute::getDestinationCityNameKey, "wstring ()")
		.def("getDestinationCityName", &CyTradeRoute::getDestinationCityName, "wstring ()")
		.def("getYield", &CyTradeRoute::getYield, "YieldTypes ()")
		// < JTradeRoutes Mod Start >
		.def("getName", &CyTradeRoute::getName, "str () - Get stored custom Trade Route Name")
		.def("setName", &CyTradeRoute::setName, "void (str) - Set stored custom Trade Route Name")
		.def("getOwner", &CyTradeRoute::getOwner, "int /*PlayerTypes*/ ()")

		.def("getEuropeCityID", &CyTradeRoute::getEuropeCityID, "int ()")
		.def("getAnywhereCityID", &CyTradeRoute::getAnywhereCityID, "int ()")
		.def("getNoCityID", &CyTradeRoute::getNoCityID, "int ()")

		.def("isSourceEurope", &CyTradeRoute::isSourceEurope, "bool ()")
		.def("isDestinationEurope", &CyTradeRoute::isDestinationEurope, "bool ()")
		.def("isLandRoute", &CyTradeRoute::isLandRoute, "bool ()")
		.def("isSeaRoute", &CyTradeRoute::isSeaRoute, "bool ()")
		// < JTradeRoutes Mod End >
	;
}
