AusweisApp2
IfdServiceContext.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "IfdServer.h"
12 #include "messages/IfdModifyPin.h"
15 
16 #include <QSharedPointer>
17 
18 
19 namespace governikus
20 {
21 
23  : public WorkflowContext
24 {
25  Q_OBJECT
26 
27  private:
28  const QSharedPointer<IfdServer> mIfdServer;
29 
30  QString mNewPin;
31 
32  QString mSlotHandle;
33  EstablishPaceChannel mEstablishPaceChannel;
34  bool mRequestTransportPin;
35  bool mAllowToChangePinLength;
36  EstablishPaceChannelOutput mEstablishPaceChannelOutput;
37 
38  QSharedPointer<const IfdModifyPin> mModifyPinMessage;
39  ResponseApdu mModifyPinMessageResponseApdu;
40 
41  [[nodiscard]] bool isPaceRequestingRights() const;
42 
43  public Q_SLOTS:
44  void onMessageHandlerAdded(QSharedPointer<ServerMessageHandler> pHandler);
45 
46  Q_SIGNALS:
47  void fireCardConnected(const QSharedPointer<CardConnection>& pConnection);
48  void fireCardDisconnected(const QSharedPointer<CardConnection>& pConnection);
49  void fireCancelPasswordRequest(bool pRequestPinChange);
52 
53  public:
54  explicit IfdServiceContext(const QSharedPointer<IfdServer>& pIfdServer);
55  ~IfdServiceContext() override;
56 
57  [[nodiscard]] const QSharedPointer<IfdServer>& getIfdServer() const;
58  [[nodiscard]] bool isRunning() const;
59 
60  [[nodiscard]] const QString& getNewPin() const;
61  void setNewPin(const QString& pNewPin);
62 
63  [[nodiscard]] bool isPinChangeWorkflow() const;
64  [[nodiscard]] bool isPinAuthentication() const;
65  [[nodiscard]] bool isCanAllowedMode() const override;
66 
67  void cancelPasswordRequest();
68 
69  void setEstablishPaceChannel(const QSharedPointer<const IfdEstablishPaceChannel>& pMessage);
70  [[nodiscard]] const QString& getSlotHandle() const;
71  [[nodiscard]] const EstablishPaceChannel& getEstablishPaceChannel() const;
72 
73  void changePinLength();
74  [[nodiscard]] bool allowToChangePinLength() const;
75  [[nodiscard]] bool isRequestTransportPin() const override;
76 
77  void setEstablishPaceChannelOutput(const EstablishPaceChannelOutput& pEstablishPaceChannelOutput);
78  [[nodiscard]] const EstablishPaceChannelOutput& getEstablishPaceChannelOutput() const;
79 
80  void setModifyPinMessage(const QSharedPointer<const IfdModifyPin>& pMessage);
81  [[nodiscard]] const QSharedPointer<const IfdModifyPin>& getModifyPinMessage() const;
82 
83  void setModifyPinMessageResponseApdu(const ResponseApdu& pModifyPinMessageResponseApdu);
84  [[nodiscard]] const ResponseApdu& getModifyPinMessageResponseApdu() const;
85  [[nodiscard]] bool modifyPinRunning() const;
86 
87  void resetPacePasswords() override;
88  Q_INVOKABLE void reset();
89 
90  [[nodiscard]] QVector<AcceptedEidType> getAcceptedEidTypes() const override;
91 
92 
93 };
94 
95 } // namespace governikus
Definition: EstablishPaceChannelOutput.h:48
Definition: EstablishPaceChannel.h:43
Definition: IfdServiceContext.h:24
const QSharedPointer< const IfdModifyPin > & getModifyPinMessage() const
Definition: IfdServiceContext.cpp:192
void fireCardConnected(const QSharedPointer< CardConnection > &pConnection)
Q_INVOKABLE void reset()
Definition: IfdServiceContext.cpp:223
bool isPinAuthentication() const
Definition: IfdServiceContext.cpp:93
void setNewPin(const QString &pNewPin)
Definition: IfdServiceContext.cpp:81
void setEstablishPaceChannel(const QSharedPointer< const IfdEstablishPaceChannel > &pMessage)
Definition: IfdServiceContext.cpp:111
bool isRequestTransportPin() const override
Definition: IfdServiceContext.cpp:167
IfdServiceContext(const QSharedPointer< IfdServer > &pIfdServer)
Definition: IfdServiceContext.cpp:26
~IfdServiceContext() override
Definition: IfdServiceContext.cpp:50
void changePinLength()
Definition: IfdServiceContext.cpp:148
QVector< AcceptedEidType > getAcceptedEidTypes() const override
Definition: IfdServiceContext.cpp:235
void resetPacePasswords() override
Definition: IfdServiceContext.cpp:216
void fireCancelPasswordRequest(bool pRequestPinChange)
const ResponseApdu & getModifyPinMessageResponseApdu() const
Definition: IfdServiceContext.cpp:204
bool modifyPinRunning() const
Definition: IfdServiceContext.cpp:210
const EstablishPaceChannelOutput & getEstablishPaceChannelOutput() const
Definition: IfdServiceContext.cpp:179
void setModifyPinMessageResponseApdu(const ResponseApdu &pModifyPinMessageResponseApdu)
Definition: IfdServiceContext.cpp:198
void fireCardDisconnected(const QSharedPointer< CardConnection > &pConnection)
void setModifyPinMessage(const QSharedPointer< const IfdModifyPin > &pMessage)
Definition: IfdServiceContext.cpp:185
const QString & getSlotHandle() const
Definition: IfdServiceContext.cpp:136
bool allowToChangePinLength() const
Definition: IfdServiceContext.cpp:161
bool isRunning() const
Definition: IfdServiceContext.cpp:68
void cancelPasswordRequest()
Definition: IfdServiceContext.cpp:105
const QSharedPointer< IfdServer > & getIfdServer() const
Definition: IfdServiceContext.cpp:61
bool isPinChangeWorkflow() const
Definition: IfdServiceContext.cpp:87
void setEstablishPaceChannelOutput(const EstablishPaceChannelOutput &pEstablishPaceChannelOutput)
Definition: IfdServiceContext.cpp:173
void onMessageHandlerAdded(QSharedPointer< ServerMessageHandler > pHandler)
Definition: IfdServiceContext.cpp:17
const QString & getNewPin() const
Definition: IfdServiceContext.cpp:75
const EstablishPaceChannel & getEstablishPaceChannel() const
Definition: IfdServiceContext.cpp:142
bool isCanAllowedMode() const override
Definition: IfdServiceContext.cpp:99
A simple template renderer.
Definition: ActivationContext.h:15