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 QOPCUARELATIVEPATHELEMENT_H
5#define QOPCUARELATIVEPATHELEMENT_H
6
7#include <QtOpcUa/qopcuatype.h>
8
9#include <QtCore/qshareddata.h>
10
11QT_BEGIN_NAMESPACE
12
13class QOpcUaQualifiedName;
14
15class QOpcUaRelativePathElementData;
16class Q_OPCUA_EXPORT QOpcUaRelativePathElement
17{
18public:
19 QOpcUaRelativePathElement();
20 QOpcUaRelativePathElement(const QOpcUaQualifiedName &target, const QString &refType);
21 QOpcUaRelativePathElement(const QOpcUaQualifiedName &target, QOpcUa::ReferenceTypeId refType);
22 QOpcUaRelativePathElement(const QOpcUaRelativePathElement &);
23 QOpcUaRelativePathElement &operator=(const QOpcUaRelativePathElement &);
24#if QT_OPCUA_REMOVED_SINCE(6, 7)
25 bool operator==(const QOpcUaRelativePathElement &rhs) const;
26#endif
27 ~QOpcUaRelativePathElement();
28
29 QString referenceTypeId() const;
30 void setReferenceTypeId(const QString &referenceTypeId);
31 void setReferenceTypeId(QOpcUa::ReferenceTypeId referenceTypeId);
32
33 bool isInverse() const;
34 void setIsInverse(bool isInverse);
35
36 bool includeSubtypes() const;
37 void setIncludeSubtypes(bool includeSubtypes);
38
39 operator QVariant() const;
40
41 QOpcUaQualifiedName targetName() const;
42 void setTargetName(const QOpcUaQualifiedName &targetName);
43
44private:
45 QSharedDataPointer<QOpcUaRelativePathElementData> data;
46
47 friend Q_OPCUA_EXPORT bool comparesEqual(const QOpcUaRelativePathElement &lhs,
48 const QOpcUaRelativePathElement &rhs) noexcept;
49 friend bool operator==(const QOpcUaRelativePathElement &lhs,
50 const QOpcUaRelativePathElement &rhs) noexcept
51 { return comparesEqual(lhs, rhs); }
52 friend inline bool operator!=(const QOpcUaRelativePathElement &lhs,
53 const QOpcUaRelativePathElement &rhs) noexcept
54 { return !comparesEqual(lhs, rhs); }
55};
56
57QT_END_NAMESPACE
58
59Q_DECLARE_METATYPE(QOpcUaRelativePathElement)
60
61#endif // QOPCUARELATIVEPATHELEMENT_H
62

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

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