LRAUV  revA
AbstractBlobWriter Class Referenceabstract

#include <BlobWriter.h>

Inheritance diagram for AbstractBlobWriter:
Collaboration diagram for AbstractBlobWriter:

Public Member Functions

virtual ~AbstractBlobWriter ()
 A DataWriter for writing BlobValues, normally created via Component::newBlobWriter() See below for implementation in BlobWriter Also implemented in UniversalWriter::UniversalBlobWriter. More...
 
virtual bool write (const DataValue &value, const Timestamp &timestamp)=0
 
virtual const ElementURIgetUri (void) const =0
 
virtual bool writeBlob (const void *bytes, size_t elements, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Simply writes the binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T , size_t M>
bool write1DArray (const Unit &unit, T(&x)[M], const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes the array as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T >
bool write1DClass (const Unit &unit, I1D< T > &i1d, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes data from the class that implements as I1D a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T >
bool write1DPtr (const Unit &unit, const T *values, int m, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes data from the 1-d pointer as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T , size_t M, size_t N>
bool write2DArray (const Unit &unit, T(&x)[M][N], const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes the array as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T >
bool write2DClass (const Unit &unit, I2D< T > &i2d, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes data from the class that implements as I2D a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T >
bool write2DPtr (const Unit &unit, const T **values, int m, int n, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes data from the 2-d pointer as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T , size_t M, size_t N, size_t O>
bool write3DArray (const Unit &unit, T(&x)[M][N][O], const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes the array as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T >
bool write3DClass (const Unit &unit, I3D< T > &i3d, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes data from the class that implements as I3D a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 
template<typename T >
bool write3DPtr (const Unit &unit, const T ***values, int m, int n, int o, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
 Writes data from the 3-d pointer as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;. More...
 

Protected Member Functions

 AbstractBlobWriter (const ElementURI &elementUri)
 

Protected Attributes

BlobValue blobValue_
 

Private Member Functions

 AbstractBlobWriter ()
 
 AbstractBlobWriter (const AbstractBlobWriter &copyFrom)
 

Constructor & Destructor Documentation

AbstractBlobWriter::AbstractBlobWriter ( const ElementURI elementUri)
inlineprotected
AbstractBlobWriter::AbstractBlobWriter ( )
private
AbstractBlobWriter::AbstractBlobWriter ( const AbstractBlobWriter copyFrom)
private

Member Function Documentation

virtual const ElementURI& AbstractBlobWriter::getUri ( void  ) const
pure virtual
virtual bool AbstractBlobWriter::write ( const DataValue value,
const Timestamp timestamp 
)
pure virtual
template<typename T , size_t M>
bool AbstractBlobWriter::write1DArray ( const Unit unit,
T(&)  x[M],
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes the array as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References Str::cStr(), ElementURI::getDimension1(), getUri(), and write1DPtr().

Referenced by HFRadarCompactModelForecaster::publishForecast(), and HFRadarModelCalc::writeExpansionCoefficientsToSlate().

template<typename T >
bool AbstractBlobWriter::write1DClass ( const Unit unit,
I1D< T > &  i1d,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes data from the class that implements as I1D a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References I1D< T >::getM(), I1D< T >::getPtr1d(), and write1DPtr().

Referenced by NAL9602::needFix(), DAT::publishData(), Universal_Test::test1DUniversalBlobReadWrite(), DVL_micro::writeData(), Rowe_600LCM::writeData(), Tracking::writeData(), and Rowe_600::writeData().

template<typename T >
bool AbstractBlobWriter::write1DPtr ( const Unit unit,
const T *  values,
int  m,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes data from the 1-d pointer as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References blobValue_, Str::cStr(), ElementURI::getDimension1(), getUri(), BlobValue::setFrom(), and write().

Referenced by write1DArray(), and write1DClass().

template<typename T , size_t M, size_t N>
bool AbstractBlobWriter::write2DArray ( const Unit unit,
T(&)  x[M][N],
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes the array as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References blobValue_, Str::cStr(), ElementURI::getDimension1(), ElementURI::getDimension2(), getUri(), BlobValue::setFrom(), and write().

template<typename T >
bool AbstractBlobWriter::write2DClass ( const Unit unit,
I2D< T > &  i2d,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline
template<typename T >
bool AbstractBlobWriter::write2DPtr ( const Unit unit,
const T **  values,
int  m,
int  n,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes data from the 2-d pointer as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References blobValue_, Str::cStr(), ElementURI::getDimension1(), ElementURI::getDimension2(), getUri(), BlobValue::setFrom(), and write().

Referenced by write2DClass().

template<typename T , size_t M, size_t N, size_t O>
bool AbstractBlobWriter::write3DArray ( const Unit unit,
T(&)  x[M][N][O],
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes the array as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References blobValue_, Str::cStr(), ElementURI::getDimension1(), ElementURI::getDimension2(), ElementURI::getDimension3(), getUri(), BlobValue::setFrom(), and write().

template<typename T >
bool AbstractBlobWriter::write3DClass ( const Unit unit,
I3D< T > &  i3d,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes data from the class that implements as I3D a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References I3D< T >::getM(), I3D< T >::getN(), I3D< T >::getO(), I3D< T >::getPtr3d(), and write3DPtr().

Referenced by Universal_Test::test3DUniversalBlobReadWrite().

template<typename T >
bool AbstractBlobWriter::write3DPtr ( const Unit unit,
const T ***  values,
int  m,
int  n,
int  o,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inline

Writes data from the 3-d pointer as a binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References blobValue_, Str::cStr(), ElementURI::getDimension1(), ElementURI::getDimension2(), ElementURI::getDimension3(), getUri(), BlobValue::setFrom(), and write().

Referenced by write3DClass().

virtual bool AbstractBlobWriter::writeBlob ( const void *  bytes,
size_t  elements,
const Timestamp timestamp = Timestamp::NOT_SET_TIME 
)
inlinevirtual

Simply writes the binary blob ElementURI used to declare this DataWriter should have a BLOB TYPE;.

References blobValue_, BlobValue::setFromRaw(), and write().

Referenced by VemcoVR2C::runnable(), and Turbulence_NPS::writeData().

Member Data Documentation

BlobValue AbstractBlobWriter::blobValue_
protected

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