45 const QSharedPointer<const mobileeidtypeinfo_st> mDelegate;
47 explicit MobileEIDTypeInfo(
const QSharedPointer<const mobileeidtypeinfo_st>& pDelegate);
48 [[nodiscard]] ASN1_OBJECT* getProtocolObjectIdentifier()
const override;
49 static bool acceptsProtocol(
const ASN1_OBJECT* pObjectIdentifier);
52 static QSharedPointer<const MobileEIDTypeInfo>
decode(
const QByteArray& pBytes)
54 if (
const auto& delegate = decodeObject<mobileeidtypeinfo_st>(pBytes,
false))
56 if (MobileEIDTypeInfo::acceptsProtocol(delegate->mProtocol))
58 return QSharedPointer<const MobileEIDTypeInfo>::create(delegate);
61 return QSharedPointer<const MobileEIDTypeInfo>();
65 [[nodiscard]] QByteArray
encode()
const
74 inline QDebug
operator<<(QDebug pDbg,
const QSharedPointer<const MobileEIDTypeInfo>& pMobileEIDTypeInfo)
76 QDebugStateSaver saver(pDbg);
77 pDbg.nospace().noquote() << pMobileEIDTypeInfo->getOid();
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:169
Definition: MobileEIDTypeInfo.h:41
QByteArray encode() const
Definition: MobileEIDTypeInfo.h:65
static QSharedPointer< const MobileEIDTypeInfo > decode(const QByteArray &pBytes)
Definition: MobileEIDTypeInfo.h:52
Definition: SecurityInfo.h:47
A simple template renderer.
Definition: ActivationContext.h:15
QByteArray encodeObject(T *pObject)
Template function for encoding an OpenSSL type as DER encoded QByteArray.
Definition: ASN1TemplateUtil.h:64
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition: CommandApdu.h:89
Definition: MobileEIDTypeInfo.h:28
ASN1_TYPE * mRequiredData
Definition: MobileEIDTypeInfo.h:30
ASN1_OBJECT * mProtocol
Definition: MobileEIDTypeInfo.h:29