#include <simgear/compiler.h>
-#include <stdlib.h> // atoi()
+#include <cstdlib> // atoi()
#include <string>
#include <Network/ATC-Main.hxx>
#include <Network/atlas.hxx>
#include <Network/AV400.hxx>
+#include <Network/AV400Sim.hxx>
#include <Network/garmin.hxx>
#include <Network/httpd.hxx>
#ifdef FG_JPEG_SERVER
#include "globals.hxx"
#include "fg_io.hxx"
-SG_USING_STD(string);
+using std::atoi;
+using std::string;
FGIO::FGIO()
}
#include <algorithm>
-SG_USING_STD(for_each);
+using std::for_each;
static void delete_ptr( FGProtocol* p ) { delete p; }
} else if ( protocol == "AV400" ) {
FGAV400 *av400 = new FGAV400;
io = av400;
+ } else if ( protocol == "AV400Sim" ) {
+ FGAV400Sim *av400sim = new FGAV400Sim;
+ io = av400sim;
} else if ( protocol == "garmin" ) {
FGGarmin *garmin = new FGGarmin;
io = garmin;
string baud = tokens[5];
SG_LOG( SG_IO, SG_INFO, " baud = " << baud );
+
SGSerial *ch = new SGSerial( device, baud );
io->set_io_channel( ch );
} else if ( medium == "file" ) {
string file = tokens[4];
SG_LOG( SG_IO, SG_INFO, " file name = " << file );
- bool repeat = false;
- if (tokens.size() >= 7 && tokens[6] == "repeat")
- repeat = true;
+ int repeat = 1;
+ if (tokens.size() >= 7 && tokens[6] == "repeat") {
+ if (tokens.size() >= 8) {
+ repeat = atoi(tokens[7].c_str());
+ FGGeneric* generic = dynamic_cast<FGGeneric*>(io);
+ if (generic)
+ generic->setExitOnError(true);
+ } else {
+ repeat = -1;
+ }
+ }
SGFile *ch = new SGFile( file, repeat );
io->set_io_channel( ch );
} else if ( medium == "socket" ) {