1
0
Fork 0

terminate and unsubscribe during destruction

This commit is contained in:
Kevin Matz 2021-09-03 17:35:41 -04:00
parent 3ea916d61e
commit 76582b1cc4
4 changed files with 21 additions and 2 deletions

View File

@ -23,6 +23,21 @@ QSacnNode::QSacnNode(QObject *parent, QUuid cid)
}
/**
* @brief QSacnNode::~QSacnNode
*/
QSacnNode::~QSacnNode()
{
auto rx_list = rx_universes.keys();
for (const auto & num : rx_list)
QSacnNode::unsubscribe(num);
auto tx_list = tx_universes.keys();
for (const auto & num : tx_list)
QSacnNode::terminate(num);
}
/**
* @brief QSacnNode::subscribe
* @param num

View File

@ -21,6 +21,7 @@ class QT_EXPORT QSacnNode
public:
explicit QSacnNode(QObject *parent = nullptr, QUuid = QUuid::createUuid());
~QSacnNode();
// rlp component
void rlpSend(const ACN::PDU::Stream, const ACN::SDT::UDP::ipAddress&) override;

View File

@ -51,8 +51,8 @@ Receiver::Receiver(UUID::uuid cid)
*/
Receiver::~Receiver()
{
for (auto& [_, universe] : universes_)
delete universe;
for (auto& [num, _] : universes_)
Receiver::unsubscribe(num);
}

View File

@ -44,6 +44,9 @@ Source::~Source()
{
discovery_exitSignal_.set_value();
discovery_worker_.join();
for (const auto & [_, univ] : universes_)
delete univ;
}