X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Fglobals.hxx;h=8b5e9e6f718462b958ab9436630b1bfb0a966517;hb=6beb00f4072a997a174050b76c3e57116a49f955;hp=f7301983547030648c119adb85fecb49810a0978;hpb=3b88c71122e33315c51bbf7676f12abf9c512989;p=flightgear.git diff --git a/src/Main/globals.hxx b/src/Main/globals.hxx index f73019835..8b5e9e6f7 100644 --- a/src/Main/globals.hxx +++ b/src/Main/globals.hxx @@ -24,21 +24,38 @@ #ifndef _GLOBALS_HXX #define _GLOBALS_HXX +#include + +#include +#include STL_STRING + #include #include #include #include +#include #include -#include "options.hxx" +#include #include "viewmgr.hxx" +SG_USING_STD( vector ); +SG_USING_STD( string ); + +typedef vector string_list; + class FGGlobals { private: + // Root of FlightGear data tree + string fg_root; + + // Root of FlightGear scenery tree + string fg_scenery; + // Freeze sim bool freeze; @@ -62,21 +79,35 @@ private: // Global autopilot "route" SGRoute *route; - // options - FGOptions *options; + // sound manager + FGSoundMgr *soundmgr; - // viewer maneger + // viewer manager FGViewMgr *viewmgr; FGViewer *current_view; // properties SGPropertyNode *props; + SGPropertyNode *initial_state; + + SGCommandMgr *commands; + + // list of serial port-like configurations + string_list *channel_options_list; public: FGGlobals(); ~FGGlobals(); + inline const string &get_fg_root () const { return fg_root; } + inline void set_fg_root (const string &root) { fg_root = root; } + + inline const string &get_fg_scenery () const { return fg_scenery; } + inline void set_fg_scenery (const string &scenery) { + fg_scenery = scenery; + } + inline bool get_freeze() const { return freeze; } inline void set_freeze( bool f ) { freeze = f; } @@ -100,8 +131,8 @@ public: inline SGRoute *get_route() const { return route; } inline void set_route( SGRoute *r ) { route = r; } - inline FGOptions *get_options() const { return options; } - inline void set_options( FGOptions *o ) { options = o; } + inline FGSoundMgr *get_soundmgr() const { return soundmgr; } + inline void set_soundmgr( FGSoundMgr *sm ) { soundmgr = sm; } inline FGViewMgr *get_viewmgr() const { return viewmgr; } inline void set_viewmgr( FGViewMgr *vm ) { viewmgr = vm; } @@ -110,8 +141,28 @@ public: inline SGPropertyNode *get_props () { return props; } inline void set_props( SGPropertyNode *n ) { props = n; } - // inline const SGPropertyNode &get_props () const { return props; } - + + inline SGCommandMgr *get_commands () { return commands; } + + inline string_list *get_channel_options_list () { + return channel_options_list; + } + inline void set_channel_options_list( string_list *l ) { + channel_options_list = l; + } + + + /** + * Save the current state as the initial state. + */ + void saveInitialState (); + + + /** + * Restore the saved initial state, if any. + */ + void restoreInitialState (); + };