]> git.mxchange.org Git - flightgear.git/blobdiff - src/ATC/ATCmgr.hxx
AI plane should go around instead of landing on user if user dawdles on runway now
[flightgear.git] / src / ATC / ATCmgr.hxx
index be9032128daa1271c6e766357ad0c10cef499857..d8546add39d4f4b49e732af441dc5a0eb93a4a5d 100644 (file)
@@ -22,7 +22,8 @@
 #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>
 
@@ -69,15 +70,16 @@ struct AirportATC {
     // 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;
@@ -190,7 +192,7 @@ public:
        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: