#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/structure/subsystem_mgr.hxx>
+#include <simgear/structure/event_mgr.hxx>
#include <vector>
#include STL_STRING
-#include "fgfs.hxx"
-
-
SG_USING_STD( vector );
SG_USING_STD( string );
/**
* Bucket for subsystem pointers representing the sim's state.
*/
+
class FGGlobals
{
private:
- FGSubsystemMgr * subsystem_mgr;
+ SGSubsystemMgr * subsystem_mgr;
+ SGEventMgr * event_mgr;
// Number of milliseconds elapsed since the start of the program.
double sim_time_sec;
// Input/Ouput subsystem
FGIO *io;
- // light parameters
- FGLight *cur_light_params;
-
#ifdef FG_MPLAYER_AS
//Mulitplayer managers
FGMultiplayTxMgr *multiplayer_tx_mgr;
FGGlobals();
virtual ~FGGlobals();
- virtual FGSubsystemMgr * get_subsystem_mgr () const;
+ virtual SGSubsystemMgr * get_subsystem_mgr () const;
- virtual FGSubsystem * get_subsystem (const char * name);
+ virtual SGSubsystem * get_subsystem (const char * name);
virtual void add_subsystem (const char * name,
- FGSubsystem * subsystem,
- FGSubsystemMgr::GroupType
- type = FGSubsystemMgr::GENERAL,
+ SGSubsystem * subsystem,
+ SGSubsystemMgr::GroupType
+ type = SGSubsystemMgr::GENERAL,
double min_time_sec = 0);
+ virtual SGEventMgr * get_event_mgr () const;
+
inline double get_sim_time_sec () const { return sim_time_sec; }
inline void inc_sim_time_sec (double dt) { sim_time_sec += dt; }
inline void set_sim_time_sec (double t) { sim_time_sec = t; }