AusweisApp
Lade ...
Suche ...
Keine Treffer
IfdReaderManagerPlugin.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "IfdClient.h"
10#include "messages/IfdStatus.h"
11
12#include <QMap>
13#include <QSharedPointer>
14
15
16class test_RemoteIfdReaderManagerPlugin;
17
18
19namespace governikus
20{
21
22
24 : public ReaderManagerPlugin
25{
26 Q_OBJECT
27 friend class ::test_RemoteIfdReaderManagerPlugin;
28
29 private:
30 QMultiMap<QByteArray, QString> mReadersForDispatcher;
31 QMap<QByteArray, QSharedPointer<IfdDispatcherClient>> mDispatcherList;
32 QMap<QString, Reader*> mReaderList;
33
34 void processConnectedReader(const QString& pReaderName, const IfdStatus& pIfdStatus, const QSharedPointer<IfdDispatcherClient>& pDispatcher, const QByteArray& pId);
35 void handleIFDStatus(const QJsonObject& pJsonObject, const QByteArray& pId);
36
37 private Q_SLOTS:
38 void onContextEstablished(const QString& pIfdName, const QByteArray& pId) const;
39 void onMessage(IfdMessageType pMessageType, const QJsonObject& pJsonObject, const QByteArray& pId);
40 void onDispatcherClosed(GlobalStatus::Code pCloseCode, const QByteArray& pId);
41
42 protected:
43 virtual void addDispatcher(const QSharedPointer<IfdDispatcherClient>& pDispatcher);
45 void removeDispatcher(const QByteArray& pId);
46 [[nodiscard]] const QMap<QByteArray, QSharedPointer<IfdDispatcherClient>>& getDispatchers() const;
47
48 virtual IfdClient* getIfdClient() const = 0;
49
50 public:
51 IfdReaderManagerPlugin(ReaderManagerPluginType pPluginType, bool pAvailable = false, bool pPluginEnabled = false);
52 ~IfdReaderManagerPlugin() override;
53
54 void init() override;
55 [[nodiscard]] QList<Reader*> getReaders() const override;
56
57 void insert(const QString& pReaderName, const QVariant& pData) override;
58
59 void startScan(bool pAutoConnect) override;
60 void stopScan(const QString& pError = QString()) override;
61
62};
63
64} // namespace governikus
Code
Definition GlobalStatus.h:25
Definition IfdClient.h:22
Definition IfdReaderManagerPlugin.h:25
QList< Reader * > getReaders() const override
Definition IfdReaderManagerPlugin.cpp:243
IfdReaderManagerPlugin(ReaderManagerPluginType pPluginType, bool pAvailable=false, bool pPluginEnabled=false)
Definition IfdReaderManagerPlugin.cpp:213
void removeAllDispatchers()
Definition IfdReaderManagerPlugin.cpp:49
virtual void addDispatcher(const QSharedPointer< IfdDispatcherClient > &pDispatcher)
Definition IfdReaderManagerPlugin.cpp:251
void startScan(bool pAutoConnect) override
Definition IfdReaderManagerPlugin.cpp:278
const QMap< QByteArray, QSharedPointer< IfdDispatcherClient > > & getDispatchers() const
Definition IfdReaderManagerPlugin.cpp:295
void removeDispatcher(const QByteArray &pId)
Definition IfdReaderManagerPlugin.cpp:19
void stopScan(const QString &pError=QString()) override
Definition IfdReaderManagerPlugin.cpp:286
virtual IfdClient * getIfdClient() const =0
~IfdReaderManagerPlugin() override
Definition IfdReaderManagerPlugin.cpp:222
void init() override
Definition IfdReaderManagerPlugin.cpp:234
void insert(const QString &pReaderName, const QVariant &pData) override
Definition IfdReaderManagerPlugin.cpp:265
Definition IfdStatus.h:22
Definition ReaderManagerPlugin.h:20
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17