SubsystemMgr: helper to remove all subsystems.

This commit is contained in:
Thomas Geymayer 2014-02-08 19:15:14 +01:00
parent 13ae2f08ee
commit 4a10806352
2 changed files with 16 additions and 9 deletions

View 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)
{

View 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);
/**
* Basic interface for all FlightGear subsystems.
*
@ -285,8 +283,7 @@ protected:
};
typedef SGSharedPtr<SGSubsystem> SGSubsystemRef;
/**
* 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;
};
/**
* Manage subsystems for FlightGear.
*
@ -421,7 +421,4 @@ private:
SubsystemDict _subsystem_map;
};
#endif // __SUBSYSTEM_MGR_HXX