AusweisApp2
AccessRightManager.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "asn1/CVCertificate.h"
11 
12 #include <QDebug>
13 #include <QObject>
14 #include <QPointer>
15 #include <QSharedPointer>
16 
17 class test_ChatModel;
18 
19 namespace governikus
20 {
21 
23  : public QObject
24 {
25  Q_OBJECT
26  friend class ::test_ChatModel;
27 
28  public:
29  explicit AccessRightManager(QSharedPointer<DIDAuthenticateEAC1> pDIDAuthenticateEAC1, QSharedPointer<const CVCertificate> pTerminalCvc);
30 
31 
32  [[nodiscard]] const QSharedPointer<const CVCertificate>& getTerminalCvc() const
33  {
34  return mTerminalCvc;
35  }
36 
37 
38  [[nodiscard]] const QSet<AccessRight>& getOptionalAccessRights() const
39  {
40  return mOptionalAccessRights;
41  }
42 
43 
44  [[nodiscard]] const QSet<AccessRight>& getRequiredAccessRights() const
45  {
46  return mRequiredAccessRights;
47  }
48 
49 
50  [[nodiscard]] const QSet<AccessRight>& getEffectiveAccessRights() const
51  {
52  return mEffectiveAccessRights;
53  }
54 
55 
56  void operator+=(AccessRight pAccessRight);
57  void operator-=(AccessRight pAccessRight);
58  void operator=(const QSet<AccessRight>& pAccessRights);
59  operator QByteArray() const;
60 
61  Q_SIGNALS:
63 
64  private:
65  QSharedPointer<const CVCertificate> mTerminalCvc;
66  QSharedPointer<DIDAuthenticateEAC1> mDIDAuthenticateEAC1;
67  QSet<AccessRight> mOptionalAccessRights;
68  QSet<AccessRight> mEffectiveAccessRights;
69  QSet<AccessRight> mRequiredAccessRights;
70 
71  void removeForbiddenAccessRights(QSet<AccessRight>& pAccessRights);
72 };
73 
74 } // namespace governikus
Definition: AccessRightManager.h:24
const QSet< AccessRight > & getEffectiveAccessRights() const
Definition: AccessRightManager.h:50
const QSet< AccessRight > & getRequiredAccessRights() const
Definition: AccessRightManager.h:44
const QSharedPointer< const CVCertificate > & getTerminalCvc() const
Definition: AccessRightManager.h:32
void operator=(const QSet< AccessRight > &pAccessRights)
Definition: AccessRightManager.cpp:151
const QSet< AccessRight > & getOptionalAccessRights() const
Definition: AccessRightManager.h:38
void operator+=(AccessRight pAccessRight)
Definition: AccessRightManager.cpp:117
AccessRightManager(QSharedPointer< DIDAuthenticateEAC1 > pDIDAuthenticateEAC1, QSharedPointer< const CVCertificate > pTerminalCvc)
Definition: AccessRightManager.cpp:17
void operator-=(AccessRight pAccessRight)
Definition: AccessRightManager.cpp:134
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16