TinyEurocat/lib/EuroScopePlugIn.h

4945 lines
192 KiB
C++

#pragma once
#ifndef DllSpecEuroScope
#define DllSpecEuroScope __declspec ( dllimport )
#define ESINDEX void *
#endif
// external undefined classes
class CRadarView ;
class CPlugInData ;
namespace EuroScopePlugIn
{
const int COMPATIBILITY_CODE = 16 ;
const int FLIGHT_PLAN_STATE_NOT_STARTED = 0 ;
const int FLIGHT_PLAN_STATE_SIMULATED = 1 ;
const int FLIGHT_PLAN_STATE_TERMINATED = 2 ;
const int FLIGHT_PLAN_STATE_NON_CONCERNED = 0 ;
const int FLIGHT_PLAN_STATE_NOTIFIED = 1 ;
const int FLIGHT_PLAN_STATE_COORDINATED = 2 ;
const int FLIGHT_PLAN_STATE_TRANSFER_TO_ME_INITIATED = 3 ;
const int FLIGHT_PLAN_STATE_TRANSFER_FROM_ME_INITIATED= 4 ;
const int FLIGHT_PLAN_STATE_ASSUMED = 5 ;
const int FLIGHT_PLAN_STATE_REDUNDANT = 7 ;
const int AIRWAY_CLASS_VALID = 0 ;
const int AIRWAY_CLASS_DIRECTION_ERROR = 1 ;
const int AIRWAY_CLASS_UNCONNECTED = 2 ;
const int AIRWAY_CLASS_NO_DATA_DIRECT = 3 ;
const int CTR_DATA_TYPE_SQUAWK = 1 ;
const int CTR_DATA_TYPE_FINAL_ALTITUDE = 2 ;
const int CTR_DATA_TYPE_TEMPORARY_ALTITUDE = 3 ;
const int CTR_DATA_TYPE_COMMUNICATION_TYPE = 4 ;
const int CTR_DATA_TYPE_SCRATCH_PAD_STRING = 5 ;
const int CTR_DATA_TYPE_GROUND_STATE = 6 ;
const int CTR_DATA_TYPE_CLEARENCE_FLAG = 7 ;
const int CTR_DATA_TYPE_DEPARTURE_SEQUENCE = 8 ;
const int CTR_DATA_TYPE_SPEED = 9 ;
const int CTR_DATA_TYPE_MACH = 10 ;
const int CTR_DATA_TYPE_RATE = 11 ;
const int CTR_DATA_TYPE_HEADING = 12 ;
const int CTR_DATA_TYPE_DIRECT_TO = 13 ;
const int REFRESH_PHASE_BACK_BITMAP = 0 ;
const int REFRESH_PHASE_BEFORE_TAGS = 1 ;
const int REFRESH_PHASE_AFTER_TAGS = 2 ;
const int REFRESH_PHASE_AFTER_LISTS = 3 ;
const int TAG_COLOR_DEFAULT = 0 ;
const int TAG_COLOR_RGB_DEFINED = 1 ;
const int TAG_COLOR_NON_CONCERNED = 2 ;
const int TAG_COLOR_NOTIFIED = 3 ;
const int TAG_COLOR_ASSUMED = 4 ;
const int TAG_COLOR_TRANSFER_TO_ME_INITIATED = 5 ;
const int TAG_COLOR_REDUNDANT = 6 ;
const int TAG_COLOR_INFORMATION = 7 ;
const int TAG_COLOR_ONGOING_REQUEST_FROM_ME = 8 ;
const int TAG_COLOR_ONGOING_REQUEST_TO_ME = 9 ;
const int TAG_COLOR_ONGOING_REQUEST_ACCEPTED = 10 ;
const int TAG_COLOR_ONGOING_REQUEST_REFUSED = 11 ;
const int TAG_COLOR_EMERGENCY = 12 ;
const int TAG_TYPE_UNTAGGED = 0 ;
const int TAG_TYPE_TAGGED = 1 ;
const int TAG_TYPE_DETAILED = 2 ;
const int TAG_TYPE_TSSR = 3 ;
const int TAG_ITEM_TYPE_NEXT_LINE = 0 ;
const int TAG_ITEM_TYPE_STATIC_STRING = 1 ;
const int TAG_ITEM_TYPE_SQUAWK = 2 ;
const int TAG_ITEM_TYPE_VERTICAL_SPEED_INDICATOR = 3 ;
const int TAG_ITEM_TYPE_ALTITUDE = 4 ;
const int TAG_ITEM_TYPE_EMERGENCY_INDICATOR = 5 ;
const int TAG_ITEM_TYPE_RADIO_FAILURE_INDICATOR = 6 ;
const int TAG_ITEM_TYPE_HIJACK_INDICATOR = 7 ;
const int TAG_ITEM_TYPE_COLLOSION_ALERT = 8 ;
const int TAG_ITEM_TYPE_CALLSIGN = 9 ;
const int TAG_ITEM_TYPE_AIRCRAFT_CATEGORY = 10 ;
const int TAG_ITEM_TYPE_COMMUNICATION_TYPE = 11 ;
const int TAG_ITEM_TYPE_VERTICAL_SPEED = 12 ;
const int TAG_ITEM_TYPE_GROUND_SPEED_WITH_N = 13 ;
const int TAG_ITEM_TYPE_HANDOFF_TARGET = 14 ;
const int TAG_ITEM_TYPE_OWNER = 15 ;
const int TAG_ITEM_TYPE_PLANE_TYPE = 16 ;
const int TAG_ITEM_TYPE_DESTINATION = 17 ;
const int TAG_ITEM_TYPE_SQUAWK_ERROR = 18 ;
const int TAG_ITEM_TYPE_INFO_STRING = 19 ;
const int TAG_ITEM_TYPE_TEMP_ALTITUDE = 20 ;
const int TAG_ITEM_TYPE_INFO_INDICATOR = 21 ;
const int TAG_ITEM_TYPE_FINAL_ALTITUDE = 22 ;
const int TAG_ITEM_TYPE_ASSIGNED_SPEED = 23 ;
const int TAG_ITEM_TYPE_ASSIGNED_RATE = 24 ;
const int TAG_ITEM_TYPE_ASSIGNED_HEADING = 25 ;
const int TAG_ITEM_TYPE_SECTOR_INDICATOR = 26 ;
const int TAG_ITEM_TYPE_DUPLICATED_SQUAWK = 27 ;
const int TAG_ITEM_TYPE_COPN_COPX_NAME = 28 ;
const int TAG_ITEM_TYPE_COPN_COPX_ALTITUDE = 29 ;
const int TAG_ITEM_TYPE_FIR_COPX_NAME = 30 ;
const int TAG_ITEM_TYPE_COPX_NOT_CLEARED_ALTITUDE = 31 ;
const int TAG_ITEM_TYPE_COPX_AWERE_TEMP_ALTITUDE = 32 ;
const int TAG_ITEM_TYPE_NEXT_LINE_IF_NOT_EMPTY = 33 ;
const int TAG_ITEM_TYPE_DIRECT = 34 ;
const int TAG_ITEM_TYPE_GROUND_SPEED_OPTIONAL_WITH_N = 35 ;
const int TAG_ITEM_TYPE_FIR_COPX_NAME_OPTIONAL = 36 ;
const int TAG_ITEM_TYPE_DESTINATION_OPTIONAL = 37 ;
const int TAG_ITEM_TYPE_PLANE_TYPE_OPTIONAL = 38 ;
const int TAG_ITEM_TYPE_TSSR = 39 ;
const int TAG_ITEM_TYPE_GROUND_SPEED_WOUT_N = 40 ;
const int TAG_ITEM_TYPE_GROUND_SPEED_OPTIONAL_WOUT_N = 41 ;
const int TAG_ITEM_TYPE_COMPOUND_WARNING = 42 ;
const int TAG_ITEM_TYPE_TEMP_IFSET = 43 ;
const int TAG_ITEM_TYPE_ASSIGNED_SPEED_IFSET = 44 ;
const int TAG_ITEM_TYPE_ASSIGNED_RATE_IFSET = 45 ;
const int TAG_ITEM_TYPE_ASSIGNED_HEADING_IFSET = 46 ;
const int TAG_ITEM_TYPE_ASSIGNED_RUNWAY = 47 ;
const int TAG_ITEM_TYPE_COPN_NAME = 48 ;
const int TAG_ITEM_TYPE_COPN_ALTITUDE = 49 ;
const int TAG_ITEM_TYPE_COPN_TIME = 50 ;
const int TAG_ITEM_TYPE_COPX_NAME = 51 ;
const int TAG_ITEM_TYPE_COPX_ALTITUDE = 52 ;
const int TAG_ITEM_TYPE_COPX_TIME = 53 ;
const int TAG_ITEM_TYPE_ETA = 54 ;
const int TAG_ITEM_TYPE_ASSIGNED_STAR = 55 ;
const int TAG_ITEM_TYPE_ASSIGNED_SID = 56 ;
const int TAG_ITEM_TYPE_DEPARTURE_ORDER = 57 ;
const int TAG_ITEM_TYPE_CLEARENCE = 58 ;
const int TAG_ITEM_TYPE_GROUND_STATUS = 59 ;
const int TAG_ITEM_TYPE_ASSIGNED_SQUAWK = 60 ;
const int TAG_ITEM_TYPE_ORIGIN = 61 ;
const int TAG_ITEM_TYPE_RVSM_FLAG = 62 ;
const int TAG_ITEM_TYPE_FLIGHT_RULE = 63 ;
const int TAG_ITEM_TYPE_SECTOR_INDICATOR_FIX = 64 ;
const int TAG_ITEM_TYPE_MANUAL_COORDINATION = 65 ;
const int TAG_ITEM_TYPE_INFO_ALWAYS = 66 ;
const int TAG_ITEM_TYPE_CLAM_WARNING = 67 ;
const int TAG_ITEM_TYPE_RAM_WARNING = 68 ;
const int TAG_ITEM_TYPE_SQ_OR_CALLSIGN = 69 ;
const int TAG_ITEM_TYPE_TWO_LETTER_GS = 70 ;
const int TAG_ITEM_TYPE_TWO_LETTER_GS_OPTIONAL = 71 ;
const int TAG_ITEM_TYPE_TWO_LETTER_ASSIGNED_SPEED = 72 ;
const int TAG_ITEM_TYPE_TWO_LETTER_ASSIGNED_SPEED_IFSET = 73 ;
const int TAG_ITEM_TYPE_NOT_REACHED_TEMPORARY = 74 ;
const int TAG_ITEM_TYPE_NOT_CLEARED_COPN_COPX_ALT = 75 ;
const int TAG_ITEM_TYPE_AIRCRAFT_CATEGORY_WITH_SLASH = 76 ;
const int TAG_ITEM_TYPE_NON_RVSM_FLAG = 77 ;
const int TAG_ITEM_TYPE_AC_TYPE_CATEGORY = 78 ;
const int TAG_ITEM_TYPE_AC_TYPE_CATEGORY_OPTIONAL = 79 ;
const int TAG_ITEM_TYPE_COMMUNICATION_TYPE_REDUCED= 80 ;
const int TAG_ITEM_TYPE_AIRLINE = 81 ;
const int TAG_ITEM_TYPE_FP_STATUS = 82 ;
const int TAG_ITEM_TYPE_ESTIMATE = 83 ;
const int TAG_ITEM_TYPE_ESTIMATE_ALWAYS = 84 ;
const int TAG_ITEM_TYPE_CONFLICTING_AC_CALLSING = 85 ;
const int TAG_ITEM_TYPE_CONFLICT_START = 86 ;
const int TAG_ITEM_TYPE_CONFLICT_END = 87 ;
const int TAG_ITEM_TYPE_CONFLICT_TYPE = 88 ;
const int TAG_ITEM_TYPE_MSAW_INDICATOR = 89 ;
const int TAG_ITEM_TYPE_SIMULATION_INDICATOR = 90 ;
const int TAG_ITEM_TYPE_SIMULATION_WAYPOINT = 91 ;
const int TAG_ITEM_TYPE_ASSIGNED_HEADING_STATIC = 92 ;
const int TAG_ITEM_TYPE_AIRLINE_NAME = 93 ;
const int TAG_ITEM_TYPE_SIMULATION_IAS = 94 ;
const int TAG_ITEM_TYPE_SIMULATION_ALTITUDE = 95 ;
const int TAG_ITEM_TYPE_SIMULATION_HEADING = 96 ;
const int TAG_ITEM_FUNCTION_NO = 0 ;
const int TAG_ITEM_FUNCTION_TOGGLE_ROUTE_DRAW = 1 ;
const int TAG_ITEM_FUNCTION_TOGGLE_ITEM_DISPLAY = 2 ;
const int TAG_ITEM_FUNCTION_TOGGLE_FIR_COPX_DISPLAY = 3 ;
const int TAG_ITEM_FUNCTION_TOGGLE_DEST_DISPLAY = 4 ;
const int TAG_ITEM_FUNCTION_TOGGLE_PLANE_TYPE_DISPLAY = 5 ;
const int TAG_ITEM_FUNCTION_TOGGLE_SI_STYLE = 6 ;
const int TAG_ITEM_FUNCTION_OPEN_FP_DIALOG = 7 ;
const int TAG_ITEM_FUNCTION_HANDOFF_POPUP_MENU = 8 ;
const int TAG_ITEM_FUNCTION_TAKE_HANDOFF = 9 ;
const int TAG_ITEM_FUNCTION_NEXT_ROUTE_POINTS_POPUP = 10 ;
const int TAG_ITEM_FUNCTION_TEMP_ALTITUDE_POPUP = 11 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_SPEED_POPUP = 12 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_RATE_POPUP = 13 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_HEADING_POPUP = 14 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_MACH_POPUP = 15 ;
const int TAG_ITEM_FUNCTION_TOGGLE_PREDICTION_DRAW = 16 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_SID = 17 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_STAR = 18 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_RUNWAY = 19 ;
const int TAG_ITEM_FUNCTION_ASSIGNED_NEXT_CONTROLLER = 20 ;
const int TAG_ITEM_FUNCTION_COPN_NAME = 21 ;
const int TAG_ITEM_FUNCTION_COPX_NAME = 22 ;
const int TAG_ITEM_FUNCTION_COPN_ALTITUDE = 23 ;
const int TAG_ITEM_FUNCTION_COPX_ALTITUDE = 24 ;
const int TAG_ITEM_FUNCTION_ACCEPT_MANUAL_COORDINATION= 25 ;
const int TAG_ITEM_FUNCTION_COPN_COPX_ALTITUDE = 26 ;
const int TAG_ITEM_FUNCTION_SET_CLEARED_FLAG = 27 ;
const int TAG_ITEM_FUNCTION_SET_GROUND_STATUS = 28 ;
const int TAG_ITEM_FUNCTION_EDIT_SCRATCH_PAD = 29 ;
const int TAG_ITEM_FUNCTION_RFL_POPUP = 30 ;
const int TAG_ITEM_FUNCTION_SQUAWK_POPUP = 31 ;
const int TAG_ITEM_FUNCTION_COMMUNICATION_POPUP = 32 ;
const int TAG_ITEM_FUNCTION_CORRELATE_POPUP = 33 ;
const int TAG_ITEM_FUNCTION_SET_FP_STATUS = 34 ;
const int TAG_ITEM_FUNCTION_SET_ESTIMATE = 35 ;
const int TAG_ITEM_FUNCTION_SIMUL_TO_POPUP = 37 ;
const int TAG_ITEM_FUNCTION_SIMUL_LAND_VACATE_POPUP = 38 ;
const int TAG_ITEM_FUNCTION_SIMUL_TAXI_POPUP = 39 ;
const int TAG_ITEM_FUNCTION_SIMUL_TAXI_BEHIND = 40 ;
const int TAG_ITEM_FUNCTION_SIMULATION_POPUP = 41 ;
const int TAG_ITEM_FUNCTION_SIMUL_NEXT_WAYPOINTS = 42 ;
const int TAG_ITEM_FUNCTION_SIMUL_HOLDING_POINTS = 43 ;
const int TAG_ITEM_FUNCTION_CONFLICT_DETECTION_TOOL2 = 44 ;
const int TAG_ITEM_FUNCTION_SIMUL_ROUTES_POPUP = 45 ;
const int TAG_DATA_UNCORRELATED_RADAR = 1 ;
const int TAG_DATA_FLIGHT_PLAN_TRACK = 2 ;
const int TAG_DATA_CORRELATED = 3 ;
const int BUTTON_LEFT = 1 ;
const int BUTTON_MIDDLE = 2 ;
const int BUTTON_RIGHT = 3 ;
const int POPUP_ELEMENT_UNCHECKED = 0 ;
const int POPUP_ELEMENT_CHECKED = 1 ;
const int POPUP_ELEMENT_NO_CHECKBOX = 2 ;
const int CONNECTION_TYPE_NO = 0 ;
const int CONNECTION_TYPE_DIRECT = 1 ;
const int CONNECTION_TYPE_VIA_PROXY = 2 ;
const int CONNECTION_TYPE_SIMULATOR_SERVER = 3 ;
const int CONNECTION_TYPE_PLAYBACK = 4 ;
const int CONNECTION_TYPE_SIMULATOR_CLIENT = 5 ;
const int CONNECTION_TYPE_SWEATBOX = 6 ;
const int COORDINATION_STATE_NONE = 1 ;
const int COORDINATION_STATE_REQUESTED_BY_ME = 2 ;
const int COORDINATION_STATE_REQUESTED_BY_OTHER = 3 ;
const int COORDINATION_STATE_ACCEPTED = 4 ;
const int COORDINATION_STATE_REFUSED = 5 ;
const int COORDINATION_STATE_MANUAL_ACCEPTED = 6 ;
const int SECTOR_ELEMENT_INFO = 0 ;
const int SECTOR_ELEMENT_VOR = 1 ;
const int SECTOR_ELEMENT_NDB = 2 ;
const int SECTOR_ELEMENT_AIRPORT = 3 ;
const int SECTOR_ELEMENT_RUNWAY = 4 ;
const int SECTOR_ELEMENT_FIX = 5 ;
const int SECTOR_ELEMENT_STAR = 6 ;
const int SECTOR_ELEMENT_SID = 7 ;
const int SECTOR_ELEMENT_LOW_AIRWAY = 8 ;
const int SECTOR_ELEMENT_HIGH_AIRWAY = 9 ;
const int SECTOR_ELEMENT_HIGH_ARTC = 10 ;
const int SECTOR_ELEMENT_ARTC = 11 ;
const int SECTOR_ELEMENT_LOW_ARTC = 12 ;
const int SECTOR_ELEMENT_GEO = 13 ;
const int SECTOR_ELEMENT_FREE_TEXT = 14 ;
const int SECTOR_ELEMENT_AIRSPACE = 15 ;
const int SECTOR_ELEMENT_POSITION = 16 ;
const int SECTOR_ELEMENT_SIDS_STARS = 17 ;
const int SECTOR_ELEMENT_RADARS = 18 ;
const int SECTOR_ELEMENT_REGIONS = 19 ;
const int SECTOR_ELEMENT_NUMBER = 20 ;
const int SECTOR_ELEMENT_ALL = -1 ;
const int RADAR_POSITION_NONE = 0 ;
const int RADAR_POSITION_PRIMARY = 1 ;
const int RADAR_POSITION_SECONDARY_C = 2 ;
const int RADAR_POSITION_SECONDARY_S = 4 ;
const int RADAR_POSITION_ALL = 7 ;
// forward declaration
class DllSpecEuroScope CSectorElement ;
class DllSpecEuroScope CPosition
{
public:
double m_Latitude ;
double m_Longitude ;
//---CPosition-----------------------------------------------------
inline CPosition ( void )
{
m_Latitude = m_Longitude = 0.0 ;
} ;
//---LoadFromStrings-----------------------------------------------
bool LoadFromStrings ( const char * sLongitude,
const char * sLatitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => sLongitude - longitude value
// => sLatitude - latitude value
//
// Return :
// true - if success
// false - else
//
// Description :
// It loads the position from sectrofile format coordinate strings.
//-----------------------------------------------------------------
//---DistanceTo----------------------------------------------------
double DistanceTo ( const CPosition OtherPosition ) const ;
//-----------------------------------------------------------------
// Parameters :
// => OtherPosition - another position
//
// Return :
// the distance between the positions
//-----------------------------------------------------------------
//---DirectionTo---------------------------------------------------
double DirectionTo ( const CPosition OtherPosition ) const ;
//-----------------------------------------------------------------
// Parameters :
// => OtherPosition - another position
//
// Return :
// the magnetic direction from this to the other position
// using the active sectorfile magnetic deviation value
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CFlightPlanExtractedRoute
{
private:
ESINDEX m_FpPosition ; // the currently referenced AC position
friend class CFlightPlan ;
public:
//---CFlightPlanExtractedRoute---------------------------------------
inline CFlightPlanExtractedRoute ( void )
{
m_FpPosition = NULL ;
} ;
//---GetPointsNumber-----------------------------------------------
int GetPointsNumber ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The number of points in the extracted route array.
//-----------------------------------------------------------------
//---GetPointsCalculatedIndex--------------------------------------
int GetPointsCalculatedIndex ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The index of point in the extracted route that edge is the
// closest to the actual plane position. The return value is
// between 0 and point number - 2.
// The value may be -1 indicating invalid state.
//-----------------------------------------------------------------
//---GetPointsAssignedIndex----------------------------------------
int GetPointsAssignedIndex ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The index of point in the extracted route that was assigned
// by a controller as next (direct to). The return value is
// between 0 and point number - 1.
// The value may be -1 indicating no direct was given.
//-----------------------------------------------------------------
//---GetPointName--------------------------------------------------
const char * GetPointName ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1.
//
// Return :
// The name of the point in the extracted route array.
//-----------------------------------------------------------------
//---GetPointPosition----------------------------------------------
CPosition GetPointPosition ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1.
//
// Return :
// The coordinates of the point in the extracted route array.
//-----------------------------------------------------------------
//---GetPointAirwayName--------------------------------------------
const char * GetPointAirwayName ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 1 and point number - 1.
// For point 0 it is always empty.
//
// Return :
// The name of the airway or SID/STAR from the previous point
// (Index-1) to this one.
//-----------------------------------------------------------------
//---GetPointAirwayClassification----------------------------------
int GetPointAirwayClassification ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 1 and point number - 1.
// For point 0 it is always direct to.
//
// Return :
// The calssification (see AIRWAY_CLASS_...) of the airway
// from the previous point (Index-1) to this one.
//-----------------------------------------------------------------
//---GetPointDistanceInMinutes-------------------------------------
int GetPointDistanceInMinutes ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1.
//
// Return :
// The distance of the point in minutes from plane current position.
// May return -1 if the point has been passed.
//-----------------------------------------------------------------
//---GetPointCalculatedProfileAltitude-----------------------------
int GetPointCalculatedProfileAltitude ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1.
//
// Return :
// The altitude (no FL/altitude change here) calculated from
// the route, clib/descend profile and COPX altitude constraints.
// The index must be between 0 and point number - 1.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CFlightPlanPositionPredictions
{
private:
ESINDEX m_FpPosition ; // the currently referenced AC position
friend class CFlightPlan ;
public:
//---CFlightPlanPositionPredictions----------------------------------
inline CFlightPlanPositionPredictions ( void )
{
m_FpPosition = NULL ;
} ;
//---GetPointsNumber-----------------------------------------------
int GetPointsNumber ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The number of points in the prediction array.
//-----------------------------------------------------------------
//---GetPosition---------------------------------------------------
CPosition GetPosition ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1. The index is
// equal the minutes from now.
//
// Return :
// The predicted position of the AC expected at Index minutes from now.
//-----------------------------------------------------------------
//---GetAltitude---------------------------------------------------
int GetAltitude ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1. The index is
// equal the minutes from now.
//
// Return :
// The predicted altitude/level of the AC expected at Index
// minutes from now. There is no ALT/FL conversion in this
// function.
//-----------------------------------------------------------------
//---GetControllerId-----------------------------------------------
const char * GetControllerId ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the requested point. It must be
// between 0 and point number - 1. The index is
// equal the minutes from now.
//
// Return :
// The position ID of the predicted controller at Index
// minutes from now.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CRadarTargetPositionData
{
private:
ESINDEX m_RtPosition ; // the currently referenced RT position
ESINDEX m_PosPosition ;
friend class CRadarTarget ;
friend class CFlightPlan ;
public:
//---CRadarTargetPositionData-----------------------------------------
inline CRadarTargetPositionData ( void )
{
m_RtPosition = m_PosPosition = NULL ;
} ;
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_RtPosition != NULL ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the position reference is valid
// false - else
//
// Description :
// It tests if the AC and the position reference is valid.
//-----------------------------------------------------------------
//---IsFPTrackPosition---------------------------------------------
inline bool IsFPTrackPosition ( void ) const
{
return m_PosPosition == NULL ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the position is a reference to the FP track
// false - else
//-----------------------------------------------------------------
//---GetReceivedTime-----------------------------------------------
int GetReceivedTime ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The number of seconds elapsed since the position data received.
//-----------------------------------------------------------------
//---GetPosition---------------------------------------------------
CPosition GetPosition ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The lat/lon coordinates of the plane.
//-----------------------------------------------------------------
//---GetSquawk-----------------------------------------------------
const char * GetSquawk ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The squawk sent by the pilot
//-----------------------------------------------------------------
//---GetTransponderC------------------------------------------------
bool GetTransponderC ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the plane transponder is C mode
// false - else
//-----------------------------------------------------------------
//---GetTransponderI------------------------------------------------
bool GetTransponderI ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the plane transponder is IDENT mode
// false - else
//-----------------------------------------------------------------
//---GetPressureAltitude-------------------------------------------
int GetPressureAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The true altitude of the plane in feet.
//-----------------------------------------------------------------
//---GetFlightLevel------------------------------------------------
int GetFlightLevel ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The altitude calculated using stadard pressure. The return
// value is in feet.
//-----------------------------------------------------------------
//---GetReportedGS-------------------------------------------------
int GetReportedGS ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The GS reported by the pilot client
//-----------------------------------------------------------------
//---GetReportedHeading--------------------------------------------
int GetReportedHeading ( void ) const ;
int GetReportedHeadingTrueNorth ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The heading (not tracking) reported by the pilot client.
//-----------------------------------------------------------------
//---GetReportedPitch----------------------------------------------
int GetReportedPitch ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pitch reported by the pilot client. The value is between
// -180 and +180; negative means above horizon.
//-----------------------------------------------------------------
//---GetReportedBank-----------------------------------------------
int GetReportedBank ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pitch reported by the pilot client. The value is between
// -180 and +180; negative means right bank.
//-----------------------------------------------------------------
//---GetRadarFlags-------------------------------------------------
int GetRadarFlags ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The logical or combination of the following values:
// - RADAR_POSITION_PRIMARY - primary position received
// - RADAR_POSITION_SECONDARY_C - A+C mode transponder received
// - RADAR_POSITION_SECONDARY_S - S mode transponder received
//
// Description :
// It returns the radar response flags for the specified position.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CFlightPlanData
{
private:
ESINDEX m_FpPosition ; // the currently referenced AC position
friend class CFlightPlan ;
public:
//---CFlightPlanData-------------------------------------------
inline CFlightPlanData ( void )
{
m_FpPosition = NULL ;
} ;
//---IsReceived----------------------------------------------------
bool IsReceived ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if any kind of FP is received from the servers
// false - else
//-----------------------------------------------------------------
//---IsAmended-----------------------------------------------------
bool IsAmended ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the FP is amended by a controller
// false - else
//-----------------------------------------------------------------
//---AmendFlightPlan-----------------------------------------------
bool AmendFlightPlan ( void ) ;
//-----------------------------------------------------------------
// Return :
// true - if success
// false - else
//
// Description :
// It amends the FP
//-----------------------------------------------------------------
//---GetPlanType---------------------------------------------------
const char * GetPlanType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The type of the flight plan: V or I.
//-----------------------------------------------------------------
//---SetPlanType---------------------------------------------------
bool SetPlanType ( const char * sPlanType ) ;
//-----------------------------------------------------------------
// Parameters :
// => sPlanType - the type of the FP: V or I.
//
// Return :
// true - if success
// false - else
//
// Description :
// It changes the FP type.
//-----------------------------------------------------------------
//---GetAircraftInfo-----------------------------------------------
const char * GetAircraftInfo ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The unextracted aircraft information.
//-----------------------------------------------------------------
//---SetAircraftInfo-----------------------------------------------
bool SetAircraftInfo ( const char * sInfo ) ;
//-----------------------------------------------------------------
// Parameters :
// => sInfo - the complete aircraft information
//
// Return :
// true - if success
// false - else
//
// Description :
// It changes the FP AC info.
//-----------------------------------------------------------------
//---GetAircraftWtc------------------------------------------------
char GetAircraftWtc ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The weight category of the aircraft.
// Possible values are:
// ? - unknown
// L - light
// M - medium
// H - heavy
// J - super heavy
//-----------------------------------------------------------------
//---GetAircraftType-----------------------------------------------
char GetAircraftType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The type of the aircraft.
// Possible values are:
// ? - unknown
// L - landplane
// S - seaplane
// A - amphibian
// H - helicopter
// G - gyrocopter
// T - tilt-wing AC
//-----------------------------------------------------------------
//---GetEngineNumber-----------------------------------------------
int GetEngineNumber ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The number of engines.
//-----------------------------------------------------------------
//---GetEngineType-------------------------------------------------
char GetEngineType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The type of the engines of the aircraft.
// Possible values are:
// ? - unknown
// P - piston
// T - turboprop/turboshaft
// J - jet
// E - electric
//-----------------------------------------------------------------
//---GetCapibilities-----------------------------------------------
char GetCapibilities ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The navigation capibilities of the aircraft.
// Possible values are:
// ? - unknown
// T - no DME, Transponder without mode A+C
// X - no DME, No Transponder
// U - no DME, Transponder with mode A+C
// D - DME, No Transponder
// B - DME, Transponder without mode A+C
// A - DME, Transponder with mode A+C
// M - TACAN only, No Transponder
// N - TACAN only, Transponder without mode A+C
// P - TACAN only, Transponder with mode A+C
// Y - simple RNAV, No Transponder
// C - simple RNAV, Transponder without mode A+C
// I - simple RNAV, Transponder with mode A+C
// E - advanced RNAV with Dual FMS
// F - advanced RNAV with Single FMS
// G - advanced RNAV with GPS or GNSS
// R - advanced RNAV with RNP capability
// W - advanced RNAV with RVSM capability
// Q - advanced RNAV with RNP and RVSM
//-----------------------------------------------------------------
//---IsRvsm--------------------------------------------------------
bool IsRvsm ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the aircraft if RVSM capable
// false - else
//-----------------------------------------------------------------
//---GetManufacturerType-------------------------------------------
const char * GetManufacturerType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The type description of the aircraft by the manufacturer.
//-----------------------------------------------------------------
//---GetAircraftFPType---------------------------------------------
const char * GetAircraftFPType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The unencoded AC type as written to the FP.
//-----------------------------------------------------------------
//---GetTrueAirspeed-----------------------------------------------
int GetTrueAirspeed ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The true airspeed filed.
//-----------------------------------------------------------------
//---SetTrueAirspeed-----------------------------------------------
bool SetTrueAirspeed ( int TrueAirspeed ) ;
//-----------------------------------------------------------------
// Parameters :
// => TrueAirspeed - the true airspeed value
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the true airspeed value.
//-----------------------------------------------------------------
//---GetOrigin-----------------------------------------------------
const char * GetOrigin ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The origin airport.
//-----------------------------------------------------------------
//---SetOrigin-----------------------------------------------------
bool SetOrigin ( const char * sOrigin ) ;
//-----------------------------------------------------------------
// Parameters :
// => sOrigin - the origina airport
//
// Return :
// true - if success
// false - else
//
// Description :
// It changes the origin airport.
//-----------------------------------------------------------------
//---GetFinalAltitude----------------------------------------------
int GetFinalAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The final requested altitude.
//-----------------------------------------------------------------
//---SetFinalAltitude----------------------------------------------
bool SetFinalAltitude ( int FinalAltitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => FinalAltitude - the final altitude
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the final altitude.
//-----------------------------------------------------------------
//---GetDestination------------------------------------------------
const char * GetDestination ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The destination airport.
//-----------------------------------------------------------------
//---SetDestination------------------------------------------------
bool SetDestination ( const char * sDestination ) ;
//-----------------------------------------------------------------
// Parameters :
// => sDestination - the destination airport
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the destination airport.
//-----------------------------------------------------------------
//---GetAlternate--------------------------------------------------
const char * GetAlternate ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The alternate airport.
//-----------------------------------------------------------------
//---SetAlternate--------------------------------------------------
bool SetAlternate ( const char * sAlternate ) ;
//-----------------------------------------------------------------
// Parameters :
// sAlternate - the alternate airport
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the alternate airport.
//-----------------------------------------------------------------
//---GetRemarks----------------------------------------------------
const char * GetRemarks ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The remarks field.
//-----------------------------------------------------------------
//---SetRemarks----------------------------------------------------
bool SetRemarks ( const char * sRemarks ) ;
//-----------------------------------------------------------------
// Parameters :
// => sRemarks - the remarks field
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the remarks fileds.
//-----------------------------------------------------------------
//---GetCommunicationType------------------------------------------
char GetCommunicationType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The communications type.
// Possible values are:
// ? - unknown
// V - voice
// R - receive voice only
// T - text only
//-----------------------------------------------------------------
//---GetRoute------------------------------------------------------
const char * GetRoute ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The route field.
//-----------------------------------------------------------------
//---SetRoute------------------------------------------------------
bool SetRoute ( const char * sRoute ) ;
//-----------------------------------------------------------------
// Parameters :
// => sRoute - the route field
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the route field.
//-----------------------------------------------------------------
//---GetSidName----------------------------------------------------
const char * GetSidName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The extracted or assigned SID name.
//-----------------------------------------------------------------
//---GetStarName---------------------------------------------------
const char * GetStarName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The extracted or assigned STAR name.
//-----------------------------------------------------------------
//---GetDepartureRwy-----------------------------------------------
const char * GetDepartureRwy ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The extracted or assigned departure RWY name.
//-----------------------------------------------------------------
//---GetArrivalRwy-------------------------------------------------
const char * GetArrivalRwy ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The extracted or assigned arrival RWY name.
//-----------------------------------------------------------------
//---GetEstimatedDepartureTime-------------------------------------
const char * GetEstimatedDepartureTime ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pilot sent estimated departure time (uncompiled original
// content as string value).
//-----------------------------------------------------------------
//---SetEstimatedDepartureTime-------------------------------------
bool SetEstimatedDepartureTime ( const char * sDepTime ) ;
//-----------------------------------------------------------------
// Parameters :
// => sDepTime - The estimated departure time (uncompiled
// original content as string value)
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the estimated departure time.
//-----------------------------------------------------------------
//---GetActualDepartureTime----------------------------------------
const char * GetActualDepartureTime ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pilot sent actual departure time (uncompiled original
// content as string value).
//-----------------------------------------------------------------
//---SetActualDepartureTime----------------------------------------
bool SetActualDepartureTime ( const char * sDepTime ) ;
//-----------------------------------------------------------------
// Parameters :
// => sDepTime - The actual departure time (uncompiled
// original content as string value)
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the actual departure time.
//-----------------------------------------------------------------
//---GetEnrouteHours-----------------------------------------------
const char * GetEnrouteHours ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pilot sent hours for enroute (uncompiled original
// content as string value).
//-----------------------------------------------------------------
//---SetEnrouteHours-----------------------------------------------
bool SetEnrouteHours ( const char * sEnrouteHours ) ;
//-----------------------------------------------------------------
// Parameters :
// => sEnrouteHours - The hours for enroute (uncompiled
// original content as string value)
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the enroute hours field.
//-----------------------------------------------------------------
//---GetEnrouteMinutes---------------------------------------------
const char * GetEnrouteMinutes ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pilot sent minutes for enroute (uncompiled original
// content as string value).
//-----------------------------------------------------------------
//---SetEnrouteMinutes---------------------------------------------
bool SetEnrouteMinutes ( const char * sEnrouteMinutes ) ;
//-----------------------------------------------------------------
// Parameters :
// => sEnrouteMinutes - The minutes for enroute (uncompiled
// original content as string value)
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the enroute minutes field.
//-----------------------------------------------------------------
//---GetFuelHours--------------------------------------------------
const char * GetFuelHours ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pilot sent hours available fuel (uncompiled original
// content as string value).
//-----------------------------------------------------------------
//---SetFuelHours--------------------------------------------------
bool SetFuelHours ( const char * sFuelHours ) ;
//-----------------------------------------------------------------
// Parameters :
// => sFuelHours - The hours of available fuel (uncompiled
// original content as string value)
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the available fuel hours field.
//-----------------------------------------------------------------
//---GetFuelMinutes------------------------------------------------
const char * GetFuelMinutes ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The pilot sent minutes available fuel (uncompiled original
// content as string value).
//-----------------------------------------------------------------
//---SetFuelMinutes------------------------------------------------
bool SetFuelMinutes ( const char * sFuelMinutes ) ;
//-----------------------------------------------------------------
// Parameters :
// => sFuelMinutes - The minutes of available fuel (uncompiled
// original content as string value)
//
// Return :
// true - if success
// false - else
//
// Description :
// It sets the available fuel minutes field.
//-----------------------------------------------------------------
//---PerformanceGetIas---------------------------------------------
int PerformanceGetIas ( int Altitude,
int VerticalSpeed ) ;
//-----------------------------------------------------------------
// Parameters :
// => Altitude - the actual altitude (or FL)
// => VerticalSpeed - VS indicator (-1 for descend,
// 0 for level,
// +1 for climb )
//
// Return :
// The IAS of the AC at the given level and vertical direction
//-----------------------------------------------------------------
//---PerformanceGetMach--------------------------------------------
int PerformanceGetMach ( int Altitude,
int VerticalSpeed ) ;
//-----------------------------------------------------------------
// Parameters :
// => Altitude - the actual altitude (or FL)
// => VerticalSpeed - VS indicator (-1 for descend,
// 0 for level,
// +1 for climb )
//
// Return :
// The Mach number (multiplied by 100) of the AC at the given
// level and vertical direction
//-----------------------------------------------------------------
//---PerformanceGetClimbRate---------------------------------------
int PerformanceGetClimbRate ( int Altitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => Altitude - the actual altitude (FL)
//
// Return :
// The climb rate.
//-----------------------------------------------------------------
//---PerformanceGetDescentRate-------------------------------------
int PerformanceGetDescentRate ( int Altitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => Altitude - the actual altitude (FL)
//
// Return :
// The descent rate.
//-----------------------------------------------------------------
};
class DllSpecEuroScope CFlightPlanControllerAssignedData
{
private:
ESINDEX m_FpPosition ; // the currently referenced AC position
friend class CFlightPlan ;
public:
//---CFlightPlanControllerAssignedData-----------------------------
inline CFlightPlanControllerAssignedData ( void )
{
m_FpPosition = NULL ;
} ;
//---GetSquawk-----------------------------------------------------
const char * GetSquawk ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The assigned squawk (may be empty).
//-----------------------------------------------------------------
//---SetSquawk-----------------------------------------------------
bool SetSquawk ( const char * sSquawk ) ;
//-----------------------------------------------------------------
// Parameters :
// => sSquawk - the newly assigned squawk
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetFinalAltitude----------------------------------------------
int GetFinalAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The controller ovveriden final altitude. No ALT/FL change here.
//-----------------------------------------------------------------
//---SetFinalAltitude----------------------------------------------
bool SetFinalAltitude ( int FinalAltitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => FinalAltitude - final altitude
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetClearedAltitude--------------------------------------------
int GetClearedAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The cleared altitude; no ALT/FL change here. There are
// spacial values:
// 0 - no cleared level (use the final instead of)
// 1 - cleared for ILS approach
// 2 - cleared for visual approach
//-----------------------------------------------------------------
//---SetClearedAltitude--------------------------------------------
bool SetClearedAltitude ( int ClearedAltitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => ClearedAltitude - the new cleared altitude (see the
// special values above)
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetCommunicationType------------------------------------------
char GetCommunicationType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The communications type.
// Possible values are:
// 0 - unassigned
// V - voice
// R - receive voice only
// T - text only
//-----------------------------------------------------------------
//---SetCommunicationType------------------------------------------
bool SetCommunicationType ( char CommunicationType ) ;
//-----------------------------------------------------------------
// Parameters :
// => CommunicationType - the new type (see the values above)
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetScratchPadString-------------------------------------------
const char * GetScratchPadString ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The scratch pad string value. Only the real valus, directs,
// assigned speed, heading etc are not stored here.
//-----------------------------------------------------------------
//---SetScratchPadString-------------------------------------------
bool SetScratchPadString ( const char * sString ) ;
//-----------------------------------------------------------------
// Parameters :
// => sString - the new scratch string value
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetAssignedSpeed----------------------------------------------
int GetAssignedSpeed ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The controller assigned speed. Value 0 indicates no assignment.
//-----------------------------------------------------------------
//---SetAssignedSpeed----------------------------------------------
bool SetAssignedSpeed ( int AssignedSpeed ) ;
//-----------------------------------------------------------------
// Parameters :
// => AssignedSpeed - the new assigned speed
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetAssignedMach-----------------------------------------------
int GetAssignedMach ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The controller assigned mach number multiplied by 100.
// 750 indicates 0.75 Mach. Value 0 indicates no assignment.
//-----------------------------------------------------------------
//---SetAssignedMach-----------------------------------------------
bool SetAssignedMach ( int AssignedMach ) ;
//-----------------------------------------------------------------
// Parameters :
// => AssignedMach - the assigned Mach number (multiplied
// by 100)
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetAssignedRate-----------------------------------------------
int GetAssignedRate ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The controller assigned climb/descend rate. There is no
// indication if climb or descend rate is assigned. Value 0
// indicates no assignment.
//-----------------------------------------------------------------
//---SetAssignedRate-----------------------------------------------
bool SetAssignedRate ( int AssignedRate ) ;
//-----------------------------------------------------------------
// Parameters :
// => AssignedRate - the assigned rate
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetAssignedHeading--------------------------------------------
int GetAssignedHeading ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The controller assigned heading. Value 0 indicates no assignment.
//-----------------------------------------------------------------
//---SetAssignedHeading--------------------------------------------
bool SetAssignedHeading ( int AssignedHeading ) ;
//-----------------------------------------------------------------
// Parameters :
// => AssignedHeading - assigned heading
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetDirectToPointName------------------------------------------
const char * GetDirectToPointName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The assigned direct to point name.
//-----------------------------------------------------------------
//---SetDirectToPointName------------------------------------------
bool SetDirectToPointName ( const char * sPointName ) ;
//-----------------------------------------------------------------
// Parameters :
// => sPointName - the name of the point
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
//---GetFlightStripAnnotation--------------------------------------
const char * GetFlightStripAnnotation ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the annotation (0-8).
//
// Return :
// The selected fligt strip annotation.
//-----------------------------------------------------------------
//---SetFlightStripAnnotation--------------------------------------
bool SetFlightStripAnnotation ( int Index,
const char * sAnnotation ) ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the annotation (0-8).
// => sAnnotation - the text itself
//
// Return :
// true - if success
// false - else
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CFlightPlan
{
private:
ESINDEX m_FpPosition ; // the currently referenced AC position
friend class CPlugInData ;
friend class CPlugIn ;
friend class CFlightPlanList ;
friend class CRadarTarget ;
public:
//---CFlightPlan---------------------------------------------------
inline CFlightPlan ( void )
{
m_FpPosition = NULL ;
} ;
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_FpPosition != NULL ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the AC reference is valid
// false - else
//
// Description :
// It tests if the AC reference is valid.
//-----------------------------------------------------------------
//---GetCallsign---------------------------------------------------
const char * GetCallsign ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The callsign of the AC.
//-----------------------------------------------------------------
//---GetPilotName--------------------------------------------------
const char * GetPilotName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The name of the pilot extracted from statistics data.
// Empty string if no selected AC or no statistics data
//-----------------------------------------------------------------
//---GetState------------------------------------------------------
int GetState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the AC (see FLIGHT_PLAN_STATE_ ...).
// 0 if no selected AC
//-----------------------------------------------------------------
//---GetFPState----------------------------------------------------
int GetFPState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the AC (FLIGHT_PLAN_STATE_NOT_STARTED,
// FLIGHT_PLAN_STATE_SIMULATED,
// FLIGHT_PLAN_STATE_TERMINATED)
// 0 if no selected AC
//-----------------------------------------------------------------
//---GetSimulated--------------------------------------------------
bool GetSimulated ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the AC is out of range and ES simulates its movements
// false - else
//-----------------------------------------------------------------
//---GetTrackingControllerCallsign---------------------------------
const char * GetTrackingControllerCallsign ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The callsign of the controller currently tracking.
// Empty if noone is tracking it
//-----------------------------------------------------------------
//---GetTrackingControllerId---------------------------------------
const char * GetTrackingControllerId ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The position ID of the controller currently tracking.
// Empty if noone is tracking it
//-----------------------------------------------------------------
//---GetTrackingControllerIsMe-------------------------------------
bool GetTrackingControllerIsMe ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the plane is tracked by me
// false - else
//-----------------------------------------------------------------
//---GetHandoffTargetControllerCallsign----------------------------
const char * GetHandoffTargetControllerCallsign ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The callsign of the controller who is the target of the
// actual handoff.
// Empty if no actual handoff.
//-----------------------------------------------------------------
//---GetHandoffTargetControllerId----------------------------------
const char * GetHandoffTargetControllerId ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The position ID of the controller who is the target of the
// actual handoff.
// Empty if no actual handoff.
//-----------------------------------------------------------------
//---GetDistanceToDestination--------------------------------------
double GetDistanceToDestination ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The full calculated distance to the destination airport.
//-----------------------------------------------------------------
//---GetDistanceFromOrigin-----------------------------------------
double GetDistanceFromOrigin ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The full calculated distance from the origin airport.
//-----------------------------------------------------------------
//---GetNextCopxPointName------------------------------------------
const char * GetNextCopxPointName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The next active COPX point name along the extracted route.
// May be empty.
//-----------------------------------------------------------------
//---GetNextFirCopxPointName---------------------------------------
const char * GetNextFirCopxPointName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The next active FIR COPX point name along the extracted route.
// May be empty.
//-----------------------------------------------------------------
//---GetSectorEntryMinutes-----------------------------------------
int GetSectorEntryMinutes ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The time in minutes this plane will enter to my sectors.
// If already inside then 0 will be returned.
// If it will never enter then -1 will be returned.
//-----------------------------------------------------------------
//---GetSectorExitMinutes------------------------------------------
int GetSectorExitMinutes ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The time in minutes this plane will leave to my sectors.
// If the plane will never enter to my sectors it will ne -1.
//-----------------------------------------------------------------
//---GetRAMFlag----------------------------------------------------
bool GetRAMFlag ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The RAM flag when RAM warning is to be displayed.
//-----------------------------------------------------------------
//---GetCLAMFlag---------------------------------------------------
bool GetCLAMFlag ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The CLAM flag when CLAM warning is to be displayed.
//-----------------------------------------------------------------
//---GetGroundState------------------------------------------------
const char * GetGroundState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The ground state of the AC (ST-UP, PUSH, TAXI, DEPA or empty).
//-----------------------------------------------------------------
//---GetClearenceFlag----------------------------------------------
bool GetClearenceFlag ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state if the clearence is received or not.
//-----------------------------------------------------------------
//---IsTextCommunication-------------------------------------------
bool IsTextCommunication ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the pilot or a controller indicated
// text communication.
//-----------------------------------------------------------------
//---GetFinalAltitude----------------------------------------------
int GetFinalAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The final altitude from the FP or from controller override.
// There is no ALT/FL change here.
//-----------------------------------------------------------------
//---GetClearedAltitude--------------------------------------------
int GetClearedAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The cleared altitude. If missing then the final one.
// There is no ALT/FL change here.
//-----------------------------------------------------------------
//---GetEntryCoordinationPointState--------------------------------
int GetEntryCoordinationPointState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the entry point coordination. One of the
// COORDINATION_STATE_...
//-----------------------------------------------------------------
//---GetEntryCoordinationPointName---------------------------------
const char * GetEntryCoordinationPointName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The cordination point name for entry point.
//-----------------------------------------------------------------
//---GetEntryCoordinationAltitudeState-----------------------------
int GetEntryCoordinationAltitudeState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the entry point altitude coordination. One of the
// COORDINATION_STATE_...
//-----------------------------------------------------------------
//---GetEntryCoordinationAltitude----------------------------------
int GetEntryCoordinationAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The cordination point altitude for entry point.
//-----------------------------------------------------------------
//---GetExitCoordinationNameState----------------------------------
int GetExitCoordinationNameState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the exit point name coordination. One of the
// COORDINATION_STATE_...
//-----------------------------------------------------------------
//---GetExitCoordinationPointName----------------------------------
const char * GetExitCoordinationPointName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The cordination point name for exit point.
//-----------------------------------------------------------------
//---GetExitCoordinationAltitudeState------------------------------
int GetExitCoordinationAltitudeState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the exit point altitude coordination. One of the
// COORDINATION_STATE_...
//-----------------------------------------------------------------
//---GetExitCoordinationAltitude-----------------------------------
int GetExitCoordinationAltitude ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The cordination point altitude for entry point.
//-----------------------------------------------------------------
//---GetCoordinatedNextController----------------------------------
const char * GetCoordinatedNextController ( void ) const ;
//-----------------------------------------------------------------
// Return :
// - the callsign of the next controller if there is a
// coordinated one
// - empty else
//-----------------------------------------------------------------
//---GetCoordinatedNextControllerState-----------------------------
int GetCoordinatedNextControllerState ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The state of the next controller coordination. One of the
// COORDINATION_STATE_...
//-----------------------------------------------------------------
//---GetCorrelatedRadarTarget--------------------------------------
CRadarTarget GetCorrelatedRadarTarget ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The correlated radar target. If no correlated target then
// the returned element is invalid.
//-----------------------------------------------------------------
//---CorrelateWithRadarTarget--------------------------------------
bool CorrelateWithRadarTarget ( CRadarTarget RadarTarget ) ;
//-----------------------------------------------------------------
// Parameters :
// => RadarTarget - the radar target to get correlated wit
//
// Retrun :
// true - if success
// false - if failed
//
// Description :
// Call this function to correlate an flight plan with a radar
// target. Afetr calling it you DO NOT need to call the
// CorrelateWithFlightPlan on the radar target.
//-----------------------------------------------------------------
//---Uncorrelate---------------------------------------------------
void Uncorrelate ( void ) ;
//-----------------------------------------------------------------
// Description :
// It uncorrelates the flight plan from its current target.
// After uncorrelate you DO NOT need to call the Uncorrelate
// on the radar target position. After uncorrelating the FP
// will not be correlated automatically by the system
//-----------------------------------------------------------------
//---StartTracking-------------------------------------------------
bool StartTracking ( void ) ;
//-----------------------------------------------------------------
// Return :
// true - if success
// false - else
//
// Description :
// It starts tracking the AC if it was untracked before.
//-----------------------------------------------------------------
//---EndTracking---------------------------------------------------
bool EndTracking ( void ) ;
//-----------------------------------------------------------------
// Return :
// true - if success
// false - else
//
// Description :
// It releases (drops) the target.
//-----------------------------------------------------------------
//---InitiateHandoff-----------------------------------------------
bool InitiateHandoff ( const char * sTargetController ) ;
//-----------------------------------------------------------------
// Parameters :
// => sTargetController - the controller to initiate the
// handoff to
//
// Return :
// true - if success
// false - else
//
// Description :
// It initiates a handoff to the specified target controller.
//-----------------------------------------------------------------
//---AcceptHandoff-------------------------------------------------
void AcceptHandoff ( void ) ;
//-----------------------------------------------------------------
// Description :
// It accepts a handoff initiated to me.
//-----------------------------------------------------------------
//---RefuseHandoff-------------------------------------------------
void RefuseHandoff ( void ) ;
//-----------------------------------------------------------------
// Description :
// It refuses a handoff initiated to me.
//-----------------------------------------------------------------
//---InitiateCoordination------------------------------------------
bool InitiateCoordination ( const char * sTargetController,
const char * sPointName,
int Altitude ) ;
//-----------------------------------------------------------------
// Parameters :
// => sTargetController - the controller to initiate the
// handoff to
// => sPointName - the requested point name (it
// can not be empty)
// => Altitude - the requested altitude (pass 0
// if only the point is requested)
//
// Return :
// true - if success
// false - else
//
// Description :
// It initiates a COPN/COPX request.
//-----------------------------------------------------------------
//---AcceptCoordination--------------------------------------------
void AcceptCoordination ( void ) ;
//-----------------------------------------------------------------
// Description :
// It accepts a coordination initiated to me.
//-----------------------------------------------------------------
//---RefuseCoordination--------------------------------------------
void RefuseCoordination ( void ) ;
//-----------------------------------------------------------------
// Description :
// It refuses a handoff initiated to me.
//-----------------------------------------------------------------
//---PushFlightStrip-----------------------------------------------
void PushFlightStrip ( const char * sTargetController ) ;
//-----------------------------------------------------------------
// Parameters :
// => sTargetController - the controller to send the flight
// strip to
//-----------------------------------------------------------------
//---SetEstimation-------------------------------------------------
void SetEstimation ( const char * sPointName,
const char * sTime ) ;
//-----------------------------------------------------------------
// Parameters :
// => sPointName - the name along the route
// => sTime - the estimated arrival time in HHMM format
// in zulu time.
//-----------------------------------------------------------------
//---ClearEstimation-----------------------------------------------
void ClearEstimation ( void ) ;
void ClearEstimation ( const char * sPointName ) ;
//-----------------------------------------------------------------
// Parameters :
// => sPointName - the name along the route
//
// Description :
// It clears the estimated arrival time from the given point.
// The first release clears all estimations.
//-----------------------------------------------------------------
//---GetExtractedRoute---------------------------------------------
CFlightPlanExtractedRoute GetExtractedRoute ( void ) const ;
//-----------------------------------------------------------------
// Return :
// An extracted route object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//-----------------------------------------------------------------
//---GetPositionPredictions----------------------------------------
CFlightPlanPositionPredictions GetPositionPredictions ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A position prediction array object instance.
// The position prediction array contains the position used
// by ES to determinate where the AC will be at a given time.
// Every element in the array contains data for the position
// flown by the next minute. Therefore the size of the array is
// always the remaining flight time in minutes.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//-----------------------------------------------------------------
//---GetFPTrackPosition--------------------------------------------
CRadarTargetPositionData GetFPTrackPosition ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A flight plan track position. This position data points to the
// FP track position and can not be used for subsequent
// GetPreviousPosition calls.
// The FP position is the same as the last radar target position
// if the FP is correlated. Otherwise the system calculated position.
//-----------------------------------------------------------------
//---GetFlightPlanData---------------------------------------------
CFlightPlanData GetFlightPlanData ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A flight plan data object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//-----------------------------------------------------------------
//---GetControllerAssignedData-------------------------------------
CFlightPlanControllerAssignedData GetControllerAssignedData ( void ) const ;
//-----------------------------------------------------------------
// Return :
// An instance that holds controller assigned data.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CRadarTarget
{
private:
ESINDEX m_RtPosition ; // the currently referenced AC position
friend class CPlugInData ;
friend class CPlugIn ;
friend class CFlightPlan ;
public:
//---CRadarTarget--------------------------------------------------
inline CRadarTarget ( void )
{
m_RtPosition = NULL ;
} ;
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_RtPosition != NULL ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the AC reference is valid
// false - else
//
// Description :
// It tests if the AC reference is valid.
//-----------------------------------------------------------------
//---GetCallsign---------------------------------------------------
const char * GetCallsign ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The callsign of the AC.
//-----------------------------------------------------------------
//---GetSystemID---------------------------------------------------
const char * GetSystemID ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The system assigned ID to the radar target. It is surely the
// same on all instances - as the code itself is generated from
// the callsign.
//-----------------------------------------------------------------
//---GetVerticalSpeed----------------------------------------------
int GetVerticalSpeed ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The calculated vertical speed of the selected AC in feet/minute.
// Be careful, it might be extremely inaccurate due the
// protocol. Use only for climb/descend/level test
// 0 - else
//-----------------------------------------------------------------
//---GetTrackHeading-----------------------------------------------
double GetTrackHeading ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The calculated track direction in degree
//-----------------------------------------------------------------
//---GetGS---------------------------------------------------------
int GetGS ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The ground speed. First it uses the plane reported GS. If
// that is 0 then uses the calculated one.
//-----------------------------------------------------------------
//---GetCorrelatedFlightPlan---------------------------------------
CFlightPlan GetCorrelatedFlightPlan ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The currently correlated flight plan. If the radar target
// is uncorrelated then the returned flight plan is invalid.
//-----------------------------------------------------------------
//---CorrelateWithFlightPlan---------------------------------------
bool CorrelateWithFlightPlan ( CFlightPlan FlightPlan ) ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan to be correlated with
//
// Retrun :
// true - if success
// false - if failed
//
// Description :
// Call this function to correlate an radar target with a
// flight plan. After this function you DO NOT need to call the
// CorrelateWithradarTarget on the flight plan.
//-----------------------------------------------------------------
//---Uncorrelate---------------------------------------------------
void Uncorrelate ( void ) ;
//-----------------------------------------------------------------
// Description :
// It uncorrelates the radar target from the flight plan.
// After it you DO NOT need to call the Uncorrelate on the
// flight plan. After uncorrelating the system will never
// correlate it automatically.
//-----------------------------------------------------------------
//---GetPosition---------------------------------------------------
CRadarTargetPositionData GetPosition ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A plane position array instance. After calling this function
// the returned variable points to the last position of the radar target.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//-----------------------------------------------------------------
//---GetPreviousPosition-------------------------------------------
CRadarTargetPositionData GetPreviousPosition ( const CRadarTargetPositionData CurrentPosition ) const ;
//-----------------------------------------------------------------
// Parameters :
// => CurrentPosition - the current position object
//
// Return :
// A plane position object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CController
{
private:
ESINDEX m_CtrPosition ; // the currently referenced AC position
bool m_Myself ; // indicates myself is selected
friend class CPlugInData ;
friend class CPlugIn ;
public:
//---CController---------------------------------------------------
inline CController ( void )
{
m_CtrPosition = NULL ;
m_Myself = false ;
} ;
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_CtrPosition != NULL || m_Myself ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the CTR reference is valid
// false - else
//
// Description :
// It tests if the CTR reference is valid.
//-----------------------------------------------------------------
//---GetCallsign---------------------------------------------------
const char * GetCallsign ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The callsign of the controller.
//-----------------------------------------------------------------
//---GetPositionId-------------------------------------------------
const char * GetPositionId ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The position ID of the selected controller.
//-----------------------------------------------------------------
//---GetPositionIdentified-----------------------------------------
bool GetPositionIdentified ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the controller is identified in the position file
// false - else
//-----------------------------------------------------------------
//---GetPrimaryFrequency-------------------------------------------
double GetPrimaryFrequency ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the primary frequency of the controller
// 199.980 if no primary frequency is selected
//-----------------------------------------------------------------
//---GetFullName---------------------------------------------------
const char * GetFullName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The position ID of the selected controller.
//-----------------------------------------------------------------
//---GetRating-----------------------------------------------------
int GetRating ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the rating of the controller:
// 1 - observer, OBS
// 2 - old STU or student 1, now Tower (TWR)
// 3 - old student 2 - never used
// 4 - old STU+ or student 3, now Approach (APP)
// 5 - old CTR or controller 1, now Centre (CTR)
// 6 - old controller 2 - never used
// 7 - old CTR+ or controller 3, now Senior Controller (CTR+)
// 8 - instructor 1, INS
// 9 - instructor 2 - never used
// 10 - instructor 3, INS+
// 11 - supervisor, SUP
// 12 - administrator, ADM
//-----------------------------------------------------------------
//---GetFacility---------------------------------------------------
int GetFacility ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the facility of the controller:
// 1 - FSS - flight service station
// 2 - DEL - delivery
// 3 - GND - ground
// 4 - TWR - tower
// 5 - APP, DEP - approach, departure
// 6 - CTR - controller
//-----------------------------------------------------------------
//---GetSectorFileName---------------------------------------------
const char * GetSectorFileName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The name of the sectorfile used by the controller.
//-----------------------------------------------------------------
//---IsController--------------------------------------------------
bool IsController ( void ) const ;
//-----------------------------------------------------------------
// Return :
// true - if the controller is accepted as controller by the
// servers (it has right to track AC, change FP, etc).
// false - else
//-----------------------------------------------------------------
//---GetPosition---------------------------------------------------
CPosition GetPosition ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The center position of the controller. It returns only the
// main center but never the additional visibility points.
//-----------------------------------------------------------------
//---GetRange------------------------------------------------------
int GetRange ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The visibility range of the controller.
//-----------------------------------------------------------------
//---IsBreaking----------------------------------------------------
bool IsBreaking ( void ) const ;
//-----------------------------------------------------------------
// Return :
// The breaking state of the controller.
//-----------------------------------------------------------------
//---IsOngoingAble-------------------------------------------------
bool IsOngoingAble ( void ) const ;
//-----------------------------------------------------------------
// Return :
// Indicates if ready for ongoing coordination (indicates
// EuroScope on the other side).
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CRadarScreen
{
private:
CRadarView * m_pRadarView ; // pointer to the structure behind
CPlugIn * m_pPlugIn ;
// pointer back to the plugin for easy access
friend CPlugInData ;
public:
//---CRadarScreen--------------------------------------------------
CRadarScreen ( void ) ;
//-----------------------------------------------------------------
// Description :
// The default constructor.
//-----------------------------------------------------------------
//---GetPlugIn-----------------------------------------------------
inline CPlugIn * GetPlugIn ( void )
{
return m_pPlugIn ;
} ;
//---GetRadarView--------------------------------------------------
inline CRadarView * GetRadarView ( void )
{
return m_pRadarView ;
} ;
//---GetToolbarArea------------------------------------------------
RECT GetToolbarArea ( void ) ;
//-----------------------------------------------------------------
// Return :
// The rectangle that is cobered by the toolbar in pixels.
// This are is not used for radar display.
//-----------------------------------------------------------------
//---GetRadarArea--------------------------------------------------
RECT GetRadarArea ( void ) ;
//-----------------------------------------------------------------
// Return :
// The rectangle that is covered by the radar screen.
//-----------------------------------------------------------------
//---GetChatArea---------------------------------------------------
RECT GetChatArea ( void ) ;
//-----------------------------------------------------------------
// Return :
// The rectangle that is covered by the chat lines.
//-----------------------------------------------------------------
//---ConvertCoordFromPixelToPosition-------------------------------
CPosition ConvertCoordFromPixelToPosition ( POINT Pt ) ;
//-----------------------------------------------------------------
// Parameters :
// => Pt - a pixel coordinates
//
// Return :
// The value converted to Lat, Lon position.
//-----------------------------------------------------------------
//---ConvertCoordFromPositionToPixel-------------------------------
POINT ConvertCoordFromPositionToPixel ( CPosition Pos ) ;
//-----------------------------------------------------------------
// Parameters :
// => Pos - a lat, lon position
//
// Return :
// The value converted to pixels.
//-----------------------------------------------------------------
//---SaveDataToAsr-------------------------------------------------
void SaveDataToAsr ( const char * sVariableName,
const char * sVariableDescription,
const char * sValue ) ;
//-----------------------------------------------------------------
// Parameters :
// => sVariableName - the name under your value will be saved
// => sVariableDescription- a user readable name of the variable;
// this value will be shown in the
// save modified settings dialog; if
// empty (never pass NULL), then it
// will not be shown
// => sValue - the value itself to be stored; it
// may contain only printable chars and
// never LF or CR or ':'.
//
// Description :
// It saves the value for the plug in the ASR file.
//-----------------------------------------------------------------
//---GetDataFromAsr------------------------------------------------
const char * GetDataFromAsr ( const char * sVariableName ) ;
//-----------------------------------------------------------------
// Parameters :
// => sVariableName - the name under your value was saved
//
// Return :
// the value found in the ASR or
// NULL if not found
//
// Description :
// It loads the value for the plug from the ASR file.
//-----------------------------------------------------------------
//---AddScreenObject-----------------------------------------------
void AddScreenObject ( int ObjectType,
const char * sObjectId,
RECT Area,
bool Moveable,
const char * sMessage ) ;
//-----------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the object (depends on the plugin)
// => sObjectId - the object identifier (most commin is to set
// the callisgn or similar)
// => Area - the area covered by the screen object
// => Moveable - indicates if the user can move it
// => sMessage - a message to be diplayed in the message
// area of the main screen when the obejct
// is clicked
//
// Description :
// This is a really short living object. Define all clickable
// areas on the radar screen when drawing your graphics
// elements. Call this function from the OnRefresh function
// only. The object list is cleared before the next refresh.
//-----------------------------------------------------------------
//---RequestRefresh------------------------------------------------
void RequestRefresh ( void ) ;
//-----------------------------------------------------------------
// Description :
// Call this function when you need an update on the screen.
// It just posts a request and the screen will be painted
// only once when the thread finished all other tasks. Do
// call when the content is changed and it is absolutely
// necessary to refresj the screen before the standard 1 sec
// refresh.
//-----------------------------------------------------------------
//---ShowSectorFileElement-----------------------------------------
void ShowSectorFileElement ( CSectorElement Element,
const char * sComponentName,
bool Show ) ;
//-----------------------------------------------------------------
// Parameters :
// => Element - the element to be shown/hidden
// => sComponentName - the displayable component name (call
// the GetComponentName to retreive
// the available component names)
// => Show - true to show, false to hide
//
// Description :
// This function shows or hides individual sector file elements
// on the screen. This function just saves the flag, but does
// not refresh the background map as it takes long time. When
// you finished all switching call the RefreshMapContent to
// really refresh the elements.
//-----------------------------------------------------------------
//---RefreshMapContent---------------------------------------------
void RefreshMapContent ( void ) ;
//-----------------------------------------------------------------
// Description :
// This function refreshes the background map content of the view.
// Call this function after setting all the necessary elements
// on and off.
//-----------------------------------------------------------------
//---StartTagFunction----------------------------------------------
void StartTagFunction ( const char * sCallsign,
const char * sItemPlugInName,
int ItemCode,
const char * sItemString,
const char * sFunctionPlugInName,
int FunctionId,
POINT Pt,
RECT Area ) ;
//------------------------------------------------------------------
// Parameters :
// => sCallsign - the AC which TAG is clicked
// => sItemPlugInName - the item provider plug-in (for base
// EuroScope TAG functions pass NULL)
// => ItemCode - the item code
// => sItemString - the string of the selected item (as
// these are TAG item functions they may
// require the actual item string)
// => sFunctionPlugInName - the function provider plugin (for base
// EuroScope TAG functions pass NULL)
// => FunctionId - the ID of the function
// => Pt - the mouse position
// => Area - the area covered by the TAG item
//
// Description :
// Call this function to execute the inner logic of EuroScope
// after clicking on a TAG item. Be sure to ASEL the appropriate
// AC before initiating the TAG function as most of them
// operates on the ASEL one.
//-----------------------------------------------------------------
//---GetDisplayArea------------------------------------------------
void GetDisplayArea ( CPosition * pLeftDown,
CPosition * pRightUp ) ;
//-----------------------------------------------------------------
// Parameters :
// <= pLeftDown - the left down corner of the screen
// <= pRightUp - the right up corner of the screen
//
// Description :
// It returns the position of the left-down and right-up corners.
//-----------------------------------------------------------------
//---SetDisplayArea------------------------------------------------
void SetDisplayArea ( CPosition LeftDown,
CPosition RightUp ) ;
//-----------------------------------------------------------------
// Parameters :
// => LeftDown - the desired left down corner of the screen
// => RightUp - the desired right up corner of the screen
//
// Description :
// It update the display area of the screen to fully cover
// the defined rectangle. The are might bi bigger if the
// aspect ratio of the screen is different.
//-----------------------------------------------------------------
//---OnAsrContentLoaded--------------------------------------------
inline virtual void OnAsrContentLoaded ( bool Loaded )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => Loaded - indicates if the content was really loaded
// from a file (true) or the ASR file is ready
// just after NEW command.
//
// Description :
// This function is called after the initialization of the
// ASR file is complete. It may be after loading it from the
// file or just after executing a NEW command.
//------------------------------------------------------------------
//---OnAsrContentToBeSaved------------------------------------------
virtual void OnAsrContentToBeSaved ( void )
{
} ;
//------------------------------------------------------------------
// Description :
// This function is called just before the content change dialog.
// is saved. It is the latest time you can register any change
// to the ASR file to be prompted to save or not.
//------------------------------------------------------------------
//---OnRefresh------------------------------------------------------
inline virtual void OnRefresh ( HDC hDC,
int Phase )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => hDC - handle to the device context
// => Phase - the refresh phase
//
// Description :
// This function is called several times during the refresh. The
// Phase indicates the actual state:
// REFRESH_PHASE_BACK_BITMAP - used to draw the content of
// background bitmap, it is updated
// only on zooming/panning
// REFRESH_PHASE_BEFORE_TAGS - before TAGs are displayed
// REFRESH_PHASE_AFTER_TAGS - after TAGs, before lists
// REFRESH_PHASE_AFTER_LISTS - after all (before chat,
// toolbar and popup menus).
// The hDC points to an internal bitmap. Therefore your drawings
// will not be displayed immediately. Only when all drawings are
// ready the bitmap is copied to the screen.
// Normally this function is called once a second. Be fast and
// efficient to draw all your drawings in a resonable short time.
// When something is dragged on the screen this function will be
// called far more often.
// In the current version there is no way to refresh only part
// of the radar screen. It is painted as whole all the times.
// Therefore a fast drawing is really necessary.
//------------------------------------------------------------------
//---OnAsrContentToBeClosed------------------------------------------
virtual void OnAsrContentToBeClosed ( void ) = NULL ;
//------------------------------------------------------------------
// Description :
// This function is called just before close of the ASR file.
// Actually you can not save data here, but you may clean up
// things.
// IMPORTANT: You MUST free the instance as the last action
// of this callback. Call: delete this.
//------------------------------------------------------------------
//---OnControllerPositionUpdate------------------------------------
inline virtual void OnControllerPositionUpdate ( CController Controller )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Controller - the controller reference whose position
// is updated
//
// Description :
// All plugins must implement this function to handle the
// events when a controller position is updated.
//-----------------------------------------------------------------
//---OnControllerDisconnect----------------------------------------
inline virtual void OnControllerDisconnect ( CController Controller )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Controller - the controller reference
//
// Description :
// All plugins must implement this function to handle the
// events when a controller is logged off or its position
// update is timed out.
//-----------------------------------------------------------------
//---OnRadarTargetPositionUpdate--------------------------------------
inline virtual void OnRadarTargetPositionUpdate ( CRadarTarget RadarTarget )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => RadarTarget - the radara reference whose position
// is updated
//
// Description :
// All plugins must implement this function to handle the
// events when a radar target position is updated.
//-----------------------------------------------------------------
//---OnFlightPlanDisconnect----------------------------------------
inline virtual void OnFlightPlanDisconnect ( CFlightPlan FlightPlan )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference
//
// Description :
// All plugins must implement this function to handle the
// events when a flight plan is logged off or its position
// update is timed out.
//-----------------------------------------------------------------
//---OnFlightPlanFlightPlanDataUpdate------------------------------
inline virtual void OnFlightPlanFlightPlanDataUpdate ( CFlightPlan FlightPlan )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference whose flight plan
// data is updated
//
// Description :
// All plugins must implement this function to handle the
// events when a flight plan flight plan data is updated.
//-----------------------------------------------------------------
//---OnFlightPlanControllerAssignedDataUpdate----------------------
inline virtual void OnFlightPlanControllerAssignedDataUpdate ( CFlightPlan FlightPlan,
int DataType )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference whose controller
// assigned data is updated
// => DataType - the type of the data updated (CTR_DATA_TYPE ...)
//
// Description :
// All plugins must implement this function to handle the
// events when a flight plan controller assigned data is updated.
//-----------------------------------------------------------------
//---OnFlightPlanFlightStripPushed---------------------------------
inline virtual void OnFlightPlanFlightStripPushed ( CFlightPlan FlightPlan,
const char * sSenderController,
const char * sTargetController )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference whose flight
// stirp is pushed from one controller
// to another
// => sSenderController - the one who sent the strip
// => sTargetController - the one who received the strip
//
// Description :
// This function is called when a strip is pushed to you or
// by you. One of SenderController or TargetController is always
// you.
//------------------------------------------------------------------
//---OnCompileCommand-----------------------------------------------
inline virtual bool OnCompileCommand ( const char * sCommandLine )
{
return false ;
} ;
//------------------------------------------------------------------
// Parameters :
// => sCommandLine - the full command line
//
// Return :
// true - if the command is compiled
// false - else
//
// Description :
// When a command is not interpreted by EuroScope it calls the
// plugins. Firt this functions are called from the radar
// screen handlers. If all refuses then the plug-in level
// functions are called too. If one function return true, no
// more functions are called.
//------------------------------------------------------------------
//---OnOverScreenObject---------------------------------------------
inline virtual void OnOverScreenObject ( int ObjectType,
const char * sObjectId,
POINT Pt,
RECT Area )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the screen object
// => sObjectId - the ID of the screen object
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object
//
// Description :
// This function is called whenever the mouse is over a view
// object that was registered by the plugin.
//------------------------------------------------------------------
//---OnButtonDownScreenObject---------------------------------------
inline virtual void OnButtonDownScreenObject ( int ObjectType,
const char * sObjectId,
POINT Pt,
RECT Area,
int Button )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the screen object
// => sObjectId - the ID of the screen object
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object
// => Button - BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT
//
// Description :
// This function is called whenever the mouse button is pressed
// an object that was registered by the plugin.
//------------------------------------------------------------------
//---OnButtonUpScreenObject-----------------------------------------
inline virtual void OnButtonUpScreenObject ( int ObjectType,
const char * sObjectId,
POINT Pt,
RECT Area,
int Button )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the screen object
// => sObjectId - the ID of the screen object
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object
// => Button - BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT
//
// Description :
// This function is called whenever the mouse button is released
// an object that was registered by the plugin.
//------------------------------------------------------------------
//---OnClickScreenObject--------------------------------------------
inline virtual void OnClickScreenObject ( int ObjectType,
const char * sObjectId,
POINT Pt,
RECT Area,
int Button )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the screen object
// => sObjectId - the ID of the screen object
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object
// => Button - BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT
//
// Description :
// This function is called whenever the user clicks on an object
// that was registered by the plugin.
//------------------------------------------------------------------
//---OnDoubleClickScreenObject--------------------------------------
inline virtual void OnDoubleClickScreenObject ( int ObjectType,
const char * sObjectId,
POINT Pt,
RECT Area,
int Button )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the screen object
// => sObjectId - the ID of the screen object
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object
// => Button - BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT
//
// Description :
// This function is called whenever the user doubleclicks on an
// object that was registered by the plugin.
//------------------------------------------------------------------
//---OnMoveScreenObject---------------------------------------------
inline virtual void OnMoveScreenObject ( int ObjectType,
const char * sObjectId,
POINT Pt,
RECT Area,
bool Released )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => ObjectType - the type of the screen object
// => sObjectId - the ID of the screen object
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object
// => Released - indicates that this is the last call of the
// move as the user has just released the
// object
//
// Description :
// This function is called whenever the user moves the view object.
// While it is being dragged this function is called several times
// with Released == false. At the end when the object is released
// the Released == true, and no more call for the object.
//------------------------------------------------------------------
//---OnFunctionCall-------------------------------------------------
inline virtual void OnFunctionCall ( int FunctionId,
const char * sItemString,
POINT Pt,
RECT Area )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => FunctionId - the ID of the function that is selected
// => sItemString - the string of the item initiated the
// function call (on popup edit calls it
// holds the updated string)
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object that initiated the function
//
// Description :
// This function is called when a function is initiated. The
// function itself can be a TAG item function and the user
// clicked on a TAG or on an AC list. This function is also
// clalled after popup edit and menu items.
//------------------------------------------------------------------
} ;
class DllSpecEuroScope CFlightPlanList
{
private:
ESINDEX m_Position ;// the currently referenced AC list position
friend class CPlugInData ;
friend class CPlugIn ;
public:
//---CFlightPlanList-----------------------------------------------
inline CFlightPlanList ( void )
{
m_Position = NULL ;
} ;
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_Position != NULL ;
} ;
//---GetColumnNumber-----------------------------------------------
int GetColumnNumber ( void ) ;
//-----------------------------------------------------------------
// Return :
// The number of the columns defined so far. It is a good idea
// to test with this function if the AC list is filled from
// the settings before adding new columns.
//-----------------------------------------------------------------
//---DeleteAllColumns----------------------------------------------
void DeleteAllColumns ( void ) ;
//-----------------------------------------------------------------
// Description :
// It deletes all previous column definitions.
//-----------------------------------------------------------------
//---AddColumnDefinition-------------------------------------------
void AddColumnDefinition ( const char * sColumnTitle,
int Width,
bool Centered,
const char * sItemProvifer,
int ItemCode,
const char * sLeftButtonFunctionProvifer,
int LeftButtonFunction,
const char * sRightButtonFunctionProvifer,
int RightButtonFunction ) ;
//-----------------------------------------------------------------
// Parameters :
// => sColumnTitle - the title string of the column
// => Width - width of the column (in chars)
// => Centered - indicates centered alignment
// => sItemProvifer - TAG item provider for the column; pass
// NULL or "" for ES built in items
// => ItemCode - the TAG item codes )see above the
// built in codes)
// => sLeftButtonFunctionProvifer
// - the provider of the left button function
// (pass NULL, not yet implemented)
// => LeftButtonFunction - the left button function (see above
// the built in functions)
// => sRightButtonFunctionProvifer,
// - the provider of the right button function
// (pass NULL, not yet implemented)
// => RightButtonFunction - the right button function (see above
// the built in functions)
//
// Description :
// It adds one column definition to the AC list. Call this
// function after registering the AC list immediately. All
// column definitions later will be ignored. Also if there are
// data about the content of the list in the settings file then
// all calls are ignored.
//-----------------------------------------------------------------
//---AddFpToTheList------------------------------------------------
void AddFpToTheList ( CFlightPlan FlightPlan ) ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the FP to be added to the list
//
// Description :
// It adds a new FP to the FP list.
//-----------------------------------------------------------------
//---RemoveFpFromTheList-------------------------------------------
void RemoveFpFromTheList ( CFlightPlan FlightPlan ) ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the FP to be removed from the list
//
// Description :
// It removes a FP to the FP list.
//-----------------------------------------------------------------
//---ShowFpList----------------------------------------------------
void ShowFpList ( bool Show ) ;
//-----------------------------------------------------------------
// Parameters :
// => Show - show/hide
//
// Description :
// It shows or hides the FP list.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CSectorElement
{
private:
int m_Position ;// the currently referenced element position
int m_ElementType ; // the type of the element
friend class CPlugInData ;
friend class CPlugIn ;
friend class CRadarScreen ;
public:
//---CSectorElement------------------------------------------------
inline CSectorElement ( void )
{
m_Position = -1 ;
m_ElementType = 0 ;
} ;
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_Position != -1 ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the CTR reference is valid
// false - else
//
// Description :
// It tests if the CTR reference is valid.
//-----------------------------------------------------------------
//---GetElementType------------------------------------------------
inline int GetElementType ( void ) const
{
return m_ElementType ;
} ;
//---GetName-------------------------------------------------------
const char * GetName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the name of the element
//-----------------------------------------------------------------
//---GetPosition---------------------------------------------------
bool GetPosition ( CPosition * pPosition,
int Index ) ;
//-----------------------------------------------------------------
// Parameters :
// <= pPosition - the position of the element
// => Index - the index of the required position (star
// from zero always)
//
// Return :
// true - if the Index if valid within the element and the
// position is optained
// false - esle
//
// Remarks :
// Not all element have coordinates. This function may return
// false for Index zero.
//-----------------------------------------------------------------
//---GetComponentName----------------------------------------------
const char * GetComponentName ( int Index ) ;
//-----------------------------------------------------------------
// Parameters :
// => Index - the index of the required component (star
// from zero always)
//
// Return :
// the name of the component or
// empty string if the index is invalid
//
// Description :
// It returns the name of the individual components that can be
// switched on or off in the drawings.
//-----------------------------------------------------------------
//---GetFrequency--------------------------------------------------
double GetFrequency ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the frequency of the VOR, NDB, AIRPORT elements
// 0.0 for all the rest
//-----------------------------------------------------------------
//---GetRunwayName-------------------------------------------------
const char * GetRunwayName ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - 0 or 1
//
// Return :
// the name of the runway
// empty string if the index is invalid
//
// Description :
// It returns the name of the runway. Index 0 and 1 is valid
// for runway elements while sid/star elements always return
// its runway.
//-----------------------------------------------------------------
//---GetRunwayHeading----------------------------------------------
int GetRunwayHeading ( int Index ) const ;
//-----------------------------------------------------------------
// Parameters :
// => Index - 0 or 1
//
// Return :
// the heading of the runway
// -1 if the index is invalid
//
// Description :
// It returns the heding name of the runway.
//-----------------------------------------------------------------
//---GetAirportName------------------------------------------------
const char * GetAirportName ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the name of the airport this element belongs to
// empty string if the type is invalid
//
// Description :
// It returns the name of the runway for runway and sid/star
// elements.
//-----------------------------------------------------------------
//--IsElementActive------------------------------------------------
bool IsElementActive ( bool Departure,
int Index = 0 ) ;
//-----------------------------------------------------------------
// Parameters :
// => Departure - indicates if the elements shoudl be tested
// if active for arrival (false) or
// departure (true)
// => Index - 0 or 1
//
// Return :
// true - if the element is active
// false - else
//
// Description :
// It returns if the element (that can be airport or runway) is
// active for arrival or departure. The Index is used for
// runways only.
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CGrountToAirChannel
{
private:
int m_Index ; // the currently referenced element index
friend class CPlugIn ;
friend class CPlugInData ;
public:
inline CGrountToAirChannel ( void )
{
m_Index = -1 ;
}
//---IsValid-------------------------------------------------------
inline bool IsValid ( void ) const
{
return m_Index != -1 ;
} ;
//-----------------------------------------------------------------
// Return :
// true - if the CTR reference is valid
// false - else
//
// Description :
// It tests if the CTR reference is valid.
//-----------------------------------------------------------------
//---GetName-------------------------------------------------------
const char * GetName ( void ) ;
//-----------------------------------------------------------------
// Return :
// The name of the communication channel.
//-----------------------------------------------------------------
//---GetFrequency--------------------------------------------------
double GetFrequency ( void ) ;
//-----------------------------------------------------------------
// Return :
// The frequency of the communication channel.
//-----------------------------------------------------------------
//---GetVoiceServer------------------------------------------------
const char * GetVoiceServer ( void ) ;
//-----------------------------------------------------------------
// Return :
// The voice server name of the communication channel.
//-----------------------------------------------------------------
//---GetVoiceChannel-----------------------------------------------
const char * GetVoiceChannel ( void ) ;
//-----------------------------------------------------------------
// Return :
// The voice server channel name of the communication channel.
//-----------------------------------------------------------------
//---GetIsPrimary--------------------------------------------------
bool GetIsPrimary ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is the primary channel.
//-----------------------------------------------------------------
//---GetIsAtis-----------------------------------------------------
bool GetIsAtis ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is the ATIS channel.
//-----------------------------------------------------------------
//---GetIsTextReceiveOn--------------------------------------------
bool GetIsTextReceiveOn ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is receiving text messages.
//-----------------------------------------------------------------
//---GetIsTextTransmitOn-------------------------------------------
bool GetIsTextTransmitOn ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is transmitting text messages.
//-----------------------------------------------------------------
//---GetIsVoiceReceiveOn-------------------------------------------
bool GetIsVoiceReceiveOn ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is receiving voice. This
// flag is set when the check box is set. It alone does not
// mean the server connection is on.
//-----------------------------------------------------------------
//---GetIsVoiceTransmitOn------------------------------------------
bool GetIsVoiceTransmitOn ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is transmitting voice.
//-----------------------------------------------------------------
//---GetIsVoiceConnected-------------------------------------------
bool GetIsVoiceConnected ( void ) ;
//-----------------------------------------------------------------
// Return :
// A flag indicating if the channel is successfully connected
// to the voice server.
//-----------------------------------------------------------------
//---TogglePrimary-------------------------------------------------
void TogglePrimary ( void ) ;
//-----------------------------------------------------------------
// Description :
// It changes the primary setting of the channel (like clicking
// on the check box).
//-----------------------------------------------------------------
//---ToggleAtis----------------------------------------------------
void ToggleAtis ( void ) ;
//-----------------------------------------------------------------
// Description :
// It changes the ATIS setting of the channel (like clicking
// on the check box).
//-----------------------------------------------------------------
//---ToggleTextReceive---------------------------------------------
void ToggleTextReceive ( void ) ;
//-----------------------------------------------------------------
// Description :
// It changes the text receive setting of the channel (like clicking
// on the check box).
//-----------------------------------------------------------------
//---ToggleTextTransmit--------------------------------------------
void ToggleTextTransmit ( void ) ;
//-----------------------------------------------------------------
// Description :
// It changes the text transmit setting of the channel (like clicking
// on the check box).
//-----------------------------------------------------------------
//---ToggleVoiceReceive--------------------------------------------
void ToggleVoiceReceive ( void ) ;
//-----------------------------------------------------------------
// Description :
// It changes the voice receive setting of the channel (like clicking
// on the check box).
//-----------------------------------------------------------------
//---ToggleVoiceTransmit-------------------------------------------
void ToggleVoiceTransmit ( void ) ;
//-----------------------------------------------------------------
// Description :
// It changes the voice transmit setting of the channel (like clicking
// on the check box).
//-----------------------------------------------------------------
} ;
class DllSpecEuroScope CPlugIn
{
private:
CPlugInData * m_pPluginData ;
// pointer to the internal data structure
public:
//---CPlugIn-------------------------------------------------------
CPlugIn ( int CompatibilityCode,
const char * sPlugInName,
const char * sVersionNumber,
const char * sAuthorName,
const char * sCopyrigthMessage ) ;
//-----------------------------------------------------------------
// Parameters :
// => CompatibilityCode - for compatiblity check
// => sPlugInName - the user readable name of the plugin
// => sVersionNumber - actual version number
// => sAuthorName - the name of the author
// => sCopyrightMessage - the name of the author
//
// Description :
// The default constructor.
//-----------------------------------------------------------------
//---~CPlugIn------------------------------------------------------
virtual ~CPlugIn ( void ) ;
//-----------------------------------------------------------------
// Description :
// The descriptoz. Keep it virtual.
//-----------------------------------------------------------------
//---OnControllerPositionUpdate------------------------------------
inline virtual void OnControllerPositionUpdate ( CController Controller )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Controller - the controller reference whose position
// is updated
//
// Description :
// All plugins must implement this function to handle the
// events when a controller position is updated.
//-----------------------------------------------------------------
//---OnControllerDisconnect----------------------------------------
inline virtual void OnControllerDisconnect ( CController Controller )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Controller - the controller reference
//
// Description :
// All plugins must implement this function to handle the
// events when a controller is logged off or its position
// update is timed out.
//-----------------------------------------------------------------
//---OnRadarTergetPositionUpdate--------------------------------------
inline virtual void OnRadarTargetPositionUpdate ( CRadarTarget RadarTarget )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => radarTarget - the radar target reference whose position
// is updated
//
// Description :
// All plugins must implement this function to handle the
// events when a radara target position is updated.
//-----------------------------------------------------------------
//---OnFlightPlanDisconnect----------------------------------------
inline virtual void OnFlightPlanDisconnect ( CFlightPlan FlightPlan )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference
//
// Description :
// All plugins must implement this function to handle the
// events when a fight plan is logged off or its position
// update is timed out.
//-----------------------------------------------------------------
//---OnFlightPlanFlightPlanDataUpdate------------------------------
inline virtual void OnFlightPlanFlightPlanDataUpdate ( CFlightPlan FlightPlan )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference whose flight plan
// data is updated
//
// Description :
// All plugins must implement this function to handle the
// events when a flight plan flight plan data is updated.
//-----------------------------------------------------------------
//---OnPlaneInformationUpdate--------------------------------------
inline virtual void OnPlaneInformationUpdate ( const char * sCallsign,
const char * sLivery,
const char * sPlaneType )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => sCallsign - the callsign of the plane
// => sLivery - the livery set in the pilot client
// => sPlaneType - the manufacturer and type set in the pilot client
//
// Description :
// This function is called when a SqwakBox plane information
// update message is received.
//-----------------------------------------------------------------
//---OnFlightPlanControllerAssignedDataUpdate----------------------
inline virtual void OnFlightPlanControllerAssignedDataUpdate ( CFlightPlan FlightPlan,
int DataType )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the flight plan reference whose controller
// assigned data is updated
// => DataType - the type of the data updated (CTR_DATA_TYPE ...)
//
// Description :
// All plugins must implement this function to handle the
// events when a plane controller assigned data is updated.
//-----------------------------------------------------------------
//---OnFlightPlanFlightStripPushed---------------------------------
inline virtual void OnFlightPlanFlightStripPushed ( CFlightPlan FlightPlan,
const char * sSenderController,
const char * sTargetController )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => FlightPlan - the FP reference whose flight
// stirp is pushed from one controller
// to another
// => sSenderController - the one who sent the strip
// => sTargetController - the one who received the strip
//
// Description :
// This function is called when a strip is pushed to you or
// by you. One of SenderController or TargetController is always
// you.
//------------------------------------------------------------------
//---OnRadarScreenCreated------------------------------------------
inline virtual CRadarScreen * OnRadarScreenCreated ( const char * sDisplayName,
bool NeedRadarContent,
bool GeoReferenced,
bool CanBeSaved,
bool CanBeCreated )
{
return NULL ;
} ;
//-----------------------------------------------------------------
// Parameters :
// => sDisplayName - the name of the display that is just
// created; if the name is
// "Standard ES radar screen"
// it is a standard ES radar screen
// => NeedRadarContent,
// => GeoReferenced,
// => CanBeSaved,
// => CanBeCreated - other radar screen attributes
// see them at RegisterDisplayType
//
// Return :
// an instance to your own radar scren class member or
// NULL if this type is not handled by your plug-in
//
// Description :
// When a new radar display is opened your plug-in is called
// to create an screen object instance. You may create your own
// radar handling class that is derived from CRadarScreen.
// Allocate a new instance and return the pointer to handle
// all the events from there.
//-----------------------------------------------------------------
//---OnCompileCommand-----------------------------------------------
inline virtual bool OnCompileCommand ( const char * sCommandLine )
{
return false ;
} ;
//------------------------------------------------------------------
// Parameters :
// => sCommandLine - the full command line
//
// Return :
// true - if the command is compiled
// false - else
//
// Description :
// When a command is not interpreted by EuroScope it calls the
// plugins. Firt the radar screens are called. If all refuses
// then the plug-in level functions are called too. If one
// function return true, no more functions are called.
//------------------------------------------------------------------
//---OnCompileFrequencyChat-----------------------------------------
inline virtual void OnCompileFrequencyChat ( const char * sSenderCallsign,
double Frequency,
const char * sChatMessage )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => sSenderCallsign - the sender
// => Frequency - the frequency where you received the
// message
// => sChatMessage - the full message string
//
// Description :
// When a frequency message is received you have the possibility
// to process, display its content. This function may be called
// for several times with the same message if it is sent to
// several frequencies.
//------------------------------------------------------------------
//---OnCompilePrivateChat-------------------------------------------
inline virtual void OnCompilePrivateChat ( const char * sSenderCallsign,
const char * sReceiverCallsign,
const char * sChatMessage )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => sSenderCallsign - the sender
// => sReceiverCallsign - the receivers callsign
// server - for messages from the SERVER
// ATC - ATC messages
// Broadcast- broadcast messages
// SUP - supervisor requests
// => sChatMessage - the full message string
//
// Description :
// When a private message is received you have the possibility
// to process, display its content.
//------------------------------------------------------------------
//---OnGetTagItem---------------------------------------------------
inline virtual void OnGetTagItem ( CFlightPlan FlightPlan,
CRadarTarget RadarTarget,
int ItemCode,
int TagData,
char sItemString [ 16 ],
int * pColorCode,
COLORREF * pRGB,
double * pFontSize )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => FlightPlan - the FP reference whose TAG item is
// to be created - it may be invalid
// => RadarTraget - the RT reference whose TAG item is
// to be created - it may be invalid
// => ItemCode - the code of the item
// => TagData - the data available for the TAG; values are
// - TAG_DATA_UNCORRELATED_RADAR
// - TAG_DATA_FLIGHT_PLAN_TRACK
// - TAG_DATA_CORRELATED
// <= sItemString - the generated string; it is strictly limited
// to 15 chars (plust terminator \0)
// <= pColorCode - the color code of the item; return one of
// the TAG_COLOR_ ... value
// TAG_COLOR_DEFAULT - indicates the default for AC state
// TAG_COLOR_RGB_DEFINED - do not use and
// predefined color, but the return value
// in pRGB
// <= pRGB - the requested color of the TAG item; it is
// used only in case if pColorCode is
// TAG_COLOR_RGB_DEFINED
// <=> pFontSize - the requested size of the font
//
// Description :
// All plugins must implement this function to handle the
// events when a plane position is updated.
//-----------------------------------------------------------------
//---OnRefreshFpListContent----------------------------------------
inline virtual void OnRefreshFpListContent ( CFlightPlanList AcList )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => AcList - the AC list to be refreshed
//
// Description :
// This function is called once in a second just after all plane
// data is refreshed in ES memory. You may add/remove planes
// to/from the list, or clear the content and add the planes
// again.
//-----------------------------------------------------------------
//---OnNewMetarReceived--------------------------------------------
inline virtual void OnNewMetarReceived ( const char * sStation,
const char * sFullMetar )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => sStation - the airport
// => sFullMetar - the original comlete metar string
//
// Description :
// This function is called whenever a new metar data is received
// from the server.
//-----------------------------------------------------------------
//---OnFunctionCall-------------------------------------------------
inline virtual void OnFunctionCall ( int FunctionId,
const char * sItemString,
POINT Pt,
RECT Area )
{
} ;
//------------------------------------------------------------------
// Parameters :
// => FunctionId - the ID of the function that is selected
// => sItemString - the string of the item initiated the
// function call (on popup edit calls it
// holds the updated string)
// => Pt - the mouse position
// => Area - the area originally registered for the
// screen object that initiated the function
//
// Description :
// This function is called when a function is initiated. The
// function itself can be a TAG item function and the user
// clicked on a TAG or on an AC list. This function is also
// clalled after popup edit and menu items.
//------------------------------------------------------------------
//---OnAirportRunwayActivityChanged---------------------------------
inline virtual void OnAirportRunwayActivityChanged ( void )
{
} ;
//-----------------------------------------------------------------
// Description :
// This function is called whenever the user closes the
// runway activity dialog with OK.
//-----------------------------------------------------------------
//---OnAirportRunwayActivityChanged---------------------------------
inline virtual void OnTimer ( int Counter )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Counter - It counts the secods from the application start
//
// Description :
// This function is called once in a second. Timer is a limited
// resource and you can use the one that refreshes the sceens
// once in a second.
//-----------------------------------------------------------------
//---GetPlugInName-------------------------------------------------
const char * GetPlugInName ( void ) ;
//-----------------------------------------------------------------
// Return :
// the plugin name.
//-----------------------------------------------------------------
//---RegisterDisplayType-------------------------------------------
void RegisterDisplayType ( const char * sDisplayName,
bool NeedRadarContent,
bool GeoReferenced,
bool CanBeSaved,
bool CanBeCreated ) ;
//-----------------------------------------------------------------
// Parameters :
// => sDisplayType - the name of the display type
// => NeedRadarContent- indicates that the default radar content
// should be displayed in this type
// => GeoReferenced - indicates that lat/lon coordnates
// can be used in the type, and therefore
// zooming in/out a panning is allowed
// => CanBeSaved - indicates that ASR file content can
// be saved on exit
// => CanBeCreated - indicates that it should be listed in
// new ASR types
//
// Description :
// Call this function to register your own display type within
// EuroScope. You need this only in case you would like to
// create a complete new outllok of the view. In your own type
// you are free to display anything to the screen.
//-----------------------------------------------------------------
//---RegisterTagItemType-------------------------------------------
void RegisterTagItemType ( const char * sDisplayName,
int Code ) ;
//-----------------------------------------------------------------
// Parameters :
// => sDisplayName - the user readable name of the TAG item
// => Code - the item code (must be bigger than 0)
//
// Description :
// It registers a new TAG item type.
//-----------------------------------------------------------------
//---RegisterTagItemFunction---------------------------------------
void RegisterTagItemFunction ( const char * sDisplayName,
int Code ) ;
//-----------------------------------------------------------------
// Parameters :
// => sDisplayName - the user readable name of the TAG item
// => Code - the item code (must be bigger than 0)
//
// Description :
// It registers a new TAG item function.
//-----------------------------------------------------------------
//---RegisterFpList------------------------------------------------
CFlightPlanList RegisterFpList ( const char * sListName ) ;
//-----------------------------------------------------------------
// Parameters :
// => sListName - the name of the list box
//
// Return :
// The new AC list instance. The returned instance may be saved
// into your memory area and can be used in further processing.
//
// Description :
// It registers a new AC list.
//-----------------------------------------------------------------
//---RegisterToolbarItem-------------------------------------------
void RegisterToolbarItem ( int ItemId,
const char * sItemName ) ;
//-----------------------------------------------------------------
// Parameters :
// => ItemId - the ID of the toolbar item
// => sItemName - the name of the toolbar item
//
// Decsription :
// It registers a toolbar item for the plugin. To display it
// implement the OnToolbarItem... functions.
//-----------------------------------------------------------------
//---RefreshToolbar------------------------------------------------
void RefreshToolbar ( bool ResizeToo ) ;
//-----------------------------------------------------------------
// Parameters :
// => ResizeToo - indicates that the plugin would liek to
// change the size of the toolbar item
//
// Description :
// Call this function to indicate that the toolbar content is
// invalid.
//-----------------------------------------------------------------
//---SaveDataToSettings--------------------------------------------
void SaveDataToSettings ( const char * sVariableName,
const char * sVariableDescription,
const char * sValue ) ;
//-----------------------------------------------------------------
// Parameters :
// => sVariableName - the name under your value will be saved
// => sVariableDescription- a user readable name of the variable;
// this value will be shown in the
// save modified settings dialog; if
// empty (never pass NULL), then it
// will not be shown
// => sValue - the value itself to be stored; it
// may contain only printable chars and
// never LF or CR or ':'.
//
// Description :
// It saves the value for the plug in the settings file.
//-----------------------------------------------------------------
//---GetDataFromSettings-------------------------------------------
const char * GetDataFromSettings ( const char * sVariableName ) ;
//-----------------------------------------------------------------
// Parameters :
// => sVariableName - the name under your value was saved
//
// Return :
// the value found in the ASR or
// NULL if not found
//
// Description :
// It loads the value for the plug in from the settings file.
//-----------------------------------------------------------------
//---OpenPopupEdit-------------------------------------------------
void OpenPopupEdit ( RECT Area,
int FunctionId,
const char * sInitialValue ) ;
//-----------------------------------------------------------------
// Parameters :
// => Area - the rectangle where the edit box
// appears (it is a good idea to pass the
// rectangle coming from the OnFunctionCall)
// => FunctionId - the ID of the editing mode; this value
// will be passed to the OnFunctionCall
// => sInitialValue - the initial content of the edit box
//
// Description :
// It opens up a popup edit box in the Area rectangle with the
// sInitialContent. After editing it by the user the
// OnFunctionCall is called with the ID and with the new
// string value.
//-----------------------------------------------------------------
//---OpenPopupList-------------------------------------------------
void OpenPopupList ( RECT Area,
const char * sTitle,
int ColumnNumber ) ;
//-----------------------------------------------------------------
// Parameters :
// => Area - the requested position of the center
// (selected element) in the list
// => sTitle - the popup list title
// => ColumnNumber- the number of the columns in the list
// (currently it is limited to 1 and 2)
//
// Description :
// It starts opening a popup list. You must call the
// AddPopupListElement to fill the list with content. Without
// that it will not be displayed. The popup list is a global
// resource of EuroScope and there is only one list available.
//-----------------------------------------------------------------
//---AddPopupListElement-------------------------------------------
void AddPopupListElement ( const char * sString1,
const char * sString2,
int FunctionId,
bool Selected = false,
int Checked = POPUP_ELEMENT_NO_CHECKBOX,
bool Disabled = false,
bool Fixed = false ) ;
//-----------------------------------------------------------------
// Parameters :
// => sString1,
// sString2 - the strings to be displayed in the first
// and in the second column (in case of two
// columns); sString1 will be passed as
// string parameter to OnFunctionCall if the
// item is selected
// => FunctionId - the function ID to be passed to
// OnFunctionCall if the element is selected
// => Selected - indicates if the element is the actual
// value (pass true only once in a definition)
// => Checked - indicates if the item needs a check box in
// from or not; and if it has check box then
// checked or unchecked
// => Disabled - indicates if the element can not be selected
// => Fixed - fixed elements are the last ones; they
// appear in the bottom and are not scrolled
// with the rest; never add more than 3-4 fixed
// items
//
// Description :
// It adds a new popup element to the popup list.
//-----------------------------------------------------------------
//---GetConnectionType---------------------------------------------
int GetConnectionType ( void ) const ;
//-----------------------------------------------------------------
// Return :
// the actual connection type - on of CONNECTION_TYPE_...
//-----------------------------------------------------------------
//---SelectActiveSectorfile----------------------------------------
void SelectActiveSectorfile ( void ) ;
//-----------------------------------------------------------------
// Description :
// It selects the active sectorfile as the source for the
// subsequent SectorElementFirst and SectorElementNext calls.
//-----------------------------------------------------------------
//---SelectScreenSectorfile----------------------------------------
void SelectScreenSectorfile ( CRadarScreen * pRadarScreen ) ;
//-----------------------------------------------------------------
// Parameters :
// => pRadarScreen - the screen reference
//
// Description :
// It selects the active sectorfile as the source for the
// subsequent SectorElementFirst and SectorElementNext calls.
//-----------------------------------------------------------------
//---SetASELAircraft-----------------------------------------------
void SetASELAircraft ( const CFlightPlan FlightPlan ) ;
void SetASELAircraft ( const CRadarTarget RadarTarget ) ;
//-----------------------------------------------------------------
// Parameter :
// => FlightPlan - the FP to be selected as ASEL
// => RadarTarget - the RT to be selected as ASEL
//
// Description :
// It sets the given FP/RT as ASEL.
//-----------------------------------------------------------------
//---FlightPlanSelect----------------------------------------------
CFlightPlan FlightPlanSelect ( const char * sCallsign ) const ;
//-----------------------------------------------------------------
// Parameters :
// => sCallsign - the callsign of the FP to be selected
//
// Return :
// A flight plan object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the FP with the given callsign.
//-----------------------------------------------------------------
//---RadarTargetSelect---------------------------------------------
CRadarTarget RadarTargetSelect ( const char * sCallsign ) const ;
//-----------------------------------------------------------------
// Parameters :
// => sCallsign - the callsign of the RT to be selected
// you can also enter system ID as callsign
//
// Return :
// A radar target object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the RT with the given callsign/system ID.
//-----------------------------------------------------------------
//---FlightPlanSelectFirst-----------------------------------------
CFlightPlan FlightPlanSelectFirst ( void ) const ;
//-----------------------------------------------------------------
// Return :
// An flight plan object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the first FP in the list.
//-----------------------------------------------------------------
//---RadarTargetSelectFirst----------------------------------------
CRadarTarget RadarTargetSelectFirst ( void ) const ;
//-----------------------------------------------------------------
// Return :
// An radar target object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the first RT in the list.
//-----------------------------------------------------------------
//---FlightPlanSelectNext------------------------------------------
CFlightPlan FlightPlanSelectNext ( CFlightPlan CurrentFlightPlan ) const ;
//-----------------------------------------------------------------
// Parameters :
// => CurrentFlightPlan - the actually selected FP element
//
// Return :
// A flight plan object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the next FP in the list.
//-----------------------------------------------------------------
//---RadarTargetSelectNext-----------------------------------------
CRadarTarget RadarTargetSelectNext ( CRadarTarget CurrentRadartarget ) const ;
//-----------------------------------------------------------------
// Parameters :
// => CurrentRadartarget - the actually selected RT element
//
// Return :
// A radar target object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the next RT in the list.
//-----------------------------------------------------------------
//---FlightPlanSelectASEL------------------------------------------
CFlightPlan FlightPlanSelectASEL ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A flight plan object instance. May be invalid.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the currently ASEL flight plan.
//-----------------------------------------------------------------
//---RadarTargetSelectASEL-----------------------------------------
CRadarTarget RadarTargetSelectASEL ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A radar target object instance. May be invalid.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the currently ASEL radar target.
//-----------------------------------------------------------------
//---ControllerSelect----------------------------------------------
CController ControllerSelect ( const char * sCallsign ) const ;
//-----------------------------------------------------------------
// Parameters :
// => sCallsign - the callsign of the controller to be selected
//
// Return :
// A controller object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the controller with the given callsign.
//-----------------------------------------------------------------
//---ControllerSelectByPositionId----------------------------------
CController ControllerSelectByPositionId ( const char * sPositionId ) const ;
//-----------------------------------------------------------------
// Parameters :
// => sPositionId - the position ID of the controller to be selected
//
// Return :
// A controller object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the controller with the given position ID.
//-----------------------------------------------------------------
//---ControllerMyself----------------------------------------------
CController ControllerMyself ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A controller object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the controller that was logged in in this session.
//-----------------------------------------------------------------
//---ControllerSelectFirst-----------------------------------------
CController ControllerSelectFirst ( void ) const ;
//-----------------------------------------------------------------
// Return :
// A controller object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the first controller in the list.
//-----------------------------------------------------------------
//---ControllerSelectNext------------------------------------------
CController ControllerSelectNext ( CController CurrentController ) const ;
//-----------------------------------------------------------------
// Parameters :
// => CurrentController - the actually selected controller element
//
// Return :
// A controller object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the next controller in the list.
//-----------------------------------------------------------------
//---SectorFileElementSelectFirst----------------------------------
CSectorElement SectorFileElementSelectFirst ( int ElementType ) const ;
//-----------------------------------------------------------------
// Parameters :
// => ElementType - the type of the elements to be searched
// for; pass SECTOR_ELEMENT_ALL to search
// for all element type
//
// Return :
// A sector file element object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the first element (of the given type) from the
// previously selected sectorfile.
//-----------------------------------------------------------------
//---SectorFileElementSelectNext-----------------------------------
CSectorElement SectorFileElementSelectNext ( CSectorElement CurrentElement,
int ElementType ) const ;
//-----------------------------------------------------------------
// Parameters :
// => CurrentElement - the actually selected sectorfile element
// => ElementType - the type of the elements to be searched
// for; pass SECTOR_ELEMENT_ALL to search
// for all element type
//
// Return :
// A sectrofile element object instance.
//
// Remark:
// This instance is only valid inside the block you are querying.
// Do not save it to a static place or into a member variables.
// Subsequent use of an invalid extracted route reference may
// cause ES to crash.
//
// Description :
// It selects the next element (of the given type) from the
// previously selected sectorfile.
//-----------------------------------------------------------------
//---DisplayUserMessage--------------------------------------------
void DisplayUserMessage ( const char * sHandlerName,
const char * sSenderName,
const char * sMessage,
bool ShowHandler,
bool ShowUnread,
bool ShowUnreadEvenIfBusy,
bool StartFlashing,
bool NeedConfirmation ) ;
//-----------------------------------------------------------------
// Parameters :
// => sHandlerName - the message handler name; this name
// above the chat area (the callsign in
// case of private chat, ATC, Broadcast,
// etc.); use your plug-in name here
// => sSenderName - the name of the sender; if empty the
// message will be displayed if the user
// were sending it
// => sMessage - the message itself
// => ShowHandler - should the handler be displayed (if hidden)
// => ShowUnread - should the handler be colored with
// unread message color if not selected
// => ShowUnreadEvenIfBusy - as above even if busy flag is set
// => StartFlashing - should the handler be flashing
// => NeedConfirmation- does this message need a confirmation
//
// Description :
// This function writes a message to the user to the standard
// chat area.
//-----------------------------------------------------------------
//---GroundToArChannelSelectFirst----------------------------------
CGrountToAirChannel GroundToArChannelSelectFirst ( void ) ;
//-----------------------------------------------------------------
// Return :
// The first channel defined in the Voice Communication Setup
// (not necessarily the first in the dialog). The return value
// is temporary. Do not save it for further use.
//-----------------------------------------------------------------
//---GroundToArChannelSelectNext-----------------------------------
CGrountToAirChannel GroundToArChannelSelectNext ( CGrountToAirChannel CurrentChannel ) ;
//-----------------------------------------------------------------
// Parameters :
// => CurrentChannel - the current channel
//
// Return :
// The next channel defined in the Voice Communication Setup
// (not necessarily the next in the dialog). The return value
// is temporary. Do not save it for further use.
//-----------------------------------------------------------------
//---AddAlias------------------------------------------------------
void AddAlias ( const char * sAliasName,
const char * sAliasValue ) ;
//-----------------------------------------------------------------
// Parameters :
// => sAliasName - the alias name (must begin with .)
// => sAliasValue - the value to be used
//
// Description :
// It adds a new alias to the alias interpreter.
//-----------------------------------------------------------------
//---OnVoiceTransmitStarted----------------------------------------
inline virtual void OnVoiceTransmitStarted ( bool OnPrimary )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => OnPrimary - indicates if the transmit started on the
// primary voice channel
//
// Description :
// This function is called on a voice transmit start.
// Warning: This function is called from a seperated thread,
// write a thread-safe handler.
//-----------------------------------------------------------------
//---OnVoiceTransmitEnded------------------------------------------
inline virtual void OnVoiceTransmitEnded ( bool OnPrimary )
{
} ;
//-----------------------------------------------------------------
// => OnPrimary - indicates if the transmit ended on the
// primary voice channel
//
// Description :
// This function is called on a voice transmit end.
// Warning: This function is called from a seperated thread,
// write a thread-safe handler.
//-----------------------------------------------------------------
//---OnVoiceReceiveStarted-----------------------------------------
inline virtual void OnVoiceReceiveStarted ( CGrountToAirChannel Channel )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Channel - the channel that receives some voice
//
// Description :
// This function is called on a voice receive start.
//-----------------------------------------------------------------
//---OnVoiceReceiveEnded-------------------------------------------
inline virtual void OnVoiceReceiveEnded ( CGrountToAirChannel Channel )
{
} ;
//-----------------------------------------------------------------
// Parameters :
// => Channel - the channel that received some voice
//
// Description :
// This function is called on a voice receive start.
//-----------------------------------------------------------------
//---GetTransitionAltitude-----------------------------------------
int GetTransitionAltitude ( void ) ;
//-----------------------------------------------------------------
// Return :
// The transition altitude of the system.
//-----------------------------------------------------------------
} ;
} // end of EuroScopePlugIn namespace
//---EuroScopePlugInInit-----------------------------------------------
void __declspec ( dllexport ) EuroScopePlugInInit ( EuroScopePlugIn :: CPlugIn ** ppPlugInInstance ) ;
//---------------------------------------------------------------------
// Parameters :
// <= ppPlugInInstance- a pointer to the plug-in instance
//
// Description :
// Every plugin have to implement this function. When EuroScope
// loads the DLL, it searches for this function and calls it. Do
// all initialization code (including the plugin class instance
// creation) in this function. Only one plug-in instance is
// supported by in one DLL
// Before returning you MUST call the SetPlugInName function.
// If this call is missing or any parameter is empty your DLL will
// be unloaded immediately.
//---------------------------------------------------------------------
//---EuroScopePlugInExit-----------------------------------------------
void __declspec ( dllexport ) EuroScopePlugInExit ( void ) ;
//---------------------------------------------------------------------
// Description :
// Every plugin have to implement this function. When EuroScope
// unloads the DLL (for user request or due exiting) it will call
// this function. Be sure to clean up all members, especialy
// delete all plugin class instances.
//---------------------------------------------------------------------