class SGSubsystem;
class SGSoundMgr;
-class FGATISMgr;
class FGControls;
class FGTACANList;
class FGLocale;
SGEphemeris *ephem;
// Material properties library
- SGMaterialLib *matlib;
+ SGSharedPtr<SGMaterialLib> matlib;
// Global autopilot "route"
FGRouteMgr *route_mgr;
- // ATC manager
- FGATISMgr *ATIS_mgr;
-
// control input state
FGControls *controls;
void initProperties();
SGSharedPtr<FGSampleQueue> _chatter_queue;
+
+ void cleanupListeners();
+
+ typedef std::vector<SGPropertyChangeListener*> SGPropertyChangeListenerVec;
+ SGPropertyChangeListenerVec _listeners_to_cleanup;
+
public:
FGGlobals();
inline SGMaterialLib *get_matlib() const { return matlib; }
void set_matlib( SGMaterialLib *m );
- inline FGATISMgr *get_ATIS_mgr() const { return ATIS_mgr; }
- inline void set_ATIS_mgr( FGATISMgr *a ) {ATIS_mgr = a; }
-
inline FGControls *get_controls() const { return controls; }
inline void set_controls( FGControls *c ) { controls = c; }
FGSampleQueue* get_chatter_queue() const;
void set_chatter_queue(FGSampleQueue* queue);
+
+ void addListenerToCleanup(SGPropertyChangeListener* l);
};