]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/globals.hxx
Merge branch 'jt/runway' into next
[flightgear.git] / src / Main / globals.hxx
index 6af7367660fd8d81f043032cd8750f3061c49212..d962bae2c2937bbc6e2f12de46e177e6ac6d0f53 100644 (file)
@@ -16,7 +16,7 @@
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
 #ifndef _GLOBALS_HXX
 #define _GLOBALS_HXX
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
 #include <simgear/compiler.h>
-#include <simgear/structure/callback.hxx>
+#include <simgear/props/props.hxx>
 #include <simgear/structure/subsystem_mgr.hxx>
-#include <simgear/structure/event_mgr.hxx>
 
 #include <vector>
-#include STL_STRING
-
-SG_USING_STD( vector );
-SG_USING_STD( string );
-
-typedef vector<string> string_list;
-
+#include <string>
 
-#include "renderer.hxx"
+typedef std::vector<std::string> string_list;
 
 // Forward declarations
 
@@ -55,39 +44,36 @@ typedef vector<string> string_list;
 // anyway.
 
 class SGEphemeris;
-
 class SGCommandMgr;
 class SGMagVar;
 class SGMaterialLib;
-class SGModelLib;
 class SGPropertyNode;
 class SGTime;
 class SGSoundMgr;
+class SGEventMgr;
+class SGSubsystemMgr;
+class SGSubsystem;
 
-
-class FGAirportList;
-class FGRunwayList;
 class FGAIMgr;
 class FGATCMgr;
-class FGATCDisplay;
 class FGAircraftModel;
 class FGControls;
 class FGFlightPlanDispatcher;
 class FGIO;
 class FGNavList;
-class FGFixList;
+class FGAirwayNetwork;
+class FGTACANList;
 class FGLight;
 class FGModelMgr;
 class FGRouteMgr;
 class FGScenery;
-#ifdef FG_MPLAYER_AS
-class FGMultiplayRxMgr;
-class FGMultiplayTxMgr;
-#endif
+class FGMultiplayMgr;
 class FGPanel;
 class FGTileMgr;
 class FGViewMgr;
 class FGViewer;
