AusweisApp2
Lade ...
Suche ...
Keine Treffer
ServerMessageHandler.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
10#include "CardConnection.h"
11#include "DataChannel.h"
14#include "ReaderManager.h"
16
17#include <QMap>
18#include <QScopedPointer>
19#include <QSharedPointer>
20
21
22namespace governikus
23{
24
26 : public QObject
27{
28 Q_OBJECT
29
30 protected:
32
33 public:
34 ~ServerMessageHandler() override;
35
36 virtual void sendEstablishPaceChannelResponse(const QString& pSlotHandle, const EstablishPaceChannelOutput&) = 0;
37 virtual void sendModifyPinResponse(const QString& pSlotHandle, const ResponseApdu& pResponseApdu) = 0;
38
39 Q_SIGNALS:
40 void fireCardConnectionEstablished(const QSharedPointer<CardConnection>& pConnection);
41 void fireEstablishPaceChannel(const QSharedPointer<const IfdEstablishPaceChannel>& pMessage, const QSharedPointer<CardConnection>& pConnection);
42 void fireModifyPin(const QSharedPointer<const IfdModifyPin>& pMessage, const QSharedPointer<CardConnection>& pConnection);
43 void fireClosed();
45};
46
47
50{
51 Q_OBJECT
52
53 private:
54 QPointer<ReaderManager> mReaderManager;
55 const QSharedPointer<RemoteDispatcherServer> mRemoteDispatcher;
56 QMap<QString, QSharedPointer<CardConnection>> mCardConnections;
57
58 [[nodiscard]] QString slotHandleForReaderName(const QString& pReaderName) const;
59
60 void handleIfdGetStatus(const QJsonObject& pJsonObject);
61 void handleIfdConnect(const QJsonObject& pJsonObject);
62 void handleIfdDisconnect(const QJsonObject& pJsonObject);
63 void handleIfdTransmit(const QJsonObject& pJsonObject);
64 void handleIfdEstablishPaceChannel(const QJsonObject& pJsonObject);
65 void handleIfdModifyPIN(const QJsonObject& pJsonObject);
66
67 private Q_SLOTS:
68 void onCreateCardConnectionCommandDone(QSharedPointer<CreateCardConnectionCommand> pCommand);
69 void onTransmitCardCommandDone(QSharedPointer<BaseCardCommand> pCommand);
70 void onClosed();
71 void onRemoteMessage(RemoteCardMessageType pMessageType, const QJsonObject& pJsonObject);
72 void onReaderChanged(const ReaderInfo& pInfo);
73 void onReaderRemoved(const ReaderInfo& pInfo);
74
75 public:
76 explicit ServerMessageHandlerImpl(const QSharedPointer<DataChannel>& pDataChannel);
77
78 void sendEstablishPaceChannelResponse(const QString& pSlotHandle, const EstablishPaceChannelOutput& pChannelOutput) override;
79 void sendModifyPinResponse(const QString& pSlotHandle, const ResponseApdu& pResponseApdu) override;
80};
81
82
83} // namespace governikus
Definition: EstablishPaceChannelOutput.h:48
Definition: ReaderInfo.h:17
Definition: ResponseApdu.h:84
Definition: ServerMessageHandler.h:50
void sendModifyPinResponse(const QString &pSlotHandle, const ResponseApdu &pResponseApdu) override
Definition: ServerMessageHandler.cpp:304
void sendEstablishPaceChannelResponse(const QString &pSlotHandle, const EstablishPaceChannelOutput &pChannelOutput) override
Definition: ServerMessageHandler.cpp:258
Definition: ServerMessageHandler.h:27
void fireModifyPin(const QSharedPointer< const IfdModifyPin > &pMessage, const QSharedPointer< CardConnection > &pConnection)
void fireCardConnectionEstablished(const QSharedPointer< CardConnection > &pConnection)
~ServerMessageHandler() override
Definition: ServerMessageHandler.cpp:42
virtual void sendModifyPinResponse(const QString &pSlotHandle, const ResponseApdu &pResponseApdu)=0
void fireEstablishPaceChannel(const QSharedPointer< const IfdEstablishPaceChannel > &pMessage, const QSharedPointer< CardConnection > &pConnection)
virtual void sendEstablishPaceChannelResponse(const QString &pSlotHandle, const EstablishPaceChannelOutput &)=0
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15