summaryrefslogtreecommitdiffstats
path: root/src/opcua/client/qopcuanodeimpl_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/opcua/client/qopcuanodeimpl_p.h')
-rw-r--r--src/opcua/client/qopcuanodeimpl_p.h31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/opcua/client/qopcuanodeimpl_p.h b/src/opcua/client/qopcuanodeimpl_p.h
index 62f2d91..9a9793e 100644
--- a/src/opcua/client/qopcuanodeimpl_p.h
+++ b/src/opcua/client/qopcuanodeimpl_p.h
@@ -51,20 +51,14 @@
#include <QtOpcUa/qopcuaglobal.h>
#include <QtOpcUa/qopcuamonitoringparameters.h>
#include <QtOpcUa/qopcuanode.h>
+#include <QtOpcUa/qopcuareaditem.h>
+#include <QtOpcUa/qopcuareadresult.h>
#include <QtOpcUa/qopcuatype.h>
#include <QtCore/qvariant.h>
QT_BEGIN_NAMESPACE
-struct QOpcUaReadResult {
- QOpcUa::NodeAttribute attributeId;
- QOpcUa::UaStatusCode statusCode;
- QDateTime sourceTimestamp;
- QDateTime serverTimestamp;
- QVariant value;
-};
-
class Q_OPCUA_EXPORT QOpcUaNodeImpl : public QObject
{
Q_OBJECT
@@ -75,7 +69,7 @@ public:
virtual bool readAttributes(QOpcUa::NodeAttributes attr, const QString &indexRange) = 0;
virtual bool enableMonitoring(QOpcUa::NodeAttributes attr, const QOpcUaMonitoringParameters &settings) = 0;
virtual bool disableMonitoring(QOpcUa::NodeAttributes attr) = 0;
- virtual bool browseChildren(QOpcUa::ReferenceTypeId referenceType, QOpcUa::NodeClasses nodeClassMask) = 0;
+ virtual bool browse(const QOpcUaBrowseRequest &request) = 0;
virtual QString nodeId() const = 0;
virtual bool writeAttribute(QOpcUa::NodeAttribute attribute, const QVariant &value, QOpcUa::Types type, const QString &indexRange) = 0;
@@ -85,20 +79,33 @@ public:
virtual bool callMethod(const QString &methodNodeId, const QVector<QOpcUa::TypedVariant> &args) = 0;
+ virtual bool resolveBrowsePath(const QVector<QOpcUa::QRelativePathElement> &path) = 0;
+
+ quint64 handle() const;
+ void setHandle(quint64 handle);
+
+ bool registered() const;
+ void setRegistered(bool registered);
+
Q_SIGNALS:
void attributesRead(QVector<QOpcUaReadResult> attr, QOpcUa::UaStatusCode serviceResult);
void attributeWritten(QOpcUa::NodeAttribute attr, QVariant value, QOpcUa::UaStatusCode statusCode);
void browseFinished(QVector<QOpcUaReferenceDescription> children, QOpcUa::UaStatusCode statusCode);
- void attributeUpdated(QOpcUa::NodeAttribute attr, QOpcUaReadResult value);
+ void dataChangeOccurred(QOpcUa::NodeAttribute attr, QOpcUaReadResult value);
+ void eventOccurred(QVariantList eventFields);
void monitoringEnableDisable(QOpcUa::NodeAttribute attr, bool subscribe, QOpcUaMonitoringParameters status);
void monitoringStatusChanged(QOpcUa::NodeAttribute attr, QOpcUaMonitoringParameters::Parameters items,
QOpcUaMonitoringParameters param);
void methodCallFinished(QString methodNodeId, QVariant result, QOpcUa::UaStatusCode statusCode);
+ void resolveBrowsePathFinished(QVector<QOpcUa::QBrowsePathTarget> targets,
+ QVector<QOpcUa::QRelativePathElement> path, QOpcUa::UaStatusCode status);
+
+private:
+ quint64 m_handle;
+ bool m_registered;
};
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QOpcUaReadResult)
-
#endif // QOPCUANODEIMPL_P_H