+class FGRenderer;
+class FGFontCache;
 
 
 /**
@@ -99,6 +85,13 @@ class FGGlobals
 
 private:
 
+    // properties, destroy last
+    SGPropertyNode_ptr props;
+    SGPropertyNode_ptr initial_state;
+
+    // localization
+    SGPropertyNode_ptr locale;
+
     FGRenderer *renderer;
     SGSubsystemMgr *subsystem_mgr;
     SGEventMgr *event_mgr;
@@ -107,15 +100,12 @@ private:
     double sim_time_sec;
 
     // Root of FlightGear data tree
-    string fg_root;
+    std::string fg_root;
 
     // Roots of FlightGear scenery tree
     string_list fg_scenery;
 
-    // Fullscreen mode for old 3DFX cards.
-#if defined(FX) && defined(XMESA)
-    bool fullscreen;
-#endif
+    std::string browser;
 
     // An offset in seconds from the true time.  Allows us to adjust
     // the effective time of day.
@@ -146,18 +136,9 @@ private:
     // sound manager
     SGSoundMgr *soundmgr;
 
-    // Simple Airport List
-    FGAirportList *airports;
-
-    // Runway List
-    FGRunwayList *runways;
-
     // ATC manager
     FGATCMgr *ATC_mgr;
 
-    // ATC Renderer
-    FGATCDisplay *ATC_display;
-
     // AI manager
     FGAIMgr *AI_mgr;
 
@@ -167,17 +148,8 @@ private:
     // viewer manager
     FGViewMgr *viewmgr;
 
-    // properties
-    SGPropertyNode *props;
-    SGPropertyNode *initial_state;
-
-    // localization
-    SGPropertyNode *locale;
-
     SGCommandMgr *commands;
 
-    SGModelLib *model_lib;
-
   //FGFlightPlanDispatcher *fpDispatcher;
 
     FGAircraftModel *acmodel;
@@ -200,20 +172,20 @@ private:
     // Input/Ouput subsystem
     FGIO *io;
 
+    FGFontCache *fontcache;
+
     // Navigational Aids
     FGNavList *navlist;
     FGNavList *loclist;
     FGNavList *gslist;
     FGNavList *dmelist;
-    FGNavList *mkrlist;
-    FGFixList *fixlist;
+    FGNavList *tacanlist;
+    FGNavList *carrierlist;
+    FGTACANList *channellist;
+    FGAirwayNetwork *airwaynet;
 
-#ifdef FG_MPLAYER_AS
     //Mulitplayer managers
-    FGMultiplayTxMgr *multiplayer_tx_mgr;
-
-    FGMultiplayRxMgr *multiplayer_rx_mgr;
-#endif
+    FGMultiplayMgr *multiplayer_mgr;
 
 public:
 
@@ -238,16 +210,14 @@ public:
     inline void inc_sim_time_sec (double dt) { sim_time_sec += dt; }
     inline void set_sim_time_sec (double t) { sim_time_sec = t; }
 
-    inline const string &get_fg_root () const { return fg_root; }
-    void set_fg_root (const string &root);
+    inline const std::string &get_fg_root () const { return fg_root; }
+    void set_fg_root (const std::string &root);
 
     inline const string_list &get_fg_scenery () const { return fg_scenery; }
-    void set_fg_scenery (const string &scenery);
+    void set_fg_scenery (const std::string &scenery);
 
-#if defined(FX) && defined(XMESA)
-    inline bool get_fullscreen() const { return fullscreen; }
-    inline bool set_fullscreen( bool f ) { fullscreen = f; }
-#endif
+    inline const std::string &get_browser () const { return browser; }
+    void set_browser (const std::string &b) { browser = b; }
 
     inline long int get_warp() const { return warp; }
     inline void set_warp( long int w ) { warp = w; }
@@ -269,18 +239,9 @@ public:
     inline SGMaterialLib *get_matlib() const { return matlib; }
     inline void set_matlib( SGMaterialLib *m ) { matlib = m; }
 
-    inline FGAirportList *get_airports() const { return airports; }
-    inline void set_airports( FGAirportList *a ) {airports = a; }
-
-    inline FGRunwayList *get_runways() const { return runways; }
-    inline void set_runways( FGRunwayList *r ) {runways = r; }
-
     inline FGATCMgr *get_ATC_mgr() const { return ATC_mgr; }
     inline void set_ATC_mgr( FGATCMgr *a ) {ATC_mgr = a; }
 
-    inline FGATCDisplay *get_ATC_display() const { return ATC_display; }
-    inline void set_ATC_display( FGATCDisplay *d ) {ATC_display = d; }
-
     inline FGAIMgr *get_AI_mgr() const { return AI_mgr; }
     inline void set_AI_mgr( FGAIMgr *a ) {AI_mgr = a; }
 
@@ -305,12 +266,6 @@ public:
 
     inline SGCommandMgr *get_commands () { return commands; }
 
-    inline SGModelLib * get_model_lib () { return model_lib; }
-
-    inline void set_model_lib (SGModelLib *m) {
-        model_lib = m;
-    }
-
     inline FGAircraftModel *get_aircraft_model () { return acmodel; }
 
     inline void set_aircraft_model (FGAircraftModel * model)
@@ -325,22 +280,13 @@ public:
       model_mgr = mgr;
     }
 
-#ifdef FG_MPLAYER_AS
-    inline FGMultiplayTxMgr *get_multiplayer_tx_mgr () { return multiplayer_tx_mgr; }
+    inline FGMultiplayMgr *get_multiplayer_mgr () { return multiplayer_mgr; }
 
-    inline void set_multiplayer_tx_mgr (FGMultiplayTxMgr * mgr)
+    inline void set_multiplayer_mgr (FGMultiplayMgr * mgr)
     {
-      multiplayer_tx_mgr = mgr;
+      multiplayer_mgr = mgr;
     }
 
-    inline FGMultiplayRxMgr *get_multiplayer_rx_mgr () { return multiplayer_rx_mgr; }
-
-    inline void set_multiplayer_rx_mgr (FGMultiplayRxMgr * mgr)
-    {
-      multiplayer_rx_mgr = mgr;
-    }
-#endif
-
     inline string_list *get_channel_options_list () {
        return channel_options_list;
     }
@@ -363,7 +309,8 @@ public:
     inline void set_tile_mgr ( FGTileMgr *t ) { tile_mgr = t; }
 
     inline FGIO* get_io() const { return io; }
-
+    inline FGFontCache *get_fontcache() const { return fontcache; }
+    
     inline FGNavList *get_navlist() const { return navlist; }
     inline void set_navlist( FGNavList *n ) { navlist = n; }
     inline FGNavList *get_loclist() const { return loclist; }
@@ -372,11 +319,16 @@ public:
     inline void set_gslist( FGNavList *n ) { gslist = n; }
     inline FGNavList *get_dmelist() const { return dmelist; }
     inline void set_dmelist( FGNavList *n ) { dmelist = n; }
-    inline FGNavList *get_mkrlist() const { return mkrlist; }
-    inline void set_mkrlist( FGNavList *n ) { mkrlist = n; }
+    inline FGNavList *get_tacanlist() const { return tacanlist; }
+    inline void set_tacanlist( FGNavList *n ) { tacanlist = n; }
+    inline FGNavList *get_carrierlist() const { return carrierlist; }
+    inline void set_carrierlist( FGNavList *n ) { carrierlist = n; }
+    inline FGTACANList *get_channellist() const { return channellist; }
+    inline void set_channellist( FGTACANList *c ) { channellist = c; }
+
+    inline FGAirwayNetwork *get_airwaynet() const { return airwaynet; }
+    inline void set_airwaynet( FGAirwayNetwork *a ) { airwaynet = a; }
 
-    inline FGFixList *get_fixlist() const { return fixlist; }
-    inline void set_fixlist( FGFixList *f ) { fixlist = f; }
 
    /**
      * Save the current state as the initial state.