LRAUV  revA
UniversalDataWriter.h
Go to the documentation of this file.
1 
10 #ifndef UNIVERSALDATAWRITER_H_
11 #define UNIVERSALDATAWRITER_H_
12 
13 #include "data/BlobWriter.h"
14 #include "data/DataWriter.h"
15 
17 
25 {
26 public:
28  DataElement& element,
29  UniversalDataElement* universal,
30  Logger::TimePrecisionType timePrecision );
31  virtual ~UniversalDataWriter();
32 
37  virtual bool writeWithAccuracy( const Unit& unit, const unsigned char value, const float accuracy, const Timestamp& timestamp = Timestamp::NOT_SET_TIME );
38  virtual bool writeWithAccuracy( const Unit& unit, const double value, const float accuracy, const Timestamp& timestamp = Timestamp::NOT_SET_TIME );
39  virtual bool writeWithAccuracy( const Unit& unit, const int value, const float accuracy, const Timestamp& timestamp = Timestamp::NOT_SET_TIME );
40  virtual bool writeWithAccuracy( const DataValue& value, const float accuracy, const Timestamp& timestamp = Timestamp::NOT_SET_TIME );
41 
42  // Set accuracy separately
43  virtual bool setAccuracy( const Unit& unit, const float value );
44 
47  virtual float getAccuracy( const Unit& unit );
48 
50  bool isAnyDataRequested();
51 
52 protected:
53 };
54 
56 {
57 
58 public:
59 
60  virtual ~UniversalBlobWriter() {}
61 
62  // Re-implement abstract method from AbstractBlobWriter
63  virtual bool write( const DataValue& value, const Timestamp& timestamp )
64  {
65  return UniversalDataWriter::write( value, timestamp );
66  }
67 
68  // Re-implement abstract method from AbstractBlobWriter
69  virtual const ElementURI& getUri( void ) const
70  {
72  }
73 
74 protected:
75 
76  friend class Component;
77 
79  DataElement& element,
80  UniversalDataElement* universal,
81  Logger::TimePrecisionType timePrecisionType )
82  : UniversalDataWriter( owner, element, universal, timePrecisionType ),
84  {}
85 
86 
87 
88 };
89 
90 
91 #endif /*UNIVERSALDATAWRITER_H_*/
virtual bool setAccuracy(const Unit &unit, const float value)
Set accuracy function.
Definition: UniversalDataWriter.cpp:51
UniversalDataWriter(Component *owner, DataElement &element, UniversalDataElement *universal, Logger::TimePrecisionType timePrecision)
Definition: UniversalDataWriter.cpp:15
virtual bool writeWithAccuracy(const Unit &unit, const unsigned char value, const float accuracy, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
Sets the Component's DataValue, with precision and an optional timestamp.
Definition: UniversalDataWriter.cpp:29
Implementation of a DataElement as a "UniversalDataElement".
Definition: UniversalDataElement.h:29
virtual bool write(const DataValue &value, const Timestamp &timestamp)
Definition: UniversalDataWriter.h:63
UniversalBlobWriter(Component *owner, DataElement &element, UniversalDataElement *universal, Logger::TimePrecisionType timePrecisionType)
Definition: UniversalDataWriter.h:78
virtual bool write(const Unit &unit, const unsigned char value, const Timestamp &timestamp=Timestamp::NOT_SET_TIME)
Sets the Component's DataValue, with an optional timestamp.
Definition: DataWriter.cpp:71
virtual float getAccuracy(const Unit &unit)
Get accuracy function For recalling the current accuracy...
Definition: UniversalDataWriter.cpp:58
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
bool isAnyDataRequested()
Returns true if one of the registered readers is requesting data.
Definition: UniversalDataWriter.cpp:64
virtual ~UniversalDataWriter()
Definition: UniversalDataWriter.cpp:23
virtual const ElementURI & getUri(void) const
Definition: DataAccessor.cpp:49
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
virtual const ElementURI & getUri(void) const
Definition: UniversalDataWriter.h:69
static const Timestamp NOT_SET_TIME
Constant value to represent "no time".
Definition: Timestamp.h:37
Abstract Base class for software components.
Definition: Component.h:53
TimePrecisionType
Definition: Logger.h:37
Definition: UniversalDataWriter.h:55
Definition: BlobWriter.h:21
Contains the DataWriter class definition.
Code unit that represents a unique name for a DataElement.
Definition: ElementURI.h:27
virtual ~UniversalBlobWriter()
Definition: UniversalDataWriter.h:60
Code that represents an engineering unit.
Definition: Unit.h:24
Contains the BlobWriter class definition.
Represents absolute times.
Definition: Timestamp.h:31
Abstact base class for one "element" of the Slate.
Definition: DataElement.h:37