]> git.mxchange.org Git - flightgear.git/blobdiff - src/ATC/ATCmgr.hxx
Multiplayer client/server system -- MessageBuf class and test harness complete
[flightgear.git] / src / ATC / ATCmgr.hxx
index e7f9734994891cda7a2c83e6765f2836fecedb3f..6741a35b7733afb5f0a3f2e36a68b9e7e32a3e25 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,14 +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[2];       // true when the relevant comm_freq has activated this station
+    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;
@@ -164,9 +167,6 @@ public:
        // Returns NULL if service doesn't exist - calling function should check for this.
     FGATC* GetATCPointer(string icao, atc_type type);
        
-       // Display a dialog box with options relevant to the currently tuned ATC service.
-       void doPopupDialog();
-       
        // Return a pointer to an appropriate voice for a given type of ATC
        // creating the voice if necessary - ie. make sure exactly one copy
        // of every voice in use exists in memory.
@@ -189,7 +189,7 @@ public:
        bool AIRegisterAirport(string ident);
        
        // Register the fact that the comm radio is tuned to an airport
-       bool CommRegisterAirport(string ident, int chan);
+       bool CommRegisterAirport(string ident, int chan, atc_type tp);
        
 private: