summaryrefslogtreecommitdiffstats
path: root/src/plugins/opcua/open62541/qopen62541subscription.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/opcua/open62541/qopen62541subscription.h')
-rw-r--r--src/plugins/opcua/open62541/qopen62541subscription.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/opcua/open62541/qopen62541subscription.h b/src/plugins/opcua/open62541/qopen62541subscription.h
index 2f03a66..58dd407 100644
--- a/src/plugins/opcua/open62541/qopen62541subscription.h
+++ b/src/plugins/opcua/open62541/qopen62541subscription.h
@@ -64,6 +64,8 @@ public:
uintptr_t handle;
QOpcUa::NodeAttribute attr;
UA_UInt32 monitoredItemId;
+ UA_UInt32 clientHandle;
+ QOpcUaMonitoringParameters parameters;
MonitoredItem(uintptr_t h, QOpcUa::NodeAttribute a, UA_UInt32 id)
: handle(h)
, attr(a)
@@ -85,6 +87,9 @@ private:
MonitoredItem *getItemForAttribute(uintptr_t handle, QOpcUa::NodeAttribute attr);
UA_ExtensionObject createFilter(const QVariant &filterData);
+ bool modifySubscriptionParameters(uintptr_t handle, QOpcUa::NodeAttribute attr, const QOpcUaMonitoringParameters::Parameter &item, const QVariant &value);
+ bool modifyMonitoredItemParameters(uintptr_t handle, QOpcUa::NodeAttribute attr, const QOpcUaMonitoringParameters::Parameter &item, const QVariant &value);
+
Open62541AsyncBackend *m_backend;
double m_interval;
UA_UInt32 m_subscriptionId;
@@ -92,9 +97,12 @@ private:
UA_UInt32 m_maxKeepaliveCount;
QOpcUaMonitoringParameters::SubscriptionType m_shared;
quint8 m_priority;
+ quint32 m_maxNotificationsPerPublish;
QHash<uintptr_t, QHash<QOpcUa::NodeAttribute, MonitoredItem *>> m_handleToItemMapping; // Handle -> Attribute -> MonitoredItem
QHash<UA_UInt32, MonitoredItem *> m_itemIdToItemMapping; // ItemId -> Item for fast lookup on data change
+
+ quint32 m_clientHandle;
};
QT_END_NAMESPACE