diff --git a/platform/qt/qsacnnode.cpp b/platform/qt/qsacnnode.cpp index bba288a..d042710 100644 --- a/platform/qt/qsacnnode.cpp +++ b/platform/qt/qsacnnode.cpp @@ -78,3 +78,20 @@ void QSacnNode::udpReceive() } +void QSacnNode::rlpSend(const ACN::PDU::Stream stream, + const ACN::SDT::UDP::ipAddress& ip) +{ + QHostAddress addr; + switch (ip.type) { + case ACN::SDT::SDT_ADDR_IPV4: + addr = QHostAddress(ip.address.ipv4.value); + break; + case ACN::SDT::SDT_ADDR_IPV6: + return; + default: + return; + } + + writeDatagram(reinterpret_cast(stream->base()), stream->size(), + addr, ip.port); +} diff --git a/platform/qt/qsacnnode.h b/platform/qt/qsacnnode.h index ef02901..edc40c4 100644 --- a/platform/qt/qsacnnode.h +++ b/platform/qt/qsacnnode.h @@ -22,9 +22,14 @@ public: explicit QSacnNode(QObject *parent = nullptr, QUuid = QUuid::createUuid()); QSacnUniverse * universe(const uint16_t u) {return universes_.value(u); } + // rlp component + void rlpSend(const ACN::PDU::Stream, const ACN::SDT::UDP::ipAddress&) override; + // reciever - virtual void subscribe(const uint16_t universe = 1); - virtual void unsubscribe(const uint16_t); + void subscribe(const uint16_t universe = 1) override; + void unsubscribe(const uint16_t) override; + + signals: void foundUniverse(