class FGATCController
{
private:
- bool initialized;
+
protected:
+ bool initialized;
bool available;
time_t lastTransmission;
MSG_HOLD_POSITION,
MSG_ACKNOWLEDGE_HOLD_POSITION,
MSG_RESUME_TAXI,
- MSG_ACKNOWLEDGE_RESUME_TAXI } AtcMsgId;
+ MSG_ACKNOWLEDGE_RESUME_TAXI,
+ MSG_REPORT_RUNWAY_HOLD_SHORT,
+ MSG_ACKNOWLEDGE_REPORT_RUNWAY_HOLD_SHORT,
+ MSG_SWITCH_TOWER_FREQUENCY,
+ MSG_ACKNOWLEDGE_SWITCH_TOWER_FREQUENCY
+ } AtcMsgId;
+
typedef enum {
ATC_AIR_TO_GROUND,
ATC_GROUND_TO_AIR } AtcMsgDir;
double getDt() { return dt_count; };
void setDt(double dt) { dt_count = dt;};
- void transmit(FGTrafficRecord *rec, AtcMsgId msgId, AtcMsgDir msgDir, bool audible);
+ void transmit(FGTrafficRecord *rec, FGAirportDynamics *parent, AtcMsgId msgId, AtcMsgDir msgDir, bool audible);
string getGateName(FGAIAircraft *aircraft);
virtual void render(bool) = 0;
virtual string getName() = 0;
-
+ int calculate_attenuation(FGTrafficRecord * rec, FGAirportDynamics *parent, int ground_to_air);
private: