AusweisApp2
ReaderManagerWorker.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "CardConnectionWorker.h"
10 #include "ReaderInfo.h"
11 #include "ReaderManagerPlugIn.h"
13 
14 #include <QObject>
15 
16 namespace governikus
17 {
19  : public QObject
20 {
21  Q_OBJECT
22 
23  private:
24  QVector<ReaderManagerPlugIn*> mPlugIns;
25 
26  void callOnPlugIn(ReaderManagerPlugInType pType, const std::function<void(ReaderManagerPlugIn* pPlugIn)>& pFunc, const char* pLog);
27  void registerPlugIns();
28  [[nodiscard]] static bool isPlugIn(const QJsonObject& pJson);
29  void registerPlugIn(ReaderManagerPlugIn* pPlugIn);
30  [[nodiscard]] Reader* getReader(const QString& pReaderName) const;
31 
32  public:
34  ~ReaderManagerWorker() override;
35 
36  Q_INVOKABLE void shutdown();
37 
38  Q_INVOKABLE void reset(ReaderManagerPlugInType pType);
39  Q_INVOKABLE void insert(const ReaderInfo& pReaderInfo, const QVariant& pData);
40  Q_INVOKABLE void shelve();
41  Q_INVOKABLE void startScan(ReaderManagerPlugInType pType, bool pAutoConnect);
42  Q_INVOKABLE void stopScan(ReaderManagerPlugInType pType, const QString& pError);
43  Q_INVOKABLE [[nodiscard]] bool isScanRunning() const;
44  Q_INVOKABLE [[nodiscard]] bool isScanRunning(ReaderManagerPlugInType pType) const;
45 
46  Q_INVOKABLE [[nodiscard]] QVector<ReaderInfo> getReaderInfos() const;
47  Q_INVOKABLE void updateReaderInfo(const QString& pReaderName);
48  Q_INVOKABLE void createCardConnectionWorker(const QString& pReaderName);
49  Q_INVOKABLE void updateRetryCounters();
50 
51  Q_SIGNALS:
52  void firePluginAdded(const ReaderManagerPlugInInfo& pInfo);
53  void fireStatusChanged(const ReaderManagerPlugInInfo& pInfo);
54  void fireReaderAdded(const ReaderInfo& pInfo);
55  void fireReaderRemoved(const ReaderInfo& pInfo);
57  void fireCardInserted(const ReaderInfo& pInfo);
58  void fireCardRemoved(const ReaderInfo& pInfo);
59  void fireCardInfoChanged(const ReaderInfo& pInfo);
60  void fireCardConnectionWorkerCreated(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
62 
63  private Q_SLOTS:
64  void onReaderRemoved(ReaderInfo pInfo);
65 
66  public Q_SLOTS:
67  void onThreadStarted();
68 };
69 
70 } // namespace governikus
Definition: ReaderInfo.h:18
Definition: ReaderManagerPlugIn.h:23
Definition: ReaderManagerWorker.h:20
Q_INVOKABLE void updateRetryCounters()
Definition: ReaderManagerWorker.cpp:284
Q_INVOKABLE void reset(ReaderManagerPlugInType pType)
Definition: ReaderManagerWorker.cpp:138
void onThreadStarted()
Definition: ReaderManagerWorker.cpp:65
Q_INVOKABLE void shutdown()
Definition: ReaderManagerWorker.cpp:39
void fireCardInserted(const ReaderInfo &pInfo)
~ReaderManagerWorker() override
Definition: ReaderManagerWorker.cpp:32
Q_INVOKABLE bool isScanRunning() const
Definition: ReaderManagerWorker.cpp:197
Q_INVOKABLE void stopScan(ReaderManagerPlugInType pType, const QString &pError)
Definition: ReaderManagerWorker.cpp:184
Q_INVOKABLE void shelve()
Definition: ReaderManagerWorker.cpp:158
void firePluginAdded(const ReaderManagerPlugInInfo &pInfo)
void fireReaderAdded(const ReaderInfo &pInfo)
void fireStatusChanged(const ReaderManagerPlugInInfo &pInfo)
Q_INVOKABLE void insert(const ReaderInfo &pReaderInfo, const QVariant &pData)
Definition: ReaderManagerWorker.cpp:148
void fireReaderPropertiesUpdated(const ReaderInfo &pInfo)
Q_INVOKABLE void createCardConnectionWorker(const QString &pReaderName)
Definition: ReaderManagerWorker.cpp:271
void fireReaderRemoved(const ReaderInfo &pInfo)
void fireCardConnectionWorkerCreated(const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker)
void fireCardInfoChanged(const ReaderInfo &pInfo)
Q_INVOKABLE void startScan(ReaderManagerPlugInType pType, bool pAutoConnect)
Definition: ReaderManagerWorker.cpp:171
Q_INVOKABLE QVector< ReaderInfo > getReaderInfos() const
Definition: ReaderManagerWorker.cpp:219
Q_INVOKABLE void updateReaderInfo(const QString &pReaderName)
Definition: ReaderManagerWorker.cpp:236
void fireCardRemoved(const ReaderInfo &pInfo)
Definition: Reader.h:19
A simple template renderer.
Definition: ActivationContext.h:15