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#pragma once
5
6#include "visitor.h"
7
8#include <QtCore/qlist.h>
9
10class XmlElement;
11
12class DependencyDataTypeValidator : public Visitor
13{
14public:
15 enum ReadResolveDependencies { ReadDependencies, ResolveDependencies };
16
17 DependencyDataTypeValidator();
18 ~DependencyDataTypeValidator() override = default;
19
20 void visit(EnumeratedType *enumeratedType) override;
21 void visit(EnumeratedValue *enumeratedValue) override;
22 void visit(Field *field) override;
23 void visit(Import *import) override;
24 void visit(StructuredType *structuredType) override;
25 void visit(TypeDictionary *typeDictionary) override;
26 void visit(XmlElement *xmlElement) override;
27
28 QStringList unresolvedDependencyStringList() const;
29
30 QList<XmlElement *> resolvedDependencyElementList() const;
31
32 void setReadResolveDependencies(const ReadResolveDependencies &readResolveDependencies);
33
34private:
35 ReadResolveDependencies m_readResolveDependencies;
36 QList<XmlElement *> m_resolvedDependencyElementList;
37 QStringList m_unresolvedDependencyStringList;
38};
39

Provided by KDAB

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

source code of qtopcua/tools/datatypecodegenerator/dependencydatatypevalidator.h