]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/JSBSim/FGConfigFile.h
Fix stall widths for the "auxilliary" (reverse flow) stalls so they
[flightgear.git] / src / FDM / JSBSim / FGConfigFile.h
index 5a458bea9137cb35dc9b970e0c87f7d3dba95b0d..d4d89422ade45af9bf98bb9689db558946b2b6d4 100644 (file)
@@ -52,20 +52,25 @@ INCLUDES
    SG_USING_STD(ios);
    SG_USING_STD(cout);
 #else
-#  include <fstream>
-#  include <iostream>
 #  include <string>
-   using std::string;
-   using std::ostream;
-   using std::istream;
-   using std::ifstream;
-   using std::ios;
-   using std::cerr;
-   using std::endl;
-   using std::cout;
+#  if defined(sgi) && !defined(__GNUC__) && (_COMPILER_VERSION < 740)
+#    include <fstream.h>
+#    include <iostream.h>
+#  else
+#    include <fstream>
+#    include <iostream>
+     using std::ostream;
+     using std::istream;
+     using std::ios;
+     using std::cerr;
+     using std::cout;
+     using std::ifstream;
+     using std::endl;
+#  endif
+    using std::string;
 #endif
 
-#include "FGDefs.h"
+#include "FGJSBBase.h"
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 DEFINITIONS
@@ -77,9 +82,7 @@ DEFINITIONS
 FORWARD DECLARATIONS
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
+namespace JSBSim {
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DOCUMENTATION
@@ -89,14 +92,13 @@ CLASS DOCUMENTATION
     JSBSim config files are in XML format.
     @author Jon S. Berndt
     @version $Id$
-    @see -
 */
 
 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 CLASS DECLARATION
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
 
-class FGConfigFile
+class FGConfigFile : public FGJSBBase
 {
 public:
   /** Constructor
@@ -105,28 +107,41 @@ public:
   /// Destructor
   ~FGConfigFile();
 
-  string GetLine(void);
+  /** Returns the next line from the currently open config file.
+      Comments are bypassed and ignored.
+      @return the next valid line from the config file OR "EOF" if end of file is
+      reached.*/
   string GetNextConfigLine(void);
-  string GetValue(string);
+  
+  string GetCurrentLine(void) { return CurrentLine; }
+
+  /** Returns the value of the tag supplied.
+      @param tag the tag for the value that is desired.
+      @return tthe value of the tag supplied.*/
+  string GetValue(string tag);
+
   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>>(float&);
   FGConfigFile& operator>>(int&);
   FGConfigFile& operator>>(string&);
-  FGConfigFile& operator>>(eParam&);
   void ResetLineIndexToZero(void);
 
 private:
   ifstream cfgfile;
   string   CurrentLine;
+  string   CommentString;
+  string   LineComment;
   bool     CommentsOn;
   bool     Opened;
-  unsigned int      CurrentIndex;
-  void Debug(void);
-};
+  unsigned int CurrentIndex;
+  string GetLine(void);
 
+  void Debug(int from);
+};
+}
 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 #endif