1
0
Fork 0
flightgear/src/Main/logger.hxx

53 lines
1,002 B
C++
Raw Normal View History

2002-03-12 16:29:00 +00:00
// 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
#include <iosfwd>
#include <vector>
2002-03-12 16:29:00 +00:00
#include <simgear/compiler.h>
#include <simgear/structure/subsystem_mgr.hxx>
#include <simgear/props/props.hxx>
2002-03-12 16:29:00 +00:00
/**
* Log any property values to any number of CSV files.
*/
class FGLogger : public SGSubsystem
2002-03-12 16:29:00 +00:00
{
public:
FGLogger ();
virtual ~FGLogger ();
// Implementation of SGSubsystem
2002-03-12 16:29:00 +00:00
virtual void init ();
virtual void reinit ();
2002-03-12 16:29:00 +00:00
virtual void bind ();
virtual void unbind ();
virtual void update (double dt);
2002-03-12 16:29:00 +00:00
private:
/**
* A single instance of a log file (the logger can contain many).
*/
struct Log {
Log ();
virtual ~Log ();
2008-06-02 21:09:10 +00:00
std::vector<SGPropertyNode_ptr> nodes;
std::ostream * output;
2002-03-12 16:29:00 +00:00
long interval_ms;
double last_time_ms;
char delimiter;
2002-03-12 16:29:00 +00:00
};
std::vector<Log *> _logs;
2002-03-12 16:29:00 +00:00
};
#endif // __LOGGER_HXX