AusweisApp2
SecurityInfos.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "PaceInfo.h"
11 #include "SecurityInfo.h"
12 
13 #include <QByteArray>
14 #include <QSharedPointer>
15 #include <QVector>
16 
17 
18 namespace governikus
19 {
20 using securityinfos_st = struct stack_st_securityinfo_st;
21 
22 DECLARE_ASN1_FUNCTIONS(securityinfos_st)
24 
25 
31 {
32  Q_DISABLE_COPY(SecurityInfos)
33  friend class QSharedPointer<SecurityInfos>;
34 
35  const QByteArray mContentBytes;
36  const QVector<QSharedPointer<const SecurityInfo>> mSecurityInfos;
37  const QVector<QSharedPointer<const PaceInfo>> mPaceInfos;
38  const QVector<QSharedPointer<const ChipAuthenticationInfo>> mChipAuthenticationInfos;
39 
40  SecurityInfos(const QByteArray& pBytes,
41  const QVector<QSharedPointer<const SecurityInfo>>& pSecurityInfos,
42  const QVector<QSharedPointer<const PaceInfo>>& pPaceInfos,
43  const QVector<QSharedPointer<const ChipAuthenticationInfo>>& pChipAuthenticationInfos);
44 
45  public:
46  static QSharedPointer<SecurityInfos> fromHex(const QByteArray& pHexString);
47  static QSharedPointer<SecurityInfos> decode(const QByteArray& pBytes);
48 
49  [[nodiscard]] const QByteArray& getContentBytes() const;
50  [[nodiscard]] const QVector<QSharedPointer<const SecurityInfo>>& getSecurityInfos() const;
51  [[nodiscard]] const QVector<QSharedPointer<const PaceInfo>>& getPaceInfos() const;
52  [[nodiscard]] const QVector<QSharedPointer<const ChipAuthenticationInfo>>& getChipAuthenticationInfos() const;
53 };
54 
55 
62 
63 
64 } // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:164
SecurityInfos ::= SET OF SecurityInfo.
Definition: SecurityInfos.h:31
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
struct stack_st_securityinfo_st securityinfos_st
Definition: SecurityInfos.h:20