AusweisApp2
SecurityInfos.h
gehe zur Dokumentation dieser Datei
7#pragma once
8
10#include "MobileEIDTypeInfo.h"
11#include "PaceInfo.h"
12#include "SecurityInfo.h"
13
14#include <QByteArray>
15#include <QSharedPointer>
16#include <QVector>
17
18
19namespace governikus
20{
21using securityinfos_st = struct stack_st_securityinfo_st;
22
23DECLARE_ASN1_FUNCTIONS(securityinfos_st)
25
26
32{
33 Q_DISABLE_COPY(SecurityInfos)
34 friend class QSharedPointer<SecurityInfos>;
35
36 private:
37 const QByteArray mContentBytes;
38 const QVector<QSharedPointer<const SecurityInfo>> mSecurityInfos;
39 const QVector<QSharedPointer<const PaceInfo>> mPaceInfos;
40 const QVector<QSharedPointer<const ChipAuthenticationInfo>> mChipAuthenticationInfos;
41 const QSharedPointer<const MobileEIDTypeInfo> mMobileEIDTypeInfo;
42
43 SecurityInfos(const QByteArray& pBytes,
44 const QVector<QSharedPointer<const SecurityInfo>>& pSecurityInfos,
45 const QVector<QSharedPointer<const PaceInfo>>& pPaceInfos,
46 const QVector<QSharedPointer<const ChipAuthenticationInfo>>& pChipAuthenticationInfos,
47 const QSharedPointer<const MobileEIDTypeInfo>& pMobileEIDTypeInfo);
48
49 public:
50 static QSharedPointer<SecurityInfos> fromHex(const QByteArray& pHexString);
51 static QSharedPointer<SecurityInfos> decode(const QByteArray& pBytes);
52
53 [[nodiscard]] const QByteArray& getContentBytes() const;
54 [[nodiscard]] const QVector<QSharedPointer<const SecurityInfo>>& getSecurityInfos() const;
55 [[nodiscard]] const QVector<QSharedPointer<const PaceInfo>>& getPaceInfos() const;
56 [[nodiscard]] const QVector<QSharedPointer<const ChipAuthenticationInfo>>& getChipAuthenticationInfos() const;
57 [[nodiscard]] const QSharedPointer<const MobileEIDTypeInfo>& getMobileEIDTypeInfo() const;
58};
59
60
67
68
69} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:169
QByteArray fromHex(const std::string &pString)
Definition: SmartManager.cpp:39
SecurityInfos ::= SET OF SecurityInfo.
Definition: SecurityInfos.h:32
A simple template renderer.
Definition: ActivationContext.h:15
stack_st_securityinfo_st securityinfos_st
Definition: SecurityInfos.h:21