22#ifndef QTPDCOM_TRANSMISSION_H
23#define QTPDCOM_TRANSMISSION_H
25#include <pdcom5/Subscriber.h>
54 template <
typename T,
typename R>
55 constexpr Poll(std::chrono::duration<T, R> d):
57 std::chrono::duration_cast<std::chrono::duration<double>>(
69 static constexpr std::chrono::duration<double>
73 ?
throw std::invalid_argument(
74 "Poll period must be greater than zero")
91 template <
typename T,
typename R>
95 std::chrono::duration_cast<std::chrono::duration<double>>(
135 PdCom::Transmission toPdCom()
const;
136 QString toString()
const;
145 return d <= 0 ?
throw std::invalid_argument(
146 "Interval must be greater than zero")
#define QTPDCOM_PUBLIC
Definition Export.h:30
std::chrono::duration< double > interval_
Definition Transmission.h:67
static constexpr std::chrono::duration< double > checkInterval(std::chrono::duration< double > d)
Definition Transmission.h:70
constexpr std::chrono::duration< double > getInterval() const
Definition Transmission.h:61
constexpr Poll(std::chrono::duration< T, R > d)
Definition Transmission.h:55
constexpr bool isContinuous() const
Definition Transmission.h:125
constexpr Transmission(manual_poll_mode_tag) noexcept
Definition Transmission.h:105
constexpr Transmission(std::chrono::duration< T, R > d)
Definition Transmission.h:92
bool operator==(const Transmission &o) const noexcept
Definition Transmission.h:120
constexpr Transmission(poll_mode_tag, double interval)
Definition Transmission.h:110
constexpr bool isPoll() const
Definition Transmission.h:130
static constexpr double checkInterval(double d)
Definition Transmission.h:143
constexpr Transmission(event_mode_tag) noexcept
Definition Transmission.h:100
constexpr double getInterval() const noexcept
Definition Transmission.h:89
constexpr Transmission(const Poll &poll)
Definition Transmission.h:115
enum QtPdCom::Transmission::@263042234142150336201206021065304277335211376367 mode_
double interval_
Definition Transmission.h:141
@ Poll
Definition Transmission.h:139
@ Event
Definition Transmission.h:139
@ Continuous
Definition Transmission.h:139
@ ManualPoll
Definition Transmission.h:139
Definition BroadcastModel.h:32
constexpr struct QtPdCom::manual_poll_mode_tag manual_poll_mode
constexpr struct QtPdCom::poll_mode_tag poll_mode
constexpr struct QtPdCom::event_mode_tag event_mode
Tag for event-based subscription.
Definition Transmission.h:38
Tag for poll-based subscription without timer.
Definition Transmission.h:48
Tag for poll-based subscription with timer.
Definition Transmission.h:43