AusweisApp2
IfdDispatcher.h
gehe zur Dokumentation dieser Datei
1 
9 #pragma once
10 
11 #include "DataChannel.h"
12 #include "GlobalStatus.h"
13 #include "messages/IfdMessage.h"
14 #include "messages/IfdVersion.h"
15 
16 #include <QObject>
17 #include <QSharedPointer>
18 
19 
20 namespace governikus
21 {
22 
24  : public QObject
25 {
26  Q_OBJECT
27 
28  private:
29  const QSharedPointer<DataChannel> mDataChannel;
30  IfdVersion::Version mVersion;
31  QString mContextHandle;
32 
33  virtual bool processContext(IfdMessageType pMsgType, const QJsonObject& pMsgObject) = 0;
34 
35  private Q_SLOTS:
36  void onReceived(const QByteArray& pDataBlock);
37  void onClosed(GlobalStatus::Code pCloseCode);
38 
39  protected:
40  void setContextHandle(const QString& pHandle);
41  void setVersion(IfdVersion::Version pVersion);
42 
43  public:
44  explicit IfdDispatcher(IfdVersion::Version pVersion, const QSharedPointer<DataChannel>& pDataChannel);
45  ~IfdDispatcher() override;
46 
47  [[nodiscard]] virtual QString getId() const;
48  [[nodiscard]] virtual const QString& getContextHandle() const;
49  [[nodiscard]] IfdVersion::Version getVersion() const;
50  void saveRemoteNameInSettings(const QString& pName);
51 
52  void close();
53  Q_INVOKABLE virtual void send(const QSharedPointer<const IfdMessage>& pMessage);
54 
55  Q_SIGNALS:
56  void fireReceived(IfdMessageType pMessageType, const QJsonObject& pJsonObject, const QString& pId);
57  void fireClosed(GlobalStatus::Code pCloseCode, const QString& pId);
58 };
59 
60 } // namespace governikus
Code
Definition: GlobalStatus.h:26
Definition: IfdDispatcher.h:25
void setVersion(IfdVersion::Version pVersion)
Definition: IfdDispatcher.cpp:86
void fireReceived(IfdMessageType pMessageType, const QJsonObject &pJsonObject, const QString &pId)
IfdDispatcher(IfdVersion::Version pVersion, const QSharedPointer< DataChannel > &pDataChannel)
Definition: IfdDispatcher.cpp:21
void fireClosed(GlobalStatus::Code pCloseCode, const QString &pId)
IfdVersion::Version getVersion() const
Definition: IfdDispatcher.cpp:109
virtual Q_INVOKABLE void send(const QSharedPointer< const IfdMessage > &pMessage)
Definition: IfdDispatcher.cpp:124
virtual const QString & getContextHandle() const
Definition: IfdDispatcher.cpp:103
~IfdDispatcher() override
Definition: IfdDispatcher.cpp:34
void setContextHandle(const QString &pHandle)
Definition: IfdDispatcher.cpp:80
void close()
Definition: IfdDispatcher.cpp:140
void saveRemoteNameInSettings(const QString &pName)
Definition: IfdDispatcher.cpp:115
virtual QString getId() const
Definition: IfdDispatcher.cpp:92
Version
Definition: IfdVersion.h:17
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16