extern "C" 
{

//------------------------------------------------------------------------------------
// irr::IReferenceCounted wrappers
//------------------------------------------------------------------------------------

/*
bool Irr_IUnknown_drop(IUnknown* unk)
{
	if (unk)
		return unk->drop();
	else return 0;
}

const c8* Irr_IUnknown_getDebugName(IUnknown* unk)
{
	if (unk)
		return unk->getDebugName();
	else return "";
}

void Irr_IUnknown_grab(IUnknown* unk)
{
	if (unk)
		unk->grab();
}
*/

s32 Irr_IReferenceCounted_getReferenceCount(void* obj)
{
	if (obj) {
		IReferenceCounted* unk=(IReferenceCounted*)obj;
		return unk->getReferenceCount();
	}
	else return 0;
}

bool Irr_IReferenceCounted_drop(void* obj)
{
	if (obj) {
		IReferenceCounted* unk=(IReferenceCounted*)obj;
		return unk->drop();
	}
	else return 0;
}

const c8* Irr_IReferenceCounted_getDebugName(void* obj)
{
	if (obj) {
		IReferenceCounted* unk=(IReferenceCounted*)obj;
		return unk->getDebugName();
	} else return "";
}

void Irr_IReferenceCounted_grab(void* obj)
{
	if (obj) {
		IReferenceCounted* unk=(IReferenceCounted*)obj;
		unk->grab();
	}
}


}

