#define _FG_IO_HXX
-#include "Include/compiler.h"
+#include <simgear/compiler.h>
+#include <vector>
+#include STL_STRING
-// #include <string>
+#include "fgfs.hxx"
-// #ifdef FG_HAVE_STD_INCLUDES
-// # include <ctime>
-// #else
-// # include <time.h>
-// #endif
+SG_USING_STD(vector);
+SG_USING_STD(string);
-#include <Network/iochannel.hxx>
+class FGProtocol;
+class FGIO : public FGSubsystem
+{
+public:
+ FGIO();
+ ~FGIO();
-// initialize I/O channels based on command line options (if any)
-void fgIOInit();
+ void init();
+ void bind();
+ void unbind();
+ void update( double dt );
+ void shutdown_all();
-// process any I/O work
-void fgIOProcess();
+private:
+ FGProtocol* parse_port_config( const string& cfgstr );
-#endif // _FG_IO_HXX
+private:
+
+ // define the global I/O channel list
+ //io_container global_io_list;
+ vector< FGProtocol* > io_channels;
+};
+#endif // _FG_IO_HXX