//
// Written by Curtis Olson, started November 1999.
//
-// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 1999 Curtis L. Olson - http://www.flightgear.org/~curt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
//
// 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$
#include <simgear/compiler.h>
+#include <simgear/structure/subsystem_mgr.hxx>
+#include <vector>
+#include <string>
-// initialize I/O channels based on command line options (if any)
-void fgIOInit();
+using std::vector;
+using std::string;
+class FGProtocol;
-// process any I/O work
-void fgIOProcess();
+class FGIO : public SGSubsystem
+{
+public:
+ FGIO();
+ ~FGIO();
+
+ void init();
+ void bind();
+ void unbind();
+ void update( double dt );
+
+ void shutdown_all();
+
+private:
+
+ FGProtocol* parse_port_config( const string& cfgstr );
+
+private:
+
+ // define the global I/O channel list
+ //io_container global_io_list;
+ vector< FGProtocol* > io_channels;
+};
#endif // _FG_IO_HXX