aboutsummaryrefslogtreecommitdiffstats
path: root/src/OpcUaMonitoredNode.cpp
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-04-01 11:54:12 +0200
committerThomas Vanbesien <tvanbesi@proton.me>2026-04-01 11:54:12 +0200
commited9025f03aa6fcbf720f4e022f3594c85de0a385 (patch)
treee8ce6b3cd42a74172ba69eb6d9aa6ed31ccde8f8 /src/OpcUaMonitoredNode.cpp
parentf3beb1624c24012c246d17a40c4e10c1c6b3b5b5 (diff)
downloadBobinkQtOpcUa-ed9025f03aa6fcbf720f4e022f3594c85de0a385.tar.gz
BobinkQtOpcUa-ed9025f03aa6fcbf720f4e022f3594c85de0a385.zip
Check all unchecked return values and guard error pathsHEADmaster
Diffstat (limited to 'src/OpcUaMonitoredNode.cpp')
-rw-r--r--src/OpcUaMonitoredNode.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/OpcUaMonitoredNode.cpp b/src/OpcUaMonitoredNode.cpp
index beec934..1c125fc 100644
--- a/src/OpcUaMonitoredNode.cpp
+++ b/src/OpcUaMonitoredNode.cpp
@@ -132,7 +132,7 @@ OpcUaMonitoredNode::setupNode ()
return;
auto *client = OpcUaClient::instance ();
- if (!client || !client->connected ())
+ if (!client || !client->connected () || !client->opcuaClient ())
return;
m_node = client->opcuaClient ()->node (m_nodeId);
@@ -152,12 +152,14 @@ OpcUaMonitoredNode::setupNode ()
connect (m_node, &QOpcUaNode::disableMonitoringFinished, this,
&OpcUaMonitoredNode::handleDisableMonitoringFinished);
- m_node->readAttributes (
- QOpcUa::NodeAttribute::DisplayName | QOpcUa::NodeAttribute::Description
- | QOpcUa::NodeAttribute::NodeClass | QOpcUa::NodeAttribute::DataType
- | QOpcUa::NodeAttribute::ValueRank
- | QOpcUa::NodeAttribute::ArrayDimensions
- | QOpcUa::NodeAttribute::AccessLevel);
+ if (!m_node->readAttributes (QOpcUa::NodeAttribute::DisplayName
+ | QOpcUa::NodeAttribute::Description
+ | QOpcUa::NodeAttribute::NodeClass
+ | QOpcUa::NodeAttribute::DataType
+ | QOpcUa::NodeAttribute::ValueRank
+ | QOpcUa::NodeAttribute::ArrayDimensions
+ | QOpcUa::NodeAttribute::AccessLevel))
+ qWarning () << "OpcUaMonitoredNode: readAttributes failed for" << m_nodeId;
if (m_monitored)
startMonitoring ();
@@ -195,7 +197,10 @@ OpcUaMonitoredNode::startMonitoring ()
if (!m_node || !m_monitored)
return;
QOpcUaMonitoringParameters params (m_publishingInterval);
- m_node->enableMonitoring (QOpcUa::NodeAttribute::Value, params);
+ if (!m_node->enableMonitoring (QOpcUa::NodeAttribute::Value, params))
+ qWarning ()
+ << "OpcUaMonitoredNode: enableMonitoring failed to dispatch for"
+ << m_nodeId;
}
void
@@ -203,7 +208,10 @@ OpcUaMonitoredNode::stopMonitoring ()
{
if (!m_node)
return;
- m_node->disableMonitoring (QOpcUa::NodeAttribute::Value);
+ if (!m_node->disableMonitoring (QOpcUa::NodeAttribute::Value))
+ qWarning ()
+ << "OpcUaMonitoredNode: disableMonitoring failed to dispatch for"
+ << m_nodeId;
}
/* ======================================