22#ifndef QTPDCOM_SCALARVARIABLE_H
23#define QTPDCOM_SCALARVARIABLE_H
42 using QObject::QObject;
53 typename std::enable_if<std::is_arithmetic<T>::value,
void>::type
56 PdCom::details::copyData(
57 &dest, PdCom::details::TypeInfoTraits<T>::type_info.type,
59 getVariable().getTypeInfo().type, 1);
161inline std::chrono::nanoseconds
176 writeValue(value + 1);
190 newValue = newValue * scale + offset;
191 mTime = std::chrono::nanoseconds(ts);
193 if (newValue != value || !dataPresent) {
#define QTPDCOM_PUBLIC
Definition: Export.h:30
Abstract Scalar Value.
Definition: ScalarVariable.h:38
void valueChanged()
Emitted, when the value changes, or the variable is disconnected.
std::enable_if< std::is_arithmetic< T >::value, void >::type copyData(T &dest) const
Definition: ScalarVariable.h:54
Subscriber of a single scalar value.
Definition: ScalarSubscriber.h:40
Scalar Value Template.
Definition: ScalarVariable.h:74
void clearData()
Definition: ScalarVariable.h:126
std::chrono::nanoseconds mTime
Modification Time of Current value.
Definition: ScalarVariable.h:89
T value
Current value.
Definition: ScalarVariable.h:87
bool hasData() const
Definition: ScalarVariable.h:139
void newValues(std::chrono::nanoseconds) override
This virtual method is called by the ProcessVariable, if its value changes.
Definition: ScalarVariable.h:185
std::chrono::nanoseconds getMTime() const
Definition: ScalarVariable.h:162
virtual ~ScalarVariable()
Destructor.
Definition: ScalarVariable.h:119
bool dataPresent
There is a process value to display.
Definition: ScalarVariable.h:90
void inc()
Increments the current value and writes it to the process.
Definition: ScalarVariable.h:174
ScalarVariable(QObject *parent=nullptr)
Constructor.
Definition: ScalarVariable.h:107
T getValue() const
Definition: ScalarVariable.h:150
ScalarVariable< bool > BoolVariable
Definition: ScalarVariable.h:98
ScalarVariable< int > IntVariable
Definition: ScalarVariable.h:99
ScalarVariable< double > DoubleVariable
Definition: ScalarVariable.h:100
Definition: ScalarVariable.h:44
QString msg
Exception message.
Definition: ScalarVariable.h:49
Exception(const QString &msg)
Constructor.
Definition: ScalarVariable.h:47