euroscope-sys 0.0.1

Raw FFI bindings and C++ glue shim for the EuroScope plugin SDK
// Rust -> EuroScope wrappers for CRadarTarget.

#include "common.h"

extern "C" bool es_radartarget_is_valid(void* h)
{
    return ES_AS(CRadarTarget, h)->IsValid();
}

extern "C" const char* es_radartarget_callsign(void* h)
{
    return ES_AS(CRadarTarget, h)->GetCallsign();
}

extern "C" const char* es_radartarget_system_id(void* h)
{
    return ES_AS(CRadarTarget, h)->GetSystemID();
}

extern "C" int es_radartarget_vertical_speed(void* h)
{
    return ES_AS(CRadarTarget, h)->GetVerticalSpeed();
}

extern "C" double es_radartarget_track_heading(void* h)
{
    return ES_AS(CRadarTarget, h)->GetTrackHeading();
}

extern "C" int es_radartarget_gs(void* h)
{
    return ES_AS(CRadarTarget, h)->GetGS();
}

extern "C" bool es_radartarget_correlate_with_flight_plan(void* h, void* fp)
{
    return ES_AS(CRadarTarget, h)->CorrelateWithFlightPlan(*ES_AS(CFlightPlan, fp));
}

extern "C" void es_radartarget_uncorrelate(void* h)
{
    ES_AS(CRadarTarget, h)->Uncorrelate();
}