#include <map>
#include <vector>
-#include <simgear/props/props.hxx>
#include <simgear/timing/timestamp.hxx>
+#include <simgear/structure/SGSharedPtr.hxx>
#include "SGSmplstat.hxx"
virtual void reinit ();
+ /**
+ * Shutdown the subsystem.
+ *
+ * <p>Release any state associated with subsystem. Shutdown happens in
+ * the reverse order to init(), so this is the correct place to do
+ * shutdown that depends on other subsystems.
+ * </p>
+ */
+ virtual void shutdown ();
+
/**
* Acquire the subsystem's property bindings.
*
virtual void init ();
virtual void postinit ();
virtual void reinit ();
+ virtual void shutdown ();
virtual void bind ();
virtual void unbind ();
virtual void update (double delta_time_sec);
virtual bool has_subsystem (const std::string &name) const;
void collectDebugTiming(bool collect);
+ void printTimingStatistics(double minMaxTime=0.0,double minJitter=0.0);
/**
*
virtual ~Member ();
virtual void update (double delta_time_sec);
- void printTimingInformation(double time);
- void printTimingStatistics();
+ void printTimingInformation(double time);
+ void printTimingStatistics(double minMaxTime=0.0,double minJitter=0.0);
void updateExecutionTime(double time);
double getTimeWarningThreshold();
void collectDebugTiming (bool collect) { collectTimeStats = collect; };
virtual void init ();
virtual void postinit ();
virtual void reinit ();
+ virtual void shutdown ();
virtual void bind ();
virtual void unbind ();
virtual void update (double delta_time_sec);
virtual SGSubsystem * get_subsystem(const std::string &name) const;
void collectDebugTiming(bool collect);
+ void printTimingStatistics(double minMaxTime=0.0,double minJitter=0.0);
private:
- SGSubsystemGroup _groups[MAX_GROUPS];
+ SGSubsystemGroup* _groups[MAX_GROUPS];
typedef std::map<std::string, SGSubsystem*> SubsystemDict;
SubsystemDict _subsystem_map;