LRAUV  revA
LogWriter Class Referenceabstract

Base class for a generalized set of "log data destinations," including to files (text or binary), over communications links, etc. More...

#include <LogWriter.h>

Inheritance diagram for LogWriter:
Collaboration diagram for LogWriter:

Public Types

enum  ServiceType {
  NO_SERVICE = -1, SERVICE_COURIER, SERVICE_EXPRESS, SERVICE_PRIORITY,
  SERVICE_NORMAL, SERVICE_BULK, SERVICE_COUNT, SERVICE_MULTI
}
 

Public Member Functions

virtual ~LogWriter ()
 Destructor. More...
 
virtual unsigned int writeHeader ()
 Write the log header, if any. More...
 
virtual void setOutStream (OutStream &outStream)
 Sets the OutStream. More...
 
virtual bool isValid ()
 Return true if logStream_ is available. More...
 
virtual unsigned int write (const LogEntry *entry, const Unit *unit=NULL)=0
 Write the given LogEntry - should lock the writeMutex_. More...
 
virtual void endCycle ()
 Do what needs to be done at the end of the cycle. More...
 
virtual unsigned int writeFooter ()
 Write the log footer, if any. More...
 
virtual void config (Logger &logger)
 Configure from a config file. More...
 
virtual void resetInputs ()
 Reset cached input settings. More...
 
void addParent ()
 
void removeParent ()
 
int getParentCount ()
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual bool isActive ()
 
virtual void lockWrites ()
 
virtual void unlockWrites ()
 

Static Public Member Functions

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

static const char *const SERVICE_TYPE_STRS [SERVICE_COUNT]
 
static size_t const SERVICE_TYPE_STRLEN [SERVICE_COUNT]
 

Protected Member Functions

 LogWriter ()
 Protected constructor for pure virtual class. More...
 
 LogWriter (OutStream &outStream)
 Protected constructor for pure virtual class. More...
 

Protected Attributes

OutStreamlogStream_
 Stores an OutStream. More...
 
bool wroteHeader_
 
bool wroteFooter_
 
Mutex writeMutex_
 
int parentCount_
 
bool active_
 

Private Member Functions

 LogWriter (const LogWriter &old)
 

Detailed Description

Base class for a generalized set of "log data destinations," including to files (text or binary), over communications links, etc.

Constructor & Destructor Documentation

LogWriter::~LogWriter ( )
virtual

Destructor.

References writeFooter(), and wroteFooter_.

LogWriter::LogWriter ( )
protected

Protected constructor for pure virtual class.

Constructor.

LogWriter::LogWriter ( OutStream outStream)
protected

Protected constructor for pure virtual class.

Constructor.

LogWriter::LogWriter ( const LogWriter old)
private

Member Function Documentation

virtual void LogWriter::activate ( )
inlinevirtual

References active_.

virtual void LogWriter::config ( Logger logger)
inlinevirtual
virtual void LogWriter::deactivate ( )
inlinevirtual

References active_.

virtual bool LogWriter::isActive ( void  )
inlinevirtual
bool LogWriter::isValid ( void  )
virtual
virtual void LogWriter::lockWrites ( )
inlinevirtual
virtual void LogWriter::resetInputs ( )
inlinevirtual
void LogWriter::setOutStream ( OutStream outStream)
virtual

Sets the OutStream.

References logStream_.

Referenced by FileLogWriter::FileLogWriter().

LogWriter::ServiceType LogWriter::Str2ServiceType ( const char *const  serviceTypeStr,
int  len = -1 
)
static
virtual void LogWriter::unlockWrites ( )
inlinevirtual

Member Data Documentation

bool LogWriter::active_
protected

Referenced by activate(), deactivate(), and isActive().

int LogWriter::parentCount_
protected
const size_t LogWriter::SERVICE_TYPE_STRLEN
static
Initial value:
=
{
7,
7,
8,
6,
4,
}

Referenced by ServiceType2Strlen(), and Str2ServiceType().

const char *const LogWriter::SERVICE_TYPE_STRS
static
Initial value:
=
{
"Courier",
"Express",
"Priority",
"Normal",
"Bulk",
}

Referenced by ServiceType2Str(), and Str2ServiceType().


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