LRAUV  revA
FilterLogWriter Class Reference

Defines a LogWriter that generates a text table of values. More...

#include <FilterLogWriter.h>

Inheritance diagram for FilterLogWriter:
Collaboration diagram for FilterLogWriter:

Public Member Functions

 FilterLogWriter (LogWriter *outputTo, int varCount, char **varList, char **unitList, bool passCycleStarts, int attCount=0, char **attList=NULL)
 Constructor. More...
 
virtual ~FilterLogWriter ()
 Destructor. More...
 
virtual unsigned int writeHeader ()
 Write header – passed to outputTo_. More...
 
virtual unsigned int write (const LogEntry *entry, const Unit *unit=NULL)
 Write an entry to the text log. More...
 
virtual void endCycle ()
 Do what needs to be done at the end of the cycle. More...
 
virtual void config (Logger &logger)
 Configure from a config file. More...
 
virtual unsigned int writeFooter ()
 Write footer – passed to outputTo_. More...
 
- Public Member Functions inherited from LogWriter
virtual ~LogWriter ()
 Destructor. More...
 
virtual void setOutStream (OutStream &outStream)
 Sets the OutStream. More...
 
virtual bool isValid ()
 Return true if logStream_ is available. More...
 
void addParent ()
 
void removeParent ()
 
int getParentCount ()
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual bool isActive ()
 
virtual void lockWrites ()
 
virtual void unlockWrites ()
 

Protected Member Functions

virtual void resetInputs ()
 Reset cached input settings. More...
 
void initializeFilterLogWriter ()
 
virtual unsigned int writeCycleStart (const EventEntry *eventEntry)
 
virtual unsigned int writeData (const DataEntry *dataEntry, int index, const Unit *unit=NULL)
 
virtual unsigned int writeAtt (const DataEntry *dataEntry, int index, const Unit *unit=NULL)
 
- Protected Member Functions inherited from LogWriter
 LogWriter ()
 Protected constructor for pure virtual class. More...
 
 LogWriter (OutStream &outStream)
 Protected constructor for pure virtual class. More...
 

Protected Attributes

LogWriteroutputTo_
 
int varCount_
 
char ** varList_
 
char ** unitList_
 
const Unit ** units_
 
bool passCycleStarts_
 
int attCount_
 
char ** attList_
 
unsigned short * uriCodes_
 
int * codeLookup_
 
unsigned short * attUriCodes_
 
int * attCodeLookup_
 
bool * isUniversal_
 
Timestamp lastTime_
 
bool initializedFilterLogWriter_
 
unsigned int slateElementURICount_
 
- Protected Attributes inherited from LogWriter
OutStreamlogStream_
 Stores an OutStream. More...
 
bool wroteHeader_
 
bool wroteFooter_
 
Mutex writeMutex_
 
int parentCount_
 
bool active_
 

Private Member Functions

 FilterLogWriter (const FilterLogWriter &old)
 

Additional Inherited Members

- Public Types inherited from LogWriter
enum  ServiceType {
  NO_SERVICE = -1, SERVICE_COURIER, SERVICE_EXPRESS, SERVICE_PRIORITY,
  SERVICE_NORMAL, SERVICE_BULK, SERVICE_COUNT, SERVICE_MULTI
}
 
- Static Public Member Functions inherited from LogWriter
static ServiceType Str2ServiceType (const char *const serviceTypeStr, int len=-1)
 
static const char * ServiceType2Str (LogWriter::ServiceType serviceType)
 
static size_t ServiceType2Strlen (LogWriter::ServiceType serviceType)
 
- Static Public Attributes inherited from LogWriter
static const char *const SERVICE_TYPE_STRS [SERVICE_COUNT]
 
static size_t const SERVICE_TYPE_STRLEN [SERVICE_COUNT]
 

Detailed Description

Defines a LogWriter that generates a text table of values.

A list of variable names is supplied to the constructor. If any of these variables change their value in a computation cycle, then a new line is added to the text table listing the current value of every variable.

See FileLogWriter for output to the filesystem.

Constructor & Destructor Documentation

FilterLogWriter::FilterLogWriter ( LogWriter outputTo,
int  varCount,
char **  varList,
char **  unitList,
bool  passCycleStarts,
int  attCount = 0,
char **  attList = NULL 
)

Constructor.

Streamless Constructor.

References LogWriter::addParent(), and resetInputs().

FilterLogWriter::~FilterLogWriter ( )
virtual
FilterLogWriter::FilterLogWriter ( const FilterLogWriter old)
private

Member Function Documentation

virtual void FilterLogWriter::config ( Logger logger)
inlinevirtual

Configure from a config file.

Reimplemented from LogWriter.

References LogWriter::config(), and outputTo_.

virtual void FilterLogWriter::endCycle ( )
inlinevirtual

Do what needs to be done at the end of the cycle.

Reimplemented from LogWriter.

References LogWriter::endCycle(), and outputTo_.

void FilterLogWriter::resetInputs ( )
protectedvirtual
unsigned int FilterLogWriter::writeAtt ( const DataEntry dataEntry,
int  index,
const Unit unit = NULL 
)
protectedvirtual

Reimplemented in HDF5LogWriter, NetCdfLogWriter, and JsonLogWriter.

References writeData().

Referenced by write().

unsigned int FilterLogWriter::writeCycleStart ( const EventEntry eventEntry)
protectedvirtual

References outputTo_, and LogWriter::write().

Referenced by write().

unsigned int FilterLogWriter::writeData ( const DataEntry dataEntry,
int  index,
const Unit unit = NULL 
)
protectedvirtual

Reimplemented in HDF5LogWriter, NetCdfLogWriter, and JsonLogWriter.

References outputTo_, and LogWriter::write().

Referenced by write(), and writeAtt().

unsigned int FilterLogWriter::writeFooter ( )
virtual

Write footer – passed to outputTo_.

Reimplemented from LogWriter.

Reimplemented in HDF5LogWriter, NetCdfLogWriter, and JsonLogWriter.

References outputTo_, and LogWriter::wroteFooter_.

unsigned int FilterLogWriter::writeHeader ( )
virtual

Write header – passed to outputTo_.

Reimplemented from LogWriter.

Reimplemented in HDF5LogWriter, NetCdfLogWriter, and JsonLogWriter.

References outputTo_.

Member Data Documentation

int* FilterLogWriter::attCodeLookup_
protected
char** FilterLogWriter::attList_
protected
int* FilterLogWriter::codeLookup_
protected
Timestamp FilterLogWriter::lastTime_
protected

Referenced by write().

bool FilterLogWriter::passCycleStarts_
protected

Referenced by write().

unsigned int FilterLogWriter::slateElementURICount_
protected
char** FilterLogWriter::unitList_
protected

The documentation for this class was generated from the following files: