Expose SimObjectPtr C-API functions using EngineAPI

This commit is contained in:
Lukas Aldershaab 2023-10-08 19:47:07 +02:00 committed by Brian Roberts
parent 8748a2cac8
commit 87c6884433

View file

@ -42,14 +42,14 @@ namespace Sim
return Sim::getDataBlockGroup()->findObject(StringTable->insert(pName)); return Sim::getDataBlockGroup()->findObject(StringTable->insert(pName));
} }
// EngineAPI doesn't work with SimObjectPtr // EngineAPI doesn't work with SimObjectPtr, so use a void* as a transport
TORQUE_API SimObjectPtr<SimObject>* fnWrapObject (SimObject* pObject) DefineNewEngineFunction(WrapObject, void*, (SimObject* pObject), , "")
{ {
return new SimObjectPtr<SimObject>(pObject); return new SimObjectPtr<SimObject>(pObject);
} }
TORQUE_API void fnDeleteObjectPtr(SimObjectPtr<SimObject>* pObjectPtr) DefineNewEngineFunction(DeleteObjectPtr, void, (void* pObjectPtr), , "")
{ {
delete pObjectPtr; delete static_cast<SimObjectPtr<SimObject>*>(pObjectPtr);
} }
} }