Files
pilotclient/src/XPCAircraft.cpp
2015-11-19 22:40:56 +00:00

35 lines
909 B
C++

#include "XPCAircraft.h"
XPCAircraft::XPCAircraft(
const char * inICAOCode,
const char * inAirline,
const char * inLivery)
{
mPlane = XPMPCreatePlane(inICAOCode, inAirline, inLivery, AircraftCB,
reinterpret_cast<void *>(this));
}
XPCAircraft::~XPCAircraft()
{
XPMPDestroyPlane(mPlane);
}
XPMPPlaneCallbackResult XPCAircraft::AircraftCB(
XPMPPlaneID /*inPlane*/,
XPMPPlaneDataType inDataType,
void * ioData,
void * inRefcon)
{
XPCAircraft * me = reinterpret_cast<XPCAircraft *>(inRefcon);
switch(inDataType) {
case xpmpDataType_Position:
return me->GetPlanePosition((XPMPPlanePosition_t *) ioData);
case xpmpDataType_Surfaces:
return me->GetPlaneSurfaces((XPMPPlaneSurfaces_t *) ioData);
case xpmpDataType_Radar:
return me->GetPlaneRadar((XPMPPlaneRadar_t *) ioData);
default:
return xpmpData_Unavailable;
}
}