#ifndef _FG_ATCMGR_HXX
#define _FG_ATCMGR_HXX
-#include <Main/fgfs.hxx>
+#include <simgear/structure/subsystem_mgr.hxx>
+
#include <Main/fg_props.hxx>
#include <GUI/gui.h>
// Flags to ensure the stations don't get wrongly deactivated
bool set_by_AI; // true when the AI manager has activated this station
unsigned int numAI; // Ref count of the number of AI planes registered
- bool set_by_comm_search; // true when the comm_search has activated this station
- // Do we need to distingiush comm1 and comm2?
+ bool set_by_comm[2][ATC_NUM_TYPES]; // true when the relevant comm_freq has activated this station and type
};
-class FGATCMgr : public FGSubsystem
+class FGATCMgr : public SGSubsystem
{
private:
+ bool initDone; // Hack - guard against update getting called before init
+
// A map of airport ID vs frequencies and ATC provision
typedef map < string, AirportATC* > airport_atc_map_type;
typedef airport_atc_map_type::iterator airport_atc_map_iterator;
bool AIRegisterAirport(string ident);
// Register the fact that the comm radio is tuned to an airport
- bool CommRegisterAirport(string ident); // Later we'll differentiate between comm 1 and comm2
+ bool CommRegisterAirport(string ident, int chan, atc_type tp);
private: