File indexing completed on 2025-09-17 09:09:10
0001
0002
0003
0004 #ifndef QCBORCOMMON_H
0005 #define QCBORCOMMON_H
0006
0007 #include <QtCore/qobjectdefs.h>
0008 #include <QtCore/qmetatype.h>
0009
0010 #if 0
0011 #pragma qt_class(QtCborCommon)
0012 #endif
0013
0014
0015 #if defined(False) && defined(True)
0016 # undef True
0017 # undef False
0018 #endif
0019
0020 QT_BEGIN_NAMESPACE
0021
0022 class QDebug;
0023
0024 enum class QCborSimpleType : quint8 {
0025 False = 20,
0026 True = 21,
0027 Null = 22,
0028 Undefined = 23
0029 };
0030
0031 enum class QCborTag : quint64 {};
0032 enum class QCborKnownTags {
0033 DateTimeString = 0,
0034 UnixTime_t = 1,
0035 PositiveBignum = 2,
0036 NegativeBignum = 3,
0037 Decimal = 4,
0038 Bigfloat = 5,
0039 COSE_Encrypt0 = 16,
0040 COSE_Mac0 = 17,
0041 COSE_Sign1 = 18,
0042 ExpectedBase64url = 21,
0043 ExpectedBase64 = 22,
0044 ExpectedBase16 = 23,
0045 EncodedCbor = 24,
0046 Url = 32,
0047 Base64url = 33,
0048 Base64 = 34,
0049 RegularExpression = 35,
0050 MimeMessage = 36,
0051 Uuid = 37,
0052 COSE_Encrypt = 96,
0053 COSE_Mac = 97,
0054 COSE_Sign = 98,
0055 Signature = 55799
0056 };
0057
0058 inline bool operator==(QCborTag t, QCborKnownTags kt) { return quint64(t) == quint64(kt); }
0059 inline bool operator==(QCborKnownTags kt, QCborTag t) { return quint64(t) == quint64(kt); }
0060 inline bool operator!=(QCborTag t, QCborKnownTags kt) { return quint64(t) != quint64(kt); }
0061 inline bool operator!=(QCborKnownTags kt, QCborTag t) { return quint64(t) != quint64(kt); }
0062
0063 struct Q_CORE_EXPORT QCborError
0064 {
0065 Q_GADGET
0066 public:
0067 enum Code : int {
0068 UnknownError = 1,
0069 AdvancePastEnd = 3,
0070 InputOutputError = 4,
0071 GarbageAtEnd = 256,
0072 EndOfFile,
0073 UnexpectedBreak,
0074 UnknownType,
0075 IllegalType,
0076 IllegalNumber,
0077 IllegalSimpleType,
0078
0079 InvalidUtf8String = 516,
0080
0081 DataTooLarge = 1024,
0082 NestingTooDeep,
0083 UnsupportedType,
0084
0085 NoError = 0
0086 };
0087 Q_ENUM(Code)
0088
0089 Code c;
0090 operator Code() const { return c; }
0091 QString toString() const;
0092 };
0093
0094 #if !defined(QT_NO_DEBUG_STREAM)
0095 Q_CORE_EXPORT QDebug operator<<(QDebug, QCborSimpleType st);
0096 Q_CORE_EXPORT QDebug operator<<(QDebug, QCborKnownTags tg);
0097 Q_CORE_EXPORT QDebug operator<<(QDebug, QCborTag tg);
0098 #endif
0099
0100 #if !defined(QT_NO_DATASTREAM)
0101 Q_CORE_EXPORT QDataStream &operator<<(QDataStream &ds, QCborSimpleType st);
0102 Q_CORE_EXPORT QDataStream &operator>>(QDataStream &ds, QCborSimpleType &st);
0103 #endif
0104
0105 inline size_t qHash(QCborSimpleType tag, size_t seed = 0)
0106 {
0107 return qHash(quint8(tag), seed);
0108 }
0109
0110 inline size_t qHash(QCborTag tag, size_t seed = 0)
0111 {
0112 return qHash(quint64(tag), seed);
0113 }
0114
0115 enum class QCborNegativeInteger : quint64 {};
0116
0117 QT_END_NAMESPACE
0118
0119 QT_DECL_METATYPE_EXTERN(QCborTag, Q_CORE_EXPORT)
0120
0121 #endif