22 #ifndef QTPDCOM_SCALARVARIABLE_H 23 #define QTPDCOM_SCALARVARIABLE_H 43 using QObject::QObject;
56 typename std::enable_if<std::is_arithmetic<T>::value,
void>::type
59 PdCom::details::copyData(
61 PdCom::details::TypeInfoTraits<T>::type_info.type,
63 getVariable().getTypeInfo().type,
86 std::chrono::nanoseconds
getMTime()
const;
96 void newValues(std::chrono::nanoseconds)
override;
170 writeValue(value + 1);
183 newValue = newValue * scale + offset;
184 mTime = std::chrono::nanoseconds(ts);
186 if (newValue != value || !dataPresent) {
Exception(const QString &msg)
Constructor.
Definition: ScalarVariable.h:49
Abstract Scalar Value.
Definition: ScalarVariable.h:36
T getValue() const
Definition: ScalarVariable.h:146
virtual ~ScalarVariable()
Destructor.
Definition: ScalarVariable.h:119
Definition: BroadcastModel.h:32
QString msg
Exception message.
Definition: ScalarVariable.h:52
void newValues(std::chrono::nanoseconds) override
This virtual method is called if the process variable's value changed.
Definition: ScalarVariable.h:178
std::chrono::nanoseconds mTime
Modification Time of Current value.
Definition: ScalarVariable.h:92
T value
Current value.
Definition: ScalarVariable.h:90
Subscriber of a single scalar value.
Definition: ScalarSubscriber.h:39
bool hasData() const
Definition: ScalarVariable.h:136
#define QTPDCOM_PUBLIC
Definition: Export.h:30
void inc()
Increments the current value and writes it to the process.
Definition: ScalarVariable.h:168
void clearData()
Definition: ScalarVariable.h:124
Scalar Value Template.
Definition: ScalarVariable.h:76
ScalarVariable< double > DoubleVariable
Definition: ScalarVariable.h:103
ScalarVariable< int > IntVariable
Definition: ScalarVariable.h:102
bool dataPresent
There is a process value to display.
Definition: ScalarVariable.h:93
ScalarVariable(QObject *parent=nullptr)
Constructor.
Definition: ScalarVariable.h:109
std::chrono::nanoseconds getMTime() const
Definition: ScalarVariable.h:157
Definition: ScalarVariable.h:45
ScalarVariable< bool > BoolVariable
Definition: ScalarVariable.h:101
std::enable_if< std::is_arithmetic< T >::value, void >::type copyData(T &dest) const
Definition: ScalarVariable.h:57