summaryrefslogtreecommitdiffstats
path: root/tools/datatypecodegenerator/dependencydatatypevalidator.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/datatypecodegenerator/dependencydatatypevalidator.h')
-rw-r--r--tools/datatypecodegenerator/dependencydatatypevalidator.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/datatypecodegenerator/dependencydatatypevalidator.h b/tools/datatypecodegenerator/dependencydatatypevalidator.h
new file mode 100644
index 0000000..aad3e4e
--- /dev/null
+++ b/tools/datatypecodegenerator/dependencydatatypevalidator.h
@@ -0,0 +1,38 @@
+// Copyright (C) 2023 basysKom GmbH, opensource@basyskom.com
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#pragma once
+
+#include "visitor.h"
+
+#include <QtCore/qlist.h>
+
+class XmlElement;
+
+class DependencyDataTypeValidator : public Visitor
+{
+public:
+ enum ReadResolveDependencies { ReadDependencies, ResolveDependencies };
+
+ DependencyDataTypeValidator();
+ ~DependencyDataTypeValidator() override = default;
+
+ void visit(EnumeratedType *enumeratedType) override;
+ void visit(EnumeratedValue *enumeratedValue) override;
+ void visit(Field *field) override;
+ void visit(Import *import) override;
+ void visit(StructuredType *structuredType) override;
+ void visit(TypeDictionary *typeDictionary) override;
+ void visit(XmlElement *xmlElement) override;
+
+ QStringList unresolvedDependencyStringList() const;
+
+ QList<XmlElement *> resolvedDependencyElementList() const;
+
+ void setReadResolveDependencies(const ReadResolveDependencies &readResolveDependencies);
+
+private:
+ ReadResolveDependencies m_readResolveDependencies;
+ QList<XmlElement *> m_resolvedDependencyElementList;
+ QStringList m_unresolvedDependencyStringList;
+};