AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
ServerMessageHandler.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "CardConnection.h"
10 #include "DataChannel.h"
12 #include "ReaderManager.h"
13 #include "RemoteDispatcher.h"
14 
15 #include <QMap>
16 #include <QScopedPointer>
17 #include <QSharedPointer>
18 
19 
20 namespace governikus
21 {
22 
23 class CreateCardConnectionCommand;
24 
26  : public QObject
27 {
28  Q_OBJECT
29 
30  protected:
31  ServerMessageHandler() = default;
32 
33  public:
34  virtual ~ServerMessageHandler();
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 fireEstablishPaceChannel(const QSharedPointer<const IfdEstablishPaceChannel>& pMessage, const QSharedPointer<CardConnection>& pConnection);
41  void fireModifyPin(const QSharedPointer<const IfdModifyPin>& pMessage, const QSharedPointer<CardConnection>& pConnection);
42  void fireClosed();
43 };
44 
45 
47  : public ServerMessageHandler
48  , public MessageReceiver
49 {
50  Q_OBJECT
51 
52  private:
53  QPointer<ReaderManager> mReaderManager;
54  const QSharedPointer<RemoteDispatcher> mRemoteDispatcher;
55  QMap<QString, QSharedPointer<CardConnection> > mCardConnections;
56 
57  QString convertSlotHandleBackwardsCompatibility(const QString& pSlotHandle);
58 
59  virtual void process(const QSharedPointer<const GetIfdStatus>& pMessage) override;
60  virtual void process(const QSharedPointer<const IfdConnect>& pMessage) override;
61  virtual void process(const QSharedPointer<const IfdDisconnect>& pMessage) override;
62  virtual void process(const QSharedPointer<const IfdTransmit>& pMessage) override;
63  virtual void process(const QSharedPointer<const IfdEstablishPaceChannel>& pMessage) override;
64  virtual void process(const QSharedPointer<const IfdModifyPin>& pMessage) override;
65 
66  virtual void unprocessed(const QSharedPointer<const RemoteMessage>& pMessage) override;
67  void unexpectedMessage(const QSharedPointer<const RemoteMessage>& pMessage, bool pSendMessage = false);
68 
69  private Q_SLOTS:
70  void onCreateCardConnectionCommandDone(QSharedPointer<CreateCardConnectionCommand> pCommand);
71  void onTransmitCardCommandDone(QSharedPointer<BaseCardCommand> pCommand);
72  void onClosed();
73  void onReceived(const QSharedPointer<const RemoteMessage>& pMessage);
74  void onReaderChanged(const QString& pReaderName);
75  void onReaderRemoved(const QString& pReaderName);
76 
77  public:
78  ServerMessageHandlerImpl(const QSharedPointer<DataChannel>& pDataChannel);
79 
80  virtual void sendEstablishPaceChannelResponse(const QString& pSlotHandle, const EstablishPACEChannelOutput& pChannelOutput) override;
81  virtual void sendModifyPinResponse(const QString& pSlotHandle, const ResponseApdu& pResponseApdu) override;
82 };
83 
84 
85 } /* namespace governikus */
ServerMessageHandlerImpl(const QSharedPointer< DataChannel > &pDataChannel)
Definition: ServerMessageHandler.cpp:47
void fireModifyPin(const QSharedPointer< const IfdModifyPin > &pMessage, const QSharedPointer< CardConnection > &pConnection)
void fireEstablishPaceChannel(const QSharedPointer< const IfdEstablishPaceChannel > &pMessage, const QSharedPointer< CardConnection > &pConnection)
Definition: ServerMessageHandler.h:46
virtual ~ServerMessageHandler()
Definition: ServerMessageHandler.cpp:42
Definition: ServerMessageHandler.h:25
virtual void sendModifyPinResponse(const QString &pSlotHandle, const ResponseApdu &pResponseApdu)=0
Definition: EstablishPACEChannel.h:98
virtual void sendModifyPinResponse(const QString &pSlotHandle, const ResponseApdu &pResponseApdu) override
Definition: ServerMessageHandler.cpp:280
virtual void sendEstablishPaceChannelResponse(const QString &pSlotHandle, const EstablishPACEChannelOutput &)=0
Definition: MessageReceiver.h:31
Definition: Apdu.h:118
virtual void sendEstablishPaceChannelResponse(const QString &pSlotHandle, const EstablishPACEChannelOutput &pChannelOutput) override
Definition: ServerMessageHandler.cpp:239