| 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 | |
| 11 | class StringIdentifier |
| 12 | { |
| 13 | public: |
| 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 ; |
| 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 | |