22#ifndef QTPDCOM_SCALARSUBSCRIBER_H
23#define QTPDCOM_SCALARSUBSCRIBER_H
28#include <pdcom5/Variable.h>
29#include <pdcom5/Subscription.h>
49 const PdCom::Selector &selector = {},
62 PdCom::Process *process,
64 const PdCom::Selector &selector = {},
74 bool hasVariable()
const;
76 virtual void newValues(std::chrono::nanoseconds) = 0;
77 virtual void stateChange(PdCom::Subscription::State);
79 template <
class T>
void writeValue(T);
81 double getFilterConstant()
const;
83 PdCom::Variable getVariable()
const;
84 const void *getData()
const;
90 const PdCom::Selector &getSelector()
const;
94 std::unique_ptr<Impl>
impl;
110 qWarning() <<
"ScalarSubscriber::writeValue(): Not subscribed!";
115 qWarning() <<
"Avoiding division by zero scale.";
#define QTPDCOM_PUBLIC
Definition: Export.h:30
Definition: ScalarSubscriber.cpp:36
Subscriber of a single scalar value.
Definition: ScalarSubscriber.h:40
ScalarSubscriber(const ScalarSubscriber &)
double offset
Definition: ScalarSubscriber.h:88
PdCom::Variable getVariable() const
Definition: ScalarSubscriber.cpp:374
std::unique_ptr< Impl > impl
Definition: ScalarSubscriber.h:94
virtual void newValues(std::chrono::nanoseconds)=0
const PdCom::Selector & getSelector() const
Definition: ScalarSubscriber.cpp:398
void writeValue(T)
Write a value to the process.
Definition: ScalarSubscriber.h:107
bool hasVariable() const
Subscription active.
Definition: ScalarSubscriber.cpp:353
double scale
Definition: ScalarSubscriber.h:87
Transmission mode for subscriptions.
Definition: Transmission.h:78
constexpr struct QtPdCom::event_mode_tag event_mode