mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 15:25:35 +08:00
35 lines
909 B
C++
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;
|
|
}
|
|
}
|