48 IfdMessageType mMessageType;
49 QString mContextHandle;
52 [[nodiscard]]
virtual QJsonObject createMessageBody(
const QString& pContextHandle)
const;
53 static QByteArray toByteArray(
const QJsonObject& pJsonObject);
55 void ensureType(IfdMessageType pType);
56 void markIncomplete(
const QString& pLogMessage);
57 void missingValue(
const QLatin1String& pName);
58 void invalidType(
const QLatin1String& pName,
const QLatin1String& pExpectedType);
59 bool getBoolValue(
const QJsonObject& pJsonObject,
const QLatin1String& pName);
60 int getIntValue(
const QJsonObject& pJsonObject,
const QLatin1String& pName,
int pDefault);
61 QString getStringValue(
const QJsonObject& pJsonObject,
const QLatin1String& pName);
64 static QJsonObject parseByteArray(
const QByteArray& pMessage);
66 explicit IfdMessage(IfdMessageType pType);
67 explicit IfdMessage(
const QJsonObject& pMessageObject);
68 virtual ~IfdMessage() =
default;
70 [[nodiscard]]
bool isIncomplete()
const;
71 [[nodiscard]] IfdMessageType getType()
const;
72 [[nodiscard]]
const QString& getContextHandle()
const;
74 [[nodiscard]]
virtual QByteArray toByteArray(
IfdVersion::Version pIfdVersion,
const QString& pContextHandle = QString())
const;
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114