From b1173a3c357882ee58131931ca1910dcb9b6742c Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sat, 7 Nov 2020 00:24:54 +0100 Subject: [PATCH 1/2] Enable missing signal, fix lib exports --- libnymea-core/zigbee/zigbeemanager.cpp | 2 +- libnymea/hardware/zigbee/zigbeehandler.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libnymea-core/zigbee/zigbeemanager.cpp b/libnymea-core/zigbee/zigbeemanager.cpp index ae5337c0..ae6f5910 100644 --- a/libnymea-core/zigbee/zigbeemanager.cpp +++ b/libnymea-core/zigbee/zigbeemanager.cpp @@ -362,7 +362,7 @@ void ZigbeeManager::addNetwork(ZigbeeNetwork *network) ZigbeeNodeInitializer *nodeInitializer = m_zigbeeNodeInitializers.value(network->networkUuid()); nodeInitializer->initializeNode(node); - //emit nodeAdded(network->networkUuid(), node); + emit nodeAdded(network->networkUuid(), node); }); connect(network, &ZigbeeNetwork::nodeRemoved, this, [this, network](ZigbeeNode *node){ diff --git a/libnymea/hardware/zigbee/zigbeehandler.h b/libnymea/hardware/zigbee/zigbeehandler.h index f346e6ad..6bf7e019 100644 --- a/libnymea/hardware/zigbee/zigbeehandler.h +++ b/libnymea/hardware/zigbee/zigbeehandler.h @@ -2,8 +2,9 @@ #define ZIGBEEHANDLER_H #include "zigbeenode.h" +#include "libnymea.h" -class ZigbeeHandler +class LIBNYMEA_EXPORT ZigbeeHandler { public: ZigbeeHandler(); From 4b493ac51d4a64bd6c838446827a920e9a382948 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 12 Nov 2020 11:27:31 +0100 Subject: [PATCH 2/2] provisoric handling for node removal --- .../hardware/zigbee/zigbeehardwareresourceimplementation.cpp | 5 +++++ libnymea/hardware/zigbee/zigbeehandler.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp b/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp index cab84283..a6f9dcb0 100644 --- a/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp +++ b/libnymea-core/hardware/zigbee/zigbeehardwareresourceimplementation.cpp @@ -161,6 +161,11 @@ void ZigbeeHardwareResourceImplementation::onZigbeeNodeAdded(const QUuid &networ void ZigbeeHardwareResourceImplementation::onZigbeeNodeRemoved(const QUuid &networkUuid, ZigbeeNode *node) { qCDebug(dcZigbeeResource()) << node << "left the network" << m_zigbeeManager->zigbeeNetworks().value(networkUuid); + + foreach (ZigbeeHandler *tmp, m_handlers) { + tmp->handleRemoveNode(node, networkUuid); + } + } } diff --git a/libnymea/hardware/zigbee/zigbeehandler.h b/libnymea/hardware/zigbee/zigbeehandler.h index 6bf7e019..dba0d794 100644 --- a/libnymea/hardware/zigbee/zigbeehandler.h +++ b/libnymea/hardware/zigbee/zigbeehandler.h @@ -4,7 +4,7 @@ #include "zigbeenode.h" #include "libnymea.h" -class LIBNYMEA_EXPORT ZigbeeHandler +class LIBNYMEA_EXPORT ZigbeeHandler { public: ZigbeeHandler(); @@ -12,6 +12,7 @@ public: virtual QString name() const = 0; virtual bool handleNode(ZigbeeNode *node, const QUuid &networkUuid) = 0; + virtual void handleRemoveNode(ZigbeeNode *node, const QUuid &networkUuid) = 0; }; #endif // ZIGBEEHANDLER_H