1
0
Fork 0
flightgear/src/Main/logger.hxx
david 71f08e795d Patches from Erik Hofman for SGI compatibility:
Some more cmall changes to the SimGear header files and removed the
SG_HAVE_NATIVE_SGI_COMPILERS dependancies from FlightGear.

I've added a seperate JSBSim patch for the JSBSim source tree.
2002-12-31 18:26:02 +00:00

66 lines
1.1 KiB
C++

// logger.hxx - log properties.
// Written by David Megginson, started 2002.
//
// This file is in the Public Domain, and comes with no warranty.
#ifndef __LOGGER_HXX
#define __LOGGER_HXX 1
#ifndef __cplusplus
# error This library requires C++
#endif
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <iostream>
#include <vector>
#include <simgear/compiler.h>
#include <simgear/debug/logstream.hxx>
#include <simgear/misc/exception.hxx>
#include <simgear/misc/props.hxx>
SG_USING_STD(ostream);
SG_USING_STD(vector);
#include "fgfs.hxx"
/**
* Log any property values to any number of CSV files.
*/
class FGLogger : public FGSubsystem
{
public:
FGLogger ();
virtual ~FGLogger ();
// Implementation of FGSubsystem
virtual void init ();
virtual void bind ();
virtual void unbind ();
virtual void update (double dt);
private:
/**
* A single instance of a log file (the logger can contain many).
*/
struct Log {
Log ();
virtual ~Log ();
vector<SGPropertyNode *> nodes;
ostream * output;
long interval_ms;
double last_time_ms;
char delimiter;
};
vector<Log> _logs;
};
#endif // __LOGGER_HXX