]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/input_output/FGfdmSocket.h
PAtch by Andreas Gaeb to eliminate NaN's in the location code
[flightgear.git] / src / FDM / JSBSim / input_output / FGfdmSocket.h
index c8f139103ebd8308ebfe481c38ff693dcd7eb487..7090c6fc288eb52d67c9225b50002c47f277b53d 100644 (file)
@@ -4,7 +4,7 @@
  Author:       Jon S. Berndt
  Date started: 11/08/99
 
- ------------- Copyright (C) 1999  Jon S. Berndt (jsb@hal-pc.org) -------------
+ ------------- Copyright (C) 1999  Jon S. Berndt (jon@jsbsim.org) -------------
 
  This program is free software; you can redistribute it and/or modify it under
  the terms of the GNU Lesser General Public License as published by the Free Software
@@ -39,16 +39,11 @@ SENTRY
 INCLUDES
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-#include <cstdio>
 #include <string>
-#include <iostream>
-#include <fstream>
+#include <sstream>
 #include <sys/types.h>
 #include "FGJSBBase.h"
 
-using std::cout;
-using std::endl;
-
 #if defined(_MSC_VER) || defined(__MINGW32__)
   #include <winsock.h>
   #include <io.h>
@@ -56,6 +51,7 @@ using std::endl;
   #include <unistd.h>
   #include <sys/socket.h>
   #include <netinet/in.h>
+  #include <arpa/inet.h>
   #include <netdb.h>
   #include <errno.h>
   #include <sys/ioctl.h>
@@ -69,7 +65,7 @@ using std::endl;
 DEFINITIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-#define ID_FDMSOCKET "$Id$"
+#define ID_FDMSOCKET "$Id: FGfdmSocket.h,v 1.20 2010/10/15 11:30:28 jberndt Exp $"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 FORWARD DECLARATIONS
@@ -90,39 +86,35 @@ CLASS DOCUMENTATION
 CLASS DECLARATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-using std::string;
-using std::cerr;
-
 class FGfdmSocket : public FGJSBBase
 {
 public:
-  FGfdmSocket(string, int);
-  FGfdmSocket(string, int, int);
+  FGfdmSocket(const std::string&, int);
+  FGfdmSocket(const std::string&, int, int);
   FGfdmSocket(int);
   ~FGfdmSocket();
   void Send(void);
-  void Send(char *data, int length);
+  void Send(const char *data, int length);
 
-  string Receive(void);
-  int Reply(string text);
-  void Append(const string s) {Append(s.c_str());}
+  std::string Receive(void);
+  int Reply(const std::string& text);
+  void Append(const std::string& s) {Append(s.c_str());}
   void Append(const char*);
   void Append(double);
   void Append(long);
   void Clear(void);
-  void Clear(string s);
+  void Clear(const std::string& s);
   void Close(void);
   bool GetConnectStatus(void) {return connected;}
 
-  enum {ptUDP, ptTCP};
+  enum ProtocolType {ptUDP, ptTCP} ;
 
 private:
   int sckt;
   int sckt_in;
-  int size;
   struct sockaddr_in scktName;
   struct hostent *host;
-  string buffer;
+  std::ostringstream buffer;
   bool connected;
   void Debug(int from);
 };