//
// This file is in the Public Domain and comes with no warranty.
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include <iostream>
#include <string>
#include <sstream>
#include "od_gauge.hxx"
#include "wxradar.hxx"
#include "tacan.hxx"
+#include "mk_viii.hxx"
FGInstrumentMgr::FGInstrumentMgr ()
try {
readProperties( config.str(), config_props );
- if ( build() ) {
- enabled = true;
- } else {
- SG_LOG( SG_ALL, SG_ALERT,
- "Detected an internal inconsistency in the instrumentation");
- SG_LOG( SG_ALL, SG_ALERT,
- " system specification file. See earlier errors for" );
- SG_LOG( SG_ALL, SG_ALERT,
- " details.");
- exit(-1);
+ if ( !build() ) {
+ throw sg_throwable(string(
+ "Detected an internal inconsistency in the instrumentation\n"
+ "system specification file. See earlier errors for details."));
}
} catch (const sg_exception& exc) {
SG_LOG( SG_ALL, SG_ALERT, "Failed to load instrumentation system model: "
for ( i = 0; i < count; ++i ) {
node = config_props->getChild(i);
string name = node->getName();
- cout<< "instrument name: " << name << endl;
std::ostringstream temp;
temp << i;
if ( name == "adf" ) {
} else if ( name == "tacan" ) {
set_subsystem( "instrument" + temp.str(),
new TACAN( node ) );
+ } else if ( name == "mk-viii" ) {
+ set_subsystem( "instrument" + temp.str(),
+ new MK_VIII( node ) );
} else {
SG_LOG( SG_ALL, SG_ALERT, "Unknown top level section: "
<< name );