X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2Ffg_io.hxx;h=37c8fd531a9e5e450fafe89e8581b0077d30949b;hb=9002696195c50219d7df06e098b57c79a289a0e0;hp=0550fdb022ad9ba8a376df584b5b099acd0fe6ed;hpb=df31c5893edfc074a521c32d32e3223e0c093aeb;p=flightgear.git diff --git a/src/Main/fg_io.hxx b/src/Main/fg_io.hxx index 0550fdb02..37c8fd531 100644 --- a/src/Main/fg_io.hxx +++ b/src/Main/fg_io.hxx @@ -1,8 +1,8 @@ -// fg_io.hxx -- Higher level I/O managment routines +// fg_io.hxx -- Higher level I/O management routines // // 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 @@ -16,7 +16,7 @@ // // 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$ @@ -26,18 +26,43 @@ #include +#include +#include +#include +#include -// initialize I/O channels based on command line options (if any) -void fgIOInit(); +class FGProtocol; +class FGIO : public SGSubsystem +{ +public: + FGIO(); + ~FGIO(); -// process any I/O work -void fgIOProcess(); + void init(); + void reinit(); + void bind(); + void unbind(); + void update( double dt ); + void shutdown(); -// shutdown all I/O connections -void fgIOShutdownAll(); +private: + + void add_channel(const std::string& config); + FGProtocol* parse_port_config( const std::string& cfgstr ); + +private: + + // define the global I/O channel list + //io_container global_io_list; + + typedef std::vector< FGProtocol* > ProtocolVec; + ProtocolVec io_channels; + + SGPropertyNode_ptr _realDeltaTime; +}; #endif // _FG_IO_HXX