EPICS ARCHIVER V4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | List of all members
SpreadsheetReader Class Reference

Reads data from storage, formatted as spreadsheet. More...

#include <SpreadsheetReader.h>

Public Member Functions

 SpreadsheetReader (Index &index, ReaderFactory::How how=ReaderFactory::Raw, double delta=0.0)
 Create the SpreadsheetReader.
 
virtual bool find (const stdVector< stdString > &channel_names, const epicsTime *start=0)
 Locate initial values. More...
 
bool found (size_t i) const
 Was this channel found? More...
 
virtual const epicsTime & getTime () const
 Time stamp for the current slice of data.
 
virtual size_t getNum () const
 Number of entries in the following arrays. More...
 
virtual const stdString & getName (size_t i) const
 Returns name of channel i=0...getNum()-1.
 
virtual const RawValue::Dataget (size_t i) const
 Returns value of channel i=0...getNum()-1. More...
 
virtual DbrType getType (size_t i) const
 The dbr_time_xxx type. More...
 
virtual DbrCount getCount (size_t i) const
 array size. More...
 
virtual const CtrlInfogetInfo (size_t i) const
 The meta information for the channel. More...
 
bool next ()
 Get the next time slice. More...
 

Detailed Description

Reads data from storage, formatted as spreadsheet.

Based on several DataReader classes, which read a single channel, the SpreadsheetReader reads multiple channels, stepping through the values in time such that one can use them for spreadsheet-type output, one point in time per line.

Member Function Documentation

virtual bool SpreadsheetReader::find ( const stdVector< stdString > &  channel_names,
const epicsTime *  start = 0 
)
virtual

Locate initial values.

Position the reader on-or-before start time for all channels.

Parameters
channel_names,:List of channel names.
start,:start time or 0 for first value
Returns
Returns true if any of the channels was found. It's a severe error to invoke any of the following after find() returns false.
Exceptions
GenericExceptionon internal errors.
See Also
found()
bool SpreadsheetReader::found ( size_t  i) const
inline

Was this channel found?

Only valid after find().

Returns
Returns true if this channel was found.
See Also
find().
virtual const RawValue::Data* SpreadsheetReader::get ( size_t  i) const
virtual

Returns value of channel i=0...getNum()-1.

The result might be 0 in case a channel does not have a valid value for the current time slice.

virtual DbrCount SpreadsheetReader::getCount ( size_t  i) const
virtual

array size.

Exceptions
GenericExceptionwhen channel was not found.
See Also
found()
virtual const CtrlInfo& SpreadsheetReader::getInfo ( size_t  i) const
virtual

The meta information for the channel.

Exceptions
GenericExceptionwhen channel was not found.
See Also
found()
virtual size_t SpreadsheetReader::getNum ( ) const
virtual

Number of entries in the following arrays.

Should match the size of the channel_names array passed to find(). It is a severe error to invoke getName(), getValue() etc. with an index outside of 0...getNum()-1.

virtual DbrType SpreadsheetReader::getType ( size_t  i) const
virtual

The dbr_time_xxx type.

Exceptions
GenericExceptionwhen channel was not found.
See Also
found()
bool SpreadsheetReader::next ( )

Get the next time slice.

Returns
Returns true if any of the values are valid.

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