AusweisApp2
SelfAuthenticationData.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "EnumHelper.h"
10 
11 #include <functional>
12 
13 #include <QCoreApplication>
14 #include <QDateTime>
15 #include <QJsonObject>
16 #include <QJsonValue>
17 #include <QMap>
18 #include <QPair>
19 #include <QSharedData>
20 #include <QString>
21 #include <QVector>
22 
23 namespace governikus
24 {
25 
26 defineEnumType(SelfAuthDataPermission,
27  UNKNOWN /* used for parser only */,
28  ALLOWED,
29  PROHIBITED,
30  NOTONCHIP)
31 
32 defineEnumType(SelfAuthData,
33  UNKNOWN, /* used for parser only */
37  GivenNames,
41  BirthName,
50  /* additional fields */
55  PlaceOfResidenceNoPlaceInfo)
56 
57 
59 {
60  public:
61  using OrderedSelfData = QVector<QPair<QString, QString>>;
62 
63  private:
64  class SelfData
65  : public QSharedData
66  {
67  Q_DECLARE_TR_FUNCTIONS(governikus::SelfData)
68 
69  private:
70  bool parse(const QByteArray& pData);
71  bool parseOperationsAllowedByUser(const QJsonObject& pObject);
72  bool parsePersonalData(const QJsonObject& pObject);
73  bool tryToInsertChild(const QJsonValue& pValue, SelfAuthData pAuthData);
74 
75  public:
76  bool mValid;
77  const QDateTime mDateTime;
78  QMap<SelfAuthData, SelfAuthDataPermission> mOperationsAllowed;
79  QMap<SelfAuthData, QString> mSelfAuthData;
80 
81  explicit SelfData(const QByteArray& pData);
82  QString getValue(SelfAuthData pData) const;
83  OrderedSelfData getOrderedSelfInfo() const;
84  };
85 
86  QSharedDataPointer<SelfData> d;
87 
88  public:
89  explicit SelfAuthenticationData(const QByteArray& pData = QByteArray());
91 
95  bool isValid() const;
96  QString getValue(SelfAuthData pData) const;
97  const QDateTime& getDateTime() const;
98  OrderedSelfData getOrderedSelfData() const;
99 };
100 
101 } // namespace governikus
governikus::AgeVerification
AgeVerification
Definition: AccessRoleAndRight.h:88
governikus::UNKNOWN
UNKNOWN
Definition: SmartCardDefinitions.h:18
governikus::BirthName
BirthName
Definition: AccessRoleAndRight.h:75
governikus::PlaceOfBirth
PlaceOfBirth
Definition: AccessRoleAndRight.h:77
governikus::DateOfBirth
DateOfBirth
Definition: AccessRoleAndRight.h:78
governikus::ResidencePermitI
ResidencePermitI
Definition: AccessRoleAndRight.h:72
governikus::PlaceOfResidenceStreet
PlaceOfResidenceStreet
Definition: SelfAuthenticationData.h:51
governikus::PlaceOfResidence
PlaceOfResidence
Definition: SelfAuthenticationData.h:44
governikus::AcademicTitle
AcademicTitle
Definition: SelfAuthenticationData.h:40
governikus::SelfAuthenticationData::SelfAuthenticationData
SelfAuthenticationData(const QByteArray &pData=QByteArray())
Definition: SelfAuthenticationData.cpp:17
governikus::PlaceVerification
PlaceVerification
Definition: SelfAuthenticationData.h:49
governikus::DateOfExpiry
DateOfExpiry
Definition: SelfAuthenticationData.h:36
moc_SelfAuthenticationData.cpp
governikus::SelfAuthenticationData::isValid
bool isValid() const
Definition: SelfAuthenticationData.cpp:23
governikus::PlaceOfResidenceCity
PlaceOfResidenceCity
Definition: SelfAuthenticationData.h:52
governikus::DocumentType
DocumentType
Definition: AccessRoleAndRight.h:85
governikus::SelfAuthenticationData::getValue
QString getValue(SelfAuthData pData) const
Definition: SelfAuthenticationData.cpp:29
governikus::ArtisticName
ArtisticName
Definition: AccessRoleAndRight.h:80
governikus::LanguageLoader::getInstance
static LanguageLoader & getInstance()
Definition: LanguageLoader.cpp:42
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::defineEnumType
defineEnumType(KeyAgreementType, DH, ECDH) defineEnumType(MappingType
Method used for key agreement:
governikus::Enum::fromString
static EnumTypeT fromString(const char *const pValue, EnumTypeT pDefault)
Definition: EnumHelper.h:136
governikus::SelfAuthenticationData::OrderedSelfData
QVector< QPair< QString, QString > > OrderedSelfData
Definition: SelfAuthenticationData.h:61
governikus::IssuingState
IssuingState
Definition: SelfAuthenticationData.h:35
governikus::PlaceOfResidenceZipCode
PlaceOfResidenceZipCode
Definition: SelfAuthenticationData.h:54
governikus::SelfAuthenticationData
Definition: SelfAuthenticationData.h:59
governikus::FamilyNames
FamilyNames
Definition: SelfAuthenticationData.h:38
EnumHelper.h
governikus::PlaceOfResidenceCountry
PlaceOfResidenceCountry
Definition: SelfAuthenticationData.h:53
governikus::RestrictedID
RestrictedID
Definition: SelfAuthenticationData.h:47
governikus::SelfAuthenticationData::getDateTime
const QDateTime & getDateTime() const
Definition: SelfAuthenticationData.cpp:35
governikus::GivenNames
GivenNames
Definition: AccessRoleAndRight.h:82
SelfAuthenticationData.h
governikus::SelfAuthenticationData::getOrderedSelfData
OrderedSelfData getOrderedSelfData() const
Definition: SelfAuthenticationData.cpp:41
LanguageLoader.h
governikus::LanguageLoader::getUsedLocale
const QLocale & getUsedLocale() const
Definition: LanguageLoader.cpp:176
governikus::Nationality
Nationality
Definition: AccessRoleAndRight.h:76
governikus::SelfAuthenticationData::~SelfAuthenticationData
~SelfAuthenticationData()=default