diff options
Diffstat (limited to 'tools/datatypecodegenerator/dependencydatatypevalidator.h')
-rw-r--r-- | tools/datatypecodegenerator/dependencydatatypevalidator.h | 38 |
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; +}; |