# include STL_FSTREAM
# include STL_IOSTREAM
SG_USING_STD(string);
- 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);
+# 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 <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__)
+# 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 "FGDefs.h"
+#include "FGJSBBase.h"
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DEFINITIONS
JSBSim config files are in XML format.
@author Jon S. Berndt
@version $Id$
- @see -
+ @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGConfigFile.h?rev=HEAD&content-type=text/vnd.viewcvs-markup">
+ Header File </a>
+ @see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGConfigFile.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup">
+ Source File </a>
*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CLASS DECLARATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
-class FGConfigFile
+class FGConfigFile : public FGJSBBase
{
public:
/** Constructor
/// 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);
+
+ /** Returns the value of the tag supplied.
+ @param
+ @return */
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>>(float&);
FGConfigFile& operator>>(int&);
FGConfigFile& operator>>(string&);
FGConfigFile& operator>>(eParam&);
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);
};
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%