]> git.mxchange.org Git - simgear.git/commitdiff
SubsystemMgr: helper to remove all subsystems.
authorThomas Geymayer <tomgey@gmail.com>
Sat, 8 Feb 2014 18:15:14 +0000 (19:15 +0100)
committerThomas Geymayer <tomgey@gmail.com>
Sat, 8 Feb 2014 18:15:14 +0000 (19:15 +0100)
simgear/structure/subsystem_mgr.cxx
simgear/structure/subsystem_mgr.hxx

index 35d6c59d829c8c89482eb7ce1cca4c4e852b0df3..f9eb752b8742ba0f7af2e0334052964f61e01fd6 100644 (file)
@@ -333,6 +333,16 @@ SGSubsystemGroup::remove_subsystem (const string &name)
     SG_LOG(SG_GENERAL, SG_WARN, "remove_subsystem: missing:" << name);
 }
 
+//------------------------------------------------------------------------------
+void SGSubsystemGroup::clearSubsystems()
+{
+  for( MemberVec::iterator it = _members.begin();
+                           it != _members.end();
+                         ++it )
+    delete *it;
+  _members.clear();
+}
+
 void
 SGSubsystemGroup::set_fixed_update_time(double dt)
 {
index 4fd935f1aec8778f78d5ba14836802e2f0cfa0f6..caa804e8edaadbad68fc7e80b3153483211063eb 100644 (file)
@@ -1,4 +1,3 @@
-
 // Written by David Megginson, started 2000-12
 //
 // Copyright (C) 2000  David Megginson, david@megginson.com
@@ -55,7 +54,6 @@ typedef std::vector<TimingInfo>::iterator eventTimeVecIterator;
 
 typedef void (*SGSubsystemTimingCb)(void* userData, const std::string& name, SampleStatistic* pStatistic);
 
-\f
 /**
  * Basic interface for all FlightGear subsystems.
  *
@@ -285,8 +283,7 @@ protected:
 };
 
 typedef SGSharedPtr<SGSubsystem> SGSubsystemRef;
-    
-\f
+
 /**
  * A group of FlightGear subsystems.
  */
@@ -316,6 +313,11 @@ public:
     virtual void remove_subsystem (const std::string &name);
     virtual bool has_subsystem (const std::string &name) const;
 
+    /**
+     * Remove all subsystems.
+     */
+    virtual void clearSubsystems();
+
     void reportTiming(void);
 
     /**
@@ -343,8 +345,6 @@ private:
     unsigned int _initPosition;
 };
 
-
-\f
 /**
  * Manage subsystems for FlightGear.
  *
@@ -421,7 +421,4 @@ private:
     SubsystemDict _subsystem_map;
 };
 
-
-
 #endif // __SUBSYSTEM_MGR_HXX
-