1// Copyright (C) 2015 basysKom GmbH, opensource@basyskom.com
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QOPCUASIMPLEATTRIBUTEOPERAND_H
5#define QOPCUASIMPLEATTRIBUTEOPERAND_H
6
7#include <QtOpcUa/qopcuatype.h>
8
9#include <QtCore/qshareddata.h>
10#include <QtCore/qlist.h>
11
12QT_BEGIN_NAMESPACE
13
14class QOpcUaQualifiedName;
15
16// OPC-UA part 4, 7.4.4.5
17class QOpcUaSimpleAttributeOperandData;
18class Q_OPCUA_EXPORT QOpcUaSimpleAttributeOperand
19{
20public:
21 QOpcUaSimpleAttributeOperand();
22 QOpcUaSimpleAttributeOperand(const QOpcUaSimpleAttributeOperand &);
23 QOpcUaSimpleAttributeOperand(const QString &name, quint16 namespaceIndex = 0,
24 const QString &typeId = QStringLiteral("ns=0;i=2041"), // BaseEventType
25 QOpcUa::NodeAttribute attributeId = QOpcUa::NodeAttribute::Value);
26 QOpcUaSimpleAttributeOperand(QOpcUa::NodeAttribute attributeId,
27 const QString &typeId = QStringLiteral("ns=0;i=2041")); // BaseEventType
28 QOpcUaSimpleAttributeOperand &operator=(const QOpcUaSimpleAttributeOperand &);
29 bool operator==(const QOpcUaSimpleAttributeOperand &rhs) const;
30 operator QVariant() const;
31 ~QOpcUaSimpleAttributeOperand();
32
33 QString typeId() const;
34 void setTypeId(const QString &typeId);
35
36 QList<QOpcUaQualifiedName> browsePath() const;
37 QList<QOpcUaQualifiedName> &browsePathRef();
38 void setBrowsePath(const QList<QOpcUaQualifiedName> &browsePath);
39
40 QOpcUa::NodeAttribute attributeId() const;
41 void setAttributeId(QOpcUa::NodeAttribute attributeId);
42
43 QString indexRange() const;
44 void setIndexRange(const QString &indexRange);
45
46private:
47 QSharedDataPointer<QOpcUaSimpleAttributeOperandData> data;
48};
49
50QT_END_NAMESPACE
51
52Q_DECLARE_METATYPE(QOpcUaSimpleAttributeOperand)
53
54#endif // QOPCUASIMPLEATTRIBUTEOPERAND_H
55

source code of qtopcua/src/opcua/client/qopcuasimpleattributeoperand.h