1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef NATIVEENUM_H
5#define NATIVEENUM_H
6
7#include <QtCore/qstring.h>
8
9QT_BEGIN_NAMESPACE
10
11class EnumNode;
12
13class NativeEnum
14{
15public:
16 bool resolve(const QString &path, const QString &registeredQmlName);
17 void setPrefix(const QString &prefix) { m_prefix = prefix; }
18
19 [[nodiscard]] const EnumNode *enumNode() const { return m_enumNode; }
20 [[nodiscard]] const QString &prefix() const { return m_prefix; }
21
22private:
23 EnumNode *m_enumNode { nullptr };
24 QString m_prefix {};
25};
26
27class NativeEnumInterface
28{
29public:
30 virtual ~NativeEnumInterface() = default;
31 virtual NativeEnum *nativeEnum() = 0;
32 virtual const NativeEnum *nativeEnum() const = 0;
33};
34
35QT_END_NAMESPACE
36
37#endif // NATIVEENUM_H
38
39

source code of qttools/src/qdoc/qdoc/src/qdoc/nativeenum.h