FlightGear next
ExternalNet.hxx
Go to the documentation of this file.
1// ExternalNet.hxx -- an net interface to an external flight dynamics model
2//
3// Written by Curtis Olson, started November 2001.
4//
5// Copyright (C) 2001 Curtis L. Olson - http://www.flightgear.org/~curt
6//
7// This program is free software; you can redistribute it and/or
8// modify it under the terms of the GNU General Public License as
9// published by the Free Software Foundation; either version 2 of the
10// License, or (at your option) any later version.
11//
12// This program is distributed in the hope that it will be useful, but
13// WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15// General Public License for more details.
16//
17// You should have received a copy of the GNU General Public License
18// along with this program; if not, write to the Free Software
19// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20//
21// $Id$
22
23#ifndef _EXTERNAL_NET_HXX
24#define _EXTERNAL_NET_HXX
25
26#include <simgear/timing/timestamp.hxx> // fine grained timing measurements
27#include <simgear/io/raw_socket.hxx>
28
29#include <Network/net_ctrls.hxx>
30#include <Network/net_fdm.hxx>
31#include <FDM/flight.hxx>
32
33
35{
36private:
37 int data_in_port;
38 int data_out_port;
39 int cmd_port;
40 std::string fdm_host;
41
42 simgear::Socket data_client;
43 simgear::Socket data_server;
44
45 bool valid;
46
47 FGNetCtrls ctrls;
48 FGNetFDM fdm;
49
50public:
51 // Constructor
52 FGExternalNet( double dt, std::string host, int dop, int dip, int cp );
53
54 // Destructor
56
57 // Subsystem API.
58 void init() override;
59 void update(double dt) override;
60
61 // Subsystem identification.
62 static const char* staticSubsystemClassId() { return "network"; }
63};
64
65#endif // _EXTERNAL_NET_HXX
void init() override
static const char * staticSubsystemClassId()
void update(double dt) override
FGExternalNet(double dt, std::string host, int dop, int dip, int cp)