]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/subsystem_mgr.hxx
Make at least the header aliasing safe.
[simgear.git] / simgear / structure / subsystem_mgr.hxx
index cd612335b97e43a0ff2cd9da9ead7cdf19d9923d..c13c25d9ae0da4cfa78c9802bccd3f0fb49e6c35 100644 (file)
@@ -14,7 +14,7 @@
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
@@ -27,8 +27,8 @@
 
 #if 0
 #ifdef HAVE_WINDOWS_H
-#  include <windows.h>                     
-#  include <float.h>                    
+#  include <windows.h>
+#  include <float.h>
 #endif
 
 #include STL_STRING
@@ -140,6 +140,18 @@ public:
   virtual void init ();
 
 
+  /**
+   * Initialize parts that depend on other subsystems having been initialized.
+   *
+   * <p>This method should set up all parts that depend on other
+   * subsystems. One example is the scripting/Nasal subsystem, which
+   * is initialized last. So, if a subsystem wants to execute Nasal
+   * code in subsystem-specific configuration files, it has to do that
+   * in its postinit() method.</p>
+   */
+  virtual void postinit ();
+
+
   /**
    * Reinitialize the subsystem.
    *
@@ -243,6 +255,7 @@ public:
     virtual ~SGSubsystemGroup ();
 
     virtual void init ();
+    virtual void postinit ();
     virtual void reinit ();
     virtual void bind ();
     virtual void unbind ();
@@ -315,6 +328,7 @@ public:
     virtual ~SGSubsystemMgr ();
 
     virtual void init ();
+    virtual void postinit ();
     virtual void reinit ();
     virtual void bind ();
     virtual void unbind ();