|
@@ -72,5 +72,26 @@ EuroScopePlugIn::CRadarScreen* PlugIn::OnRadarScreenCreated(const char* displayN
|
|
|
}
|
|
|
|
|
|
void PlugIn::OnRadarTargetPositionUpdate(EuroScopePlugIn::CRadarTarget radarTarget) {
|
|
|
+ /* ignore invalid targets */
|
|
|
+ if (false == radarTarget.IsValid())
|
|
|
+ return;
|
|
|
+
|
|
|
+ auto flightPlan = radarTarget.GetCorrelatedFlightPlan();
|
|
|
+
|
|
|
+ /* ignore invalid flightplans */
|
|
|
+ if (false == flightPlan.IsValid())
|
|
|
+ return;
|
|
|
+
|
|
|
+ /* ignore flights that are not tracked by the current controller */
|
|
|
+ if (false == flightPlan.GetTrackingControllerIsMe())
|
|
|
+ return;
|
|
|
+
|
|
|
+ /* ignore non-IFR flights */
|
|
|
+ if (nullptr == flightPlan.GetFlightPlanData().GetPlanType() || 'I' != *flightPlan.GetFlightPlanData().GetPlanType())
|
|
|
+ return;
|
|
|
|
|
|
+ /* TODO filter by distance to destination */
|
|
|
+ /* TODO filter by airborne identifier */
|
|
|
+ /* TODO generate protobuf message */
|
|
|
+ /* TODO send aircraft update */
|
|
|
}
|