#define _FG_IO_HXX
-#include "Include/compiler.h"
+#include <simgear/compiler.h>
+#include <vector>
+#include STL_STRING
-#include <Network/iochannel.hxx>
+#include "fgfs.hxx"
+SG_USING_STD(vector);
+SG_USING_STD(string);
-// initialize I/O channels based on command line options (if any)
-void fgIOInit();
+class FGProtocol;
+class FGIO : public FGSubsystem
+{
+public:
+ FGIO();
+ ~FGIO();
-// process any I/O work
-void fgIOProcess();
+ void init();
+ void bind();
+ void unbind();
+ void update( double dt );
+ void shutdown_all();
-#endif // _FG_IO_HXX
+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