AusweisApp2
Lade ...
Suche ...
Keine Treffer
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
23namespace governikus
24{
25
26defineEnumType(SelfAuthDataPermission,
27 UNKNOWN /* used for parser only */,
28 ALLOWED,
29 PROHIBITED,
30 NOTONCHIP)
31
32defineEnumType(SelfAuthData,
33 UNKNOWN, /* used for parser only */
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 [[nodiscard]] bool isValid() const;
96 [[nodiscard]] QString getValue(SelfAuthData pData) const;
97 [[nodiscard]] const QDateTime& getDateTime() const;
98 [[nodiscard]] OrderedSelfData getOrderedSelfData() const;
99};
100
101} // namespace governikus
#define defineEnumType(enumName,...)
Definition: EnumHelper.h:86
Definition: SelfAuthenticationData.h:59
QVector< QPair< QString, QString > > OrderedSelfData
Definition: SelfAuthenticationData.h:61
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
UNKNOWN
Definition: SmartCardDefinitions.h:18
DateOfExpiry
Definition: SelfAuthenticationData.h:36
RestrictedID
Definition: SelfAuthenticationData.h:47
BirthName
Definition: AccessRoleAndRight.h:75
GivenNames
Definition: AccessRoleAndRight.h:82
IssuingState
Definition: SelfAuthenticationData.h:35
PlaceOfResidenceCity
Definition: SelfAuthenticationData.h:52
PlaceOfResidence
Definition: SelfAuthenticationData.h:44
PlaceOfResidenceCountry
Definition: SelfAuthenticationData.h:53
PlaceOfResidenceStreet
Definition: SelfAuthenticationData.h:51
DateOfBirth
Definition: AccessRoleAndRight.h:78
FamilyNames
Definition: SelfAuthenticationData.h:38
ResidencePermitI
Definition: AccessRoleAndRight.h:72
AcademicTitle
Definition: SelfAuthenticationData.h:40
Nationality
Definition: AccessRoleAndRight.h:76
PlaceOfResidenceZipCode
Definition: SelfAuthenticationData.h:54
PlaceVerification
Definition: SelfAuthenticationData.h:49
DocumentType
Definition: AccessRoleAndRight.h:85
ArtisticName
Definition: AccessRoleAndRight.h:80
AgeVerification
Definition: AccessRoleAndRight.h:89
PlaceOfBirth
Definition: AccessRoleAndRight.h:77