1// Copyright (C) 2023 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//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the Qt API. It exists purely as an
9// implementation detail. This header file may change from version to
10// version without notice, or even be removed.
11//
12// We mean it.
13//
14
15#ifndef QOPCUAINTERNALDATATYPENODE_H
16#define QOPCUAINTERNALDATATYPENODE_H
17
18#include <QtOpcUa/qopcuaclient.h>
19
20#include <QtCore/qpointer.h>
21
22QT_BEGIN_NAMESPACE
23
24class QOpcUaInternalDataTypeNode : public QObject {
25 Q_OBJECT
26 Q_DISABLE_COPY(QOpcUaInternalDataTypeNode)
27public:
28 QOpcUaInternalDataTypeNode(QOpcUaClient *client);
29
30 bool initialize(const QString &nodeId);
31
32 QVariant definition() const;
33
34 bool isAbstract() const;
35
36 QString name() const;
37
38 QString nodeId() const;
39
40 const std::vector<std::unique_ptr<QOpcUaInternalDataTypeNode>> &children() const;
41
42Q_SIGNALS:
43 void initializeFinished(bool success);
44
45protected:
46 void handleFinished(bool success);
47
48private:
49
50 QPointer<QOpcUaClient> m_client;
51 QScopedPointer<QOpcUaNode> m_node;
52 std::vector<std::unique_ptr<QOpcUaInternalDataTypeNode>> m_children;
53
54 QVariant m_definition;
55 bool m_isAbstract = false;
56 QString m_name;
57 QString m_nodeId;
58
59 size_t m_finishedCount = 0;
60 bool m_hasError = false;
61};
62
63QT_END_NAMESPACE
64
65#endif // QOPCUAINTERNALDATATYPENODE_H
66

Provided by KDAB

Privacy Policy
Learn Advanced QML with KDAB
Find out more

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