]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGConfigFile.h
Initial revision.
[flightgear.git] / src / FDM / JSBSim / FGConfigFile.h
index f9106a2ed8dfeb3b2e28417f70c134fbe33369b1..d4144b5618ad25cb1cb078af9693fe959e06195e 100644 (file)
@@ -40,26 +40,45 @@ INCLUDES
 
 #ifdef FGFS
 #  include <simgear/compiler.h>
-#  ifdef FG_HAVE_STD_INCLUDES
-#    include <fstream>
-#  else
-#    include <fstream.h>
+#  include STL_STRING
+#  include STL_FSTREAM
+#  include STL_IOSTREAM
+   SG_USING_STD(string);
+#  if !defined(SG_HAVE_NATIVE_SGI_COMPILERS)
+     SG_USING_STD(ostream);
+     SG_USING_STD(istream);
+     SG_USING_STD(ifstream);
+     SG_USING_STD(cerr);
+     SG_USING_STD(endl);
+     SG_USING_STD(ios);
+     SG_USING_STD(cout);
 #  endif
 #else
-#  include <fstream>
+#  include <string>
+#  if defined(sgi) && !defined(__GNUC__)
+#    include <fstream.h>
+#    include <iostream.h>
+#  else
+#    include <fstream>
+#    include <iostream>
+     using std::ostream;
+     using std::istream;
+     using std::ifstream;
+     using std::ios;
+     using std::cerr;
+     using std::endl;
+     using std::cout;
+#  endif
+    using std::string;
 #endif
 
-#include <string>
-#include "FGDefs.h"
+#include "FGJSBBase.h"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 DEFINITIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-#define ID_CONFIGFILE "$Header"
-
-using std::string;
-using std::ifstream;
+#define ID_CONFIGFILE "$Id$"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 FORWARD DECLARATIONS
@@ -84,37 +103,40 @@ CLASS DOCUMENTATION
 CLASS DECLARATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-class FGConfigFile
+class FGConfigFile : public FGJSBBase
 {
 public:
   /** Constructor
       @param Filename the name of the config file to be read. */
   FGConfigFile(string Filename);
   /// Destructor
-  ~FGConfigFile(void);
+  ~FGConfigFile();
 
   string GetLine(void);
   string GetNextConfigLine(void);
   string GetValue(string);
   string GetValue(void);
-  bool IsCommentLine(void);
+  string GetCommentString(void) {return CommentString;}
+  string GetLineComment(void) {return LineComment;}
   bool IsOpen(void) {return Opened;}
+//  FGConfigFile& operator>>(double&);
   FGConfigFile& operator>>(double&);
-  FGConfigFile& operator>>(float&);
   FGConfigFile& operator>>(int&);
   FGConfigFile& operator>>(string&);
   FGConfigFile& operator>>(eParam&);
   void ResetLineIndexToZero(void);
 
-protected:
-
 private:
   ifstream cfgfile;
   string   CurrentLine;
+  string   CommentString;
+  string   LineComment;
   bool     CommentsOn;
   bool     Opened;
   unsigned int      CurrentIndex;
+  void Debug(int from);
 };
 
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 #endif
+