//
// 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$
#define _FG_IO_HXX
-#include "Include/compiler.h"
+#include <simgear/compiler.h>
+#include <simgear/structure/subsystem_mgr.hxx>
-#include <Network/iochannel.hxx>
+#include <vector>
+#include <string>
+class FGProtocol;
-// initialize I/O channels based on command line options (if any)
-void fgIOInit();
+class FGIO : public SGSubsystem
+{
+public:
+ FGIO();
+ ~FGIO();
+ void init();
+ void reinit();
+ void bind();
+ void unbind();
+ void update( double dt );
-// process any I/O work
-void fgIOProcess();
+ void shutdown_all();
+private:
-#endif // _FG_IO_HXX
+ FGProtocol* parse_port_config( const std::string& cfgstr );
+
+private:
+ // define the global I/O channel list
+ //io_container global_io_list;
+ std::vector< FGProtocol* > io_channels;
+};
+
+#endif // _FG_IO_HXX