Formal shutdown interface on SGSubsystem.
This commit is contained in:
@@ -38,6 +38,11 @@ SGSubsystem::reinit ()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SGSubsystem::shutdown ()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SGSubsystem::bind ()
|
SGSubsystem::bind ()
|
||||||
{
|
{
|
||||||
@@ -141,6 +146,14 @@ SGSubsystemGroup::reinit ()
|
|||||||
_members[i]->subsystem->reinit();
|
_members[i]->subsystem->reinit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SGSubsystemGroup::shutdown ()
|
||||||
|
{
|
||||||
|
// reverse order to prevent order dependency problems
|
||||||
|
for (unsigned int i = _members.size(); i > 0; i--)
|
||||||
|
_members[i-1]->subsystem->shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
SGSubsystemGroup::bind ()
|
SGSubsystemGroup::bind ()
|
||||||
{
|
{
|
||||||
@@ -420,6 +433,15 @@ SGSubsystemMgr::reinit ()
|
|||||||
_groups[i]->reinit();
|
_groups[i]->reinit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SGSubsystemMgr::shutdown ()
|
||||||
|
{
|
||||||
|
// reverse order to prevent order dependency problems
|
||||||
|
for (int i = MAX_GROUPS-1; i >= 0; i--)
|
||||||
|
_groups[i]->shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
SGSubsystemMgr::bind ()
|
SGSubsystemMgr::bind ()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -169,6 +169,16 @@ public:
|
|||||||
virtual void reinit ();
|
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.
|
* Acquire the subsystem's property bindings.
|
||||||
*
|
*
|
||||||
@@ -297,6 +307,7 @@ public:
|
|||||||
virtual void init ();
|
virtual void init ();
|
||||||
virtual void postinit ();
|
virtual void postinit ();
|
||||||
virtual void reinit ();
|
virtual void reinit ();
|
||||||
|
virtual void shutdown ();
|
||||||
virtual void bind ();
|
virtual void bind ();
|
||||||
virtual void unbind ();
|
virtual void unbind ();
|
||||||
virtual void update (double delta_time_sec);
|
virtual void update (double delta_time_sec);
|
||||||
@@ -392,6 +403,7 @@ public:
|
|||||||
virtual void init ();
|
virtual void init ();
|
||||||
virtual void postinit ();
|
virtual void postinit ();
|
||||||
virtual void reinit ();
|
virtual void reinit ();
|
||||||
|
virtual void shutdown ();
|
||||||
virtual void bind ();
|
virtual void bind ();
|
||||||
virtual void unbind ();
|
virtual void unbind ();
|
||||||
virtual void update (double delta_time_sec);
|
virtual void update (double delta_time_sec);
|
||||||
|
|||||||
Reference in New Issue
Block a user