summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannis Voelker <jannis.voelker@basyskom.com>2018-03-21 11:33:40 +0100
committerFrank Meerkoetter <frank.meerkoetter@basyskom.com>2018-04-11 09:23:11 +0000
commit34445111a9d39f4045cb3e727d38264b352862ce (patch)
tree0d523e9a2afde5326d4179ec884ea99c038c9928
parent2a17f34290fd9a57ecbd21a21616e356145743d5 (diff)
Fix use of monitoring parameters
The filter used for monitored item creation must be stored or it will be unset in the next modifyMonitoredItems operation. Change-Id: Ifb615241eadff49c736ef22154687a45ee600584 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
-rw-r--r--src/plugins/opcua/open62541/qopen62541subscription.cpp3
-rw-r--r--src/plugins/opcua/uacpp/quacppsubscription.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/opcua/open62541/qopen62541subscription.cpp b/src/plugins/opcua/open62541/qopen62541subscription.cpp
index e184186..7878fd1 100644
--- a/src/plugins/opcua/open62541/qopen62541subscription.cpp
+++ b/src/plugins/opcua/open62541/qopen62541subscription.cpp
@@ -260,8 +260,6 @@ bool QOpen62541Subscription::addAttributeMonitoredItem(uintptr_t handle, QOpcUa:
m_itemIdToItemMapping[res.monitoredItemId] = temp;
QOpcUaMonitoringParameters s = settings;
- if (settings.filter().type() == QVariant::UserType && settings.filter().userType() == QMetaType::type("QOpcUaMonitoringParameters::DataChangeFilter"))
- s.setFilter(QVariant());
s.setSubscriptionId(m_subscriptionId);
s.setPublishingInterval(m_interval);
s.setMaxKeepAliveCount(m_maxKeepaliveCount);
@@ -272,6 +270,7 @@ bool QOpen62541Subscription::addAttributeMonitoredItem(uintptr_t handle, QOpcUa:
temp->parameters = s;
temp->clientHandle = m_clientHandle;
+ s.setFilter(QVariant());
emit m_backend->monitoringEnableDisable(handle, attr, true, s);
return true;
diff --git a/src/plugins/opcua/uacpp/quacppsubscription.cpp b/src/plugins/opcua/uacpp/quacppsubscription.cpp
index 87588c8..23442be 100644
--- a/src/plugins/opcua/uacpp/quacppsubscription.cpp
+++ b/src/plugins/opcua/uacpp/quacppsubscription.cpp
@@ -125,14 +125,13 @@ bool QUACppSubscription::addAttributeMonitoredItem(uintptr_t handle, QOpcUa::Nod
return false;
}
- QOpcUaMonitoringParameters s;
+ QOpcUaMonitoringParameters s = parameters;
s.setSubscriptionId(m_nativeSubscription->subscriptionId());
s.setPublishingInterval(m_nativeSubscription->publishingInterval());
s.setMaxKeepAliveCount(m_nativeSubscription->maxKeepAliveCount());
s.setLifetimeCount(m_nativeSubscription->lifetimeCount());
s.setStatusCode(static_cast<QOpcUa::UaStatusCode>(result.statusCode()));
s.setSamplingInterval(createResults[0].RevisedSamplingInterval);
- emit m_backend->monitoringEnableDisable(handle, attr, true, s);
// Store information
const auto key = qMakePair(handle, attr);
@@ -141,6 +140,9 @@ bool QUACppSubscription::addAttributeMonitoredItem(uintptr_t handle, QOpcUa::Nod
m_monitoredIds.insert(monitorId, key);
monitorId++;
+ s.setFilter(QVariant());
+ emit m_backend->monitoringEnableDisable(handle, attr, true, s);
+
return true;
}