X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Ffg_io.cxx;h=2a7afcfbe7dda2e61e5d508aa9937a75af76ee27;hb=a4d27fe7bc81a3c5acca18b76d4f10406b74f8a3;hp=a4b8f97c2ce171c9a19fb9c77f6e3080b8eec72c;hpb=57a4c79eb508d7e3fef92103a000af6ca74b03ec;p=flightgear.git diff --git a/src/Main/fg_io.cxx b/src/Main/fg_io.cxx index a4b8f97c2..2a7afcfbe 100644 --- a/src/Main/fg_io.cxx +++ b/src/Main/fg_io.cxx @@ -34,14 +34,15 @@ #include #include -#include +#include #include +#include +#include #include #include #include #include #include -#include #include "globals.hxx" @@ -72,12 +73,18 @@ static FGProtocol *parse_port_config( const string& config ) FG_LOG( FG_IO, FG_INFO, " protocol = " << protocol ); FGProtocol *io; - if ( protocol == "native" ) { - FGNative *native = new FGNative; - io = native; + if ( protocol == "atlas" ) { + FGAtlas *atlas = new FGAtlas; + io = atlas; } else if ( protocol == "garmin" ) { FGGarmin *garmin = new FGGarmin; io = garmin; + } else if ( protocol == "joyclient" ) { + FGJoyClient *joyclient = new FGJoyClient; + io = joyclient; + } else if ( protocol == "native" ) { + FGNative *native = new FGNative; + io = native; } else if ( protocol == "nmea" ) { FGNMEA *nmea = new FGNMEA; io = nmea; @@ -93,9 +100,6 @@ static FGProtocol *parse_port_config( const string& config ) } else if ( protocol == "rul" ) { FGRUL *rul = new FGRUL; io = rul; - } else if ( protocol == "joyclient" ) { - FGJoyClient *joyclient = new FGJoyClient; - io = joyclient; } else { return NULL; } @@ -193,9 +197,11 @@ static FGProtocol *parse_port_config( const string& config ) // step through the port config streams (from fgOPTIONS) and setup // serial port channels for each void fgIOInit() { + // FG_LOG( FG_IO, FG_INFO, "I/O Channel initialization, " << + // globals->get_channel_options_list()->size() << " requests." ); + FGProtocol *p; - string_list channel_options_list = - globals->get_options()->get_channel_options_list(); + string_list *channel_options_list = globals->get_channel_options_list(); // we could almost do this in a single step except pushing a valid // port onto the port list copies the structure and destroys the @@ -203,8 +209,8 @@ void fgIOInit() { // parse the configuration strings and store the results in the // appropriate FGIOChannel structures - for ( int i = 0; i < (int)channel_options_list.size(); ++i ) { - p = parse_port_config( channel_options_list[i] ); + for ( int i = 0; i < (int)channel_options_list->size(); ++i ) { + p = parse_port_config( (*channel_options_list)[i] ); if ( p != NULL ) { p->open(); global_io_list.push_back( p );