AusweisApp2
ServerMessageHandlerImpl.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "DataChannel.h"
10 #include "IfdDispatcherServer.h"
11 #include "ReaderInfo.h"
13 #include "ServerMessageHandler.h"
16 #include "messages/IfdMessage.h"
17 
18 #include <QMap>
19 #include <QPointer>
20 #include <QVector>
21 
22 
23 namespace governikus
24 {
25 
27  : public ServerMessageHandler
28 {
29  Q_OBJECT
30 
31  private:
32  const QSharedPointer<IfdDispatcherServer> mDispatcher;
33  QVector<ReaderManagerPlugInType> mAllowedPlugInTypes;
34  QMap<QString, QSharedPointer<CardConnection>> mCardConnections;
35 
36  [[nodiscard]] QString slotHandleForReaderName(const QString& pReaderName) const;
37 
38  void handleIfdGetStatus(const QJsonObject& pJsonObject);
39  void handleIfdConnect(const QJsonObject& pJsonObject);
40  void handleIfdDisconnect(const QJsonObject& pJsonObject);
41  void handleIfdTransmit(const QJsonObject& pJsonObject);
42  void handleIfdEstablishPaceChannel(const QJsonObject& pJsonObject);
43  void handleIfdModifyPIN(const QJsonObject& pJsonObject);
44 
45  private Q_SLOTS:
46  void onCreateCardConnectionCommandDone(QSharedPointer<CreateCardConnectionCommand> pCommand);
47  void onTransmitCardCommandDone(QSharedPointer<BaseCardCommand> pCommand);
48  void onClosed();
49  void onMessage(IfdMessageType pMessageType, const QJsonObject& pJsonObject);
50  void onReaderChanged(const ReaderInfo& pInfo);
51  void onReaderRemoved(const ReaderInfo& pInfo);
52 
53  public:
54  explicit ServerMessageHandlerImpl(const QSharedPointer<DataChannel>& pDataChannel,
55  const QVector<ReaderManagerPlugInType>& pAllowedPlugInTypes = Enum<ReaderManagerPlugInType>::getList());
56 
57  void sendEstablishPaceChannelResponse(const QString& pSlotHandle, const EstablishPaceChannelOutput& pChannelOutput) override;
58  void sendModifyPinResponse(const QString& pSlotHandle, const ResponseApdu& pResponseApdu) override;
59 };
60 
61 
62 } // namespace governikus
Definition: EnumHelper.h:100
Definition: EstablishPaceChannelOutput.h:48
Definition: ReaderInfo.h:18
Definition: ServerMessageHandlerImpl.h:28
void sendModifyPinResponse(const QString &pSlotHandle, const ResponseApdu &pResponseApdu) override
Definition: ServerMessageHandlerImpl.cpp:302
ServerMessageHandlerImpl(const QSharedPointer< DataChannel > &pDataChannel, const QVector< ReaderManagerPlugInType > &pAllowedPlugInTypes=Enum< ReaderManagerPlugInType >::getList())
Definition: ServerMessageHandlerImpl.cpp:43
void sendEstablishPaceChannelResponse(const QString &pSlotHandle, const EstablishPaceChannelOutput &pChannelOutput) override
Definition: ServerMessageHandlerImpl.cpp:256
Definition: ServerMessageHandler.h:25
A simple template renderer.
Definition: ActivationContext.h:15