diff options
Diffstat (limited to 'src/opcua/client/qopcuanodeimpl_p.h')
-rw-r--r-- | src/opcua/client/qopcuanodeimpl_p.h | 31 |
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 |