AusweisApp
Lade ...
Suche ...
Keine Treffer
ServerMessageHandlerImpl.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "DataChannel.h"
9#include "ReaderInfo.h"
14#include "messages/IfdMessage.h"
15
16#include <QList>
17#include <QMap>
18#include <QPointer>
19
20
21namespace governikus
22{
23
26{
27 Q_OBJECT
28
29 private:
30 const QSharedPointer<IfdDispatcherServer> mDispatcher;
31 QList<ReaderManagerPluginType> mAllowedPluginTypes;
32 QList<ReaderManagerPluginType> mAllowedCardTypes;
33 QMap<QString, QSharedPointer<CardConnection>> mCardConnections;
34
35 [[nodiscard]] QString slotHandleForReaderName(const QString& pReaderName) const;
36 [[nodiscard]] bool isAllowed(const QSharedPointer<CardConnection>& pCardConnection, QStringView pCommand) 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 handleIfdDestroyPaceChannel(const QJsonObject& pJsonObject);
44 void handleIfdModifyPIN(const QJsonObject& pJsonObject);
45 void sendIfdStatus(const ReaderInfo& pReaderInfo);
46
47 private Q_SLOTS:
48 void onCreateCardConnectionCommandDone(QSharedPointer<CreateCardConnectionCommand> pCommand);
49 void onTransmitCardCommandDone(QSharedPointer<BaseCardCommand> pCommand);
50 void onDestroyPaceChannelCommandDone(QSharedPointer<BaseCardCommand> pCommand);
51 void onClosed();
52 void onMessage(IfdMessageType pMessageType, const QJsonObject& pJsonObject);
53 void onReaderChanged(const ReaderInfo& pInfo);
54 void onReaderRemoved(const ReaderInfo& pInfo);
55 void onUpdateRetryCounterDone(QSharedPointer<BaseCardCommand> pCommand);
56
57 public:
58 explicit ServerMessageHandlerImpl(const QSharedPointer<DataChannel>& pDataChannel,
59 const QList<ReaderManagerPluginType>& pAllowedTypes = Enum<ReaderManagerPluginType>::getList());
60
61 void sendEstablishPaceChannelResponse(const QString& pSlotHandle, const EstablishPaceChannelOutput& pChannelOutput) override;
62 void sendModifyPinResponse(const QString& pSlotHandle, const ResponseApdu& pResponseApdu) override;
63 void setAllowedCardTypes(const QList<ReaderManagerPluginType>& pAllowedCardTypes) override;
64};
65
66
67} // namespace governikus
Definition EnumHelper.h:95
Definition EstablishPaceChannelOutput.h:45
Definition ReaderInfo.h:18
Definition ServerMessageHandlerImpl.h:26
ServerMessageHandlerImpl(const QSharedPointer< DataChannel > &pDataChannel, const QList< ReaderManagerPluginType > &pAllowedTypes=Enum< ReaderManagerPluginType >::getList())
Definition ServerMessageHandlerImpl.cpp:43
void sendModifyPinResponse(const QString &pSlotHandle, const ResponseApdu &pResponseApdu) override
Definition ServerMessageHandlerImpl.cpp:357
void setAllowedCardTypes(const QList< ReaderManagerPluginType > &pAllowedCardTypes) override
Definition ServerMessageHandlerImpl.cpp:392
void sendEstablishPaceChannelResponse(const QString &pSlotHandle, const EstablishPaceChannelOutput &pChannelOutput) override
Definition ServerMessageHandlerImpl.cpp:265
Definition ServerMessageHandler.h:23
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17