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 <QtCore/qlist.h>
7#include <QtCore/qmap.h>
8#include <QtCore/qset.h>
9#include <QtCore/qstring.h>
10
11class StringIdentifier
12{
13public:
14 static const QString baseTypeIdentifier;
15 static const QString binaryTypeIdentifier;
16 static const QString bitIdentifier;
17 static const QString booleanIdentifier;
18 static const QString byteIdentifier;
19 static const QString sbyteIdentifier;
20 static const QString byteStringIdentifier;
21 static const QString charArrayIdentifier;
22 static const QString cppIdentifier;
23 static const QString datetimeIdentifier;
24 static const QString defaultByteOrderIdentifier;
25 static const QString documentationIdentifier;
26 static const QString doubleIdentifier;
27 static const QString enumeratedTypeIdentifier;
28 static const QString enumeratedValueIdentifier;
29 static const QString fieldIdentifier;
30 static const QString floatIdentifier;
31 static const QString guidIdentifier;
32 static const QString headerIdentifier;
33 static const QString importIdentifier;
34 static const QString integerIdentifier;
35 static const QString lengthIdentifier;
36 static const QString lengthFieldIdentifier;
37 static const QString lengthInBitsIdentifier;
38 static const QString locationIdentifier;
39 static const QString mainIdentifier;
40 static const QString makelistIdentifier;
41 static const QString nameIdentifier;
42 static const QString nameSpaceIdentifier;
43 static const QString namespaceZeroIdentifier;
44 static const QString opaqueTypeIdentifier;
45 static const QString projectIdentifier;
46 static const QString qByteArrayIdentifier;
47 static const QString qStringIdentifier;
48 static const QString uaStatusCodeIdentifier;
49 static const QString reservedIdentifier;
50 static const QString specifiedIdentifier;
51 static const QString structuredTypeIdentifier;
52 static const QString switchFieldIdentifier;
53 static const QString switchValueIdentifier;
54 static const QString targetNamespaceIdentifier;
55 static const QString typeDictionaryIdentifier;
56 static const QString typeNameIdentifier;
57 static const QString valueIdentifier;
58 static const QString xmlElementIdentifier;
59 static const QString opcBitIdentifier;
60
61 class OpcUaPrecodedType
62 {
63 public:
64 OpcUaPrecodedType(const QString &typeName,
65 const QString &fileName,
66 const QString &className,
67 const QString &deEncoderName = QString())
68 : m_name(typeName)
69 , m_filename(fileName)
70 , m_className(className)
71 , m_deEncoderName(deEncoderName)
72 {}
73
74 bool contains(QString name) const
75 {
76 return m_name == name || m_filename == name || m_className == name;
77 }
78
79 QString name() const;
80
81 QString filename() const;
82
83 QString className() const;
84
85 QString deEncoderName() const;
86
87 private:
88 QString m_name;
89 QString m_filename;
90 QString m_className;
91 QString m_deEncoderName;
92 };
93
94 static const QList<OpcUaPrecodedType> opcUaPrecodedTypes;
95 static const QList<QString> buildInTypesWithBitMask;
96 static const QMap<QString, QString> typeNameDataTypeConverter;
97
98 static const QList<QString> illegalNames;
99
100 static const QSet<QString> precodedTypesWithDebugOperator;
101};
102

Provided by KDAB

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

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