LRAUV  revA
TableLogWriter.h
Go to the documentation of this file.
1 
11 #ifndef TABLELOGWRITER_H_
12 #define TABLELOGWRITER_H_
13 
14 #include "LogWriter.h"
15 
16 class DataEntry;
17 class ElementURI;
18 class OutStream;
19 class SyslogEntry;
20 
31 class TableLogWriter : public LogWriter
32 {
33 public:
35  TableLogWriter( int varCount, char** varList, char** unitList, bool interpolate );
36 
38  TableLogWriter( LogWriter* outputTo, int varCount, char** varList, char** unitList, bool interpolate );
39 
41  virtual ~TableLogWriter();
42 
44  virtual unsigned int write( const LogEntry *entry, const Unit* unit = NULL );
45 
46  virtual unsigned int writeHeader();
47 
48  virtual unsigned int writeAllInterpolated();
49 
50  virtual unsigned int writeFooter();
51 
53  virtual void resetInputs();
54 
55 protected:
56  // Note that the copy constructor below is private and not given a body.
57  // Any attempt to call it will return a compiler error.
58  TableLogWriter( const TableLogWriter& old ); // disallow copy constructor
59 
61 
62  virtual void clearRow();
63  virtual unsigned int writeRow();
64  virtual unsigned int writeSyslog( const SyslogEntry* syslogEntry );
65  virtual unsigned int writeToColumn( const DataEntry *dataEntry, const int column );
66 
67  const DataEntry** newDataEntryRow();
68  void deleteDataEntryRow( const DataEntry** dataEntryRow );
69  unsigned int writeInterpolated( const LogEntry *logEntry, const int column );
70  unsigned int writeDataEntryRow( unsigned int row );
71  DataEntry* interpolateDataEntry( const Timestamp& timestamp, const DataEntry* startEntry, const DataEntry* endEntry );
72  DataEntry* nanDataEntry( const Timestamp& timestamp, const DataEntry* origEntry );
73 
75  int varCount_;
76  char** varList_;
77  char** unitList_;
78  const Unit** units_;
79  unsigned short* uriCodes_;
80  bool* isUniversal_;
82 
87 
88  class True
89 {};
90 
92 
94 
96  unsigned int slateElementURICount_;
97 
99 
100  static True True_;
101 
102 };
103 
104 #endif /*TABLELOGWRITER_H_*/
FlexArray< const DataEntry ** > interpBuffer_
Definition: TableLogWriter.h:84
bool interpolate_
Definition: TableLogWriter.h:83
virtual unsigned int writeFooter()
Write the log footer, if any.
Definition: TableLogWriter.cpp:318
bool * isUniversal_
Definition: TableLogWriter.h:80
void initializeTableLogWriter()
Definition: TableLogWriter.cpp:98
Base class for a generalized set of "log data destinations," including to files (text or binary)...
Definition: LogWriter.h:25
Contains the LogWriter class definition.
unsigned int slateElementURICount_
Definition: TableLogWriter.h:96
bool initializedTableLogWriter_
Definition: TableLogWriter.h:95
char ** unitList_
Definition: TableLogWriter.h:77
const Unit ** units_
Definition: TableLogWriter.h:78
virtual ~TableLogWriter()
Destructor.
Definition: TableLogWriter.cpp:130
unsigned short * uriCodes_
Definition: TableLogWriter.h:79
char ** varList_
Definition: TableLogWriter.h:76
One "entry" in a LogQueue.
Definition: LogEntry.h:33
LogEntry with information specific to "Syslog"-like text logs.
Definition: SyslogEntry.h:54
void deleteDataEntryRow(const DataEntry **dataEntryRow)
Definition: TableLogWriter.cpp:178
static True True_
Definition: TableLogWriter.h:100
virtual void clearRow()
Definition: TableLogWriter.cpp:330
int * codeLookup_
Definition: TableLogWriter.h:81
int varCount_
Definition: TableLogWriter.h:75
Code unit that represents an atomic unit of data destined for writing in the log file.
Definition: DataEntry.h:43
virtual unsigned int writeAllInterpolated()
Definition: TableLogWriter.cpp:304
Defines a LogWriter that generates a text table of values.
Definition: TableLogWriter.h:31
virtual unsigned int writeSyslog(const SyslogEntry *syslogEntry)
Definition: TableLogWriter.cpp:346
FlexArray< SyslogEntry * > interpSyslogs_
Definition: TableLogWriter.h:85
unsigned int writeInterpolated(const LogEntry *logEntry, const int column)
Definition: TableLogWriter.cpp:366
FlexArray< Timestamp * > interpTimes_
Definition: TableLogWriter.h:86
virtual unsigned int write(const LogEntry *entry, const Unit *unit=NULL)
Write an entry to the text log.
Definition: TableLogWriter.cpp:198
unsigned int writeDataEntryRow(unsigned int row)
Definition: TableLogWriter.cpp:462
virtual unsigned int writeToColumn(const DataEntry *dataEntry, const int column)
Definition: TableLogWriter.cpp:356
const DataEntry ** newDataEntryRow()
Definition: TableLogWriter.cpp:168
Code unit that represents a unique name for a DataElement.
Definition: ElementURI.h:27
This is a very abstract class that can be implemented by classes that want to send stream output...
Definition: OutStream.h:41
bool deleteLists_
Definition: TableLogWriter.h:98
LogWriter * outputTo_
Definition: TableLogWriter.h:74
FlexArray< const True * > readerColumn_
Definition: TableLogWriter.h:91
Definition: TableLogWriter.h:88
virtual void resetInputs()
Reset cached input settings.
Definition: TableLogWriter.cpp:74
TableLogWriter(int varCount, char **varList, char **unitList, bool interpolate)
Constructor.
Definition: TableLogWriter.cpp:27
DataEntry * interpolateDataEntry(const Timestamp &timestamp, const DataEntry *startEntry, const DataEntry *endEntry)
Definition: TableLogWriter.cpp:496
Code that represents an engineering unit.
Definition: Unit.h:24
virtual unsigned int writeRow()
Definition: TableLogWriter.cpp:334
Represents absolute times.
Definition: Timestamp.h:31
virtual unsigned int writeHeader()
Write the log header, if any.
Definition: TableLogWriter.cpp:294
Timestamp lastTime_
Definition: TableLogWriter.h:93
DataEntry * nanDataEntry(const Timestamp &timestamp, const DataEntry *origEntry)
Definition: TableLogWriter.cpp:525