1
0
Fork 0
flightgear/src/Main/fg_io.hxx

75 lines
1.9 KiB
C++
Raw Normal View History

2012-11-01 13:12:01 +00:00
// fg_io.hxx -- Higher level I/O management routines
1999-11-19 02:10:24 +00:00
//
// Written by Curtis Olson, started November 1999.
//
// Copyright (C) 1999 Curtis L. Olson - http://www.flightgear.org/~curt
1999-11-19 02:10:24 +00:00
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
2006-02-21 01:16:04 +00:00
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1999-11-19 02:10:24 +00:00
//
// $Id$
#ifndef _FG_IO_HXX
#define _FG_IO_HXX
2000-02-15 03:30:01 +00:00
#include <simgear/compiler.h>
#include <simgear/structure/subsystem_mgr.hxx>
2010-11-24 20:57:56 +00:00
#include <simgear/props/props.hxx>
#include <vector>
#include <string>
1999-11-19 02:10:24 +00:00
class FGProtocol;
1999-11-19 02:10:24 +00:00
class FGIO : public SGSubsystem
{
public:
FGIO();
~FGIO();
1999-11-19 02:10:24 +00:00
void init();
void reinit();
void bind();
void unbind();
void update( double dt );
1999-11-19 02:10:24 +00:00
void shutdown();
/**
* helper to determine early in startup, if MP will be used.
* This information is needed in the position-init code, to adjust the
* start position off active runways.
*/
static bool isMultiplayerRequested();
private:
2012-11-01 13:12:01 +00:00
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;
2010-11-24 20:57:56 +00:00
SGPropertyNode_ptr _realDeltaTime;
};
1999-11-19 02:10:24 +00:00
#endif // _FG_IO_HXX