//
// 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$
#ifndef _EXTERNAL_NET_HXX
#define _EXTERNAL_NET_HXX
-#include <plib/netBuffer.h>
-#include <plib/netSocket.h>
-
#include <simgear/timing/timestamp.hxx> // fine grained timing measurements
+#include <simgear/io/raw_socket.hxx>
#include <Network/net_ctrls.hxx>
#include <Network/net_fdm.hxx>
-
-
-class HTTPClient : public netBufferChannel
-{
-
- bool done;
- SGTimeStamp start;
-
-public:
-
- HTTPClient ( const char* host, int port, const char* path ) :
- done( false )
- {
- open ();
- connect (host, port);
-
- const char* s = netFormat ( "GET %s HTTP/1.0\r\n\r\n", path );
- bufferSend( s, strlen(s) ) ;
-
- start.stamp();
- }
-
- virtual void handleBufferRead (netBuffer& buffer)
- {
- const char* s = buffer.getData();
- while (*s)
- fputc(*s++,stdout);
-
- printf("done\n");
- buffer.remove();
- printf("after buffer.remove()\n");
- done = true;
- }
-
- bool isDone() const { return done; }
- bool isDone( long usec ) const {
- SGTimeStamp now;
- now.stamp();
- if ( (now - start) > usec ) {
- return true;
- } else {
- return done;
- }
- }
-};
+#include <FDM/flight.hxx>
class FGExternalNet: public FGInterface {
int data_in_port;
int data_out_port;
int cmd_port;
- string fdm_host;
+ std::string fdm_host;
- netSocket data_client;
- netSocket data_server;
+ simgear::Socket data_client;
+ simgear::Socket data_server;
bool valid;
public:
// Constructor
- FGExternalNet( double dt, string host, int dop, int dip, int cp );
+ FGExternalNet( double dt, std::string host, int dop, int dip, int cp );
// Destructor
~FGExternalNet();