diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-04-01 11:54:12 +0200 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-04-01 11:54:12 +0200 |
| commit | ed9025f03aa6fcbf720f4e022f3594c85de0a385 (patch) | |
| tree | e8ce6b3cd42a74172ba69eb6d9aa6ed31ccde8f8 /src | |
| parent | f3beb1624c24012c246d17a40c4e10c1c6b3b5b5 (diff) | |
| download | BobinkQtOpcUa-master.tar.gz BobinkQtOpcUa-master.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/OpcUaClient.cpp | 22 | ||||
| -rw-r--r-- | src/OpcUaMonitoredNode.cpp | 26 |
2 files changed, 32 insertions, 16 deletions
diff --git a/src/OpcUaClient.cpp b/src/OpcUaClient.cpp index d212ab2..8835a08 100644 --- a/src/OpcUaClient.cpp +++ b/src/OpcUaClient.cpp @@ -173,7 +173,11 @@ OpcUaClient::connectToServer () QStringLiteral ("Invalid server URL: %1").arg (m_serverUrl)); return; } - m_client->requestEndpoints (url); + if (!m_client->requestEndpoints (url)) + { + emit connectionError ( + QStringLiteral ("Failed to send endpoint request")); + } } void @@ -354,11 +358,14 @@ OpcUaClient::handlePasswordRequired (QString keyFilePath, QString *password, m_keyPassword.clear (); emit privateKeyPasswordRequired (keyFilePath, previousTryWasInvalid); - QEventLoop loop; - m_keyPassLoop = &loop; - QTimer::singleShot (30000, &loop, &QEventLoop::quit); - loop.exec (); - m_keyPassLoop = nullptr; + if (m_keyPassword.isEmpty ()) + { + QEventLoop loop; + m_keyPassLoop = &loop; + QTimer::singleShot (30000, &loop, &QEventLoop::quit); + loop.exec (); + m_keyPassLoop = nullptr; + } *password = m_keyPassword; } @@ -448,7 +455,8 @@ OpcUaClient::doDiscovery () QUrl url (m_discoveryUrl); if (!url.isValid ()) return; - m_client->findServers (url); + if (!m_client->findServers (url)) + emit statusMessage (QStringLiteral ("Failed to send discovery request")); } void 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; } /* ====================================== |
