
extern "C" 
{

//------------------------------------------------------------------------------------
// irr::ILogger wrappers
//------------------------------------------------------------------------------------

	s32 Irr_ILogger_getLogLevel(ILogger* log)
	{
		if (log)
			return log->getLogLevel();
		else
			return 0;
	}
	
	void Irr_ILogger_setLogLevel(ILogger* log,ELOG_LEVEL ll)
	{
		if (log)
			log->setLogLevel(ll);
	}
	
	void Irr_ILogger_logC(ILogger* log,const c8 *text,ELOG_LEVEL ll=ELL_INFORMATION)
	{
		if (log)
			log->log(text,ll);
	}
	
	void Irr_ILogger_logCWithHint(ILogger* log,const c8 *text, const c8 *hint, ELOG_LEVEL ll=ELL_INFORMATION)
	{
		if (log)
			log->log(text,hint,ll);
	}

	void Irr_ILogger_logCWithWHint(ILogger* log,const c8 *text, wchar_t *hint, ELOG_LEVEL ll=ELL_INFORMATION)
	{
		if (log)
			log->log(text,hint,ll);
	}
	
	void Irr_ILogger_logW(ILogger* log,wchar_t* text, ELOG_LEVEL ll=ELL_INFORMATION)
	{
		if (log)
			log->log(text,ll);
	}
	
	void Irr_ILogger_logWWithHint(ILogger* log,wchar_t* text, wchar_t* hint, ELOG_LEVEL ll=ELL_INFORMATION)
	{
		if (log)
			log->log(text, hint, ll);
	}

	bool Irr_ILogger_drop(ILogger* unk)
	{
		if (unk)
			return unk->drop();
		else return 0;
	}
	
	const c8* Irr_ILogger_getDebugName(ILogger* unk)
	{
		if (unk)
			return unk->getDebugName();
		else return "";
	}
	
	void Irr_ILogger_grab(ILogger* unk)
	{
		if (unk)
			unk->grab();
	}
	
}

