AusweisApp
Lade ...
Suche ...
Keine Treffer
ReaderManagerPlugin.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Reader.h"
8#include "ReaderInfo.h"
10
11#include <QObject>
12#include <QThread>
13
14
15namespace governikus
16{
17
19 : public QObject
20{
21 Q_OBJECT
23
24 private:
25 ReaderManagerPluginInfo mInfo;
26
27 protected:
28 void setPluginEnabled(bool pEnabled)
29 {
30 if (mInfo.isEnabled() != pEnabled)
31 {
32 mInfo.setEnabled(pEnabled);
33 Q_EMIT fireStatusChanged(mInfo);
34 }
35 }
36
37
38 void setPluginAvailable(bool pAvailable)
39 {
40 mInfo.setAvailable(pAvailable);
41 Q_EMIT fireStatusChanged(mInfo);
42 }
43
44
45 void setPluginValue(ReaderManagerPluginInfo::Key pKey, const QVariant& pValue)
46 {
47 mInfo.setValue(pKey, pValue);
48 }
49
50 public:
51 ReaderManagerPlugin(ReaderManagerPluginType pPluginType,
52 bool pAvailable = false,
53 bool pPluginEnabled = false);
54 ~ReaderManagerPlugin() override = default;
55
56 [[nodiscard]] const ReaderManagerPluginInfo& getInfo() const
57 {
58 return mInfo;
59 }
60
61
62 [[nodiscard]] virtual QList<Reader*> getReaders() const = 0;
63
64
65 virtual void init()
66 {
67 Q_ASSERT(QObject::thread() == QThread::currentThread());
68 }
69
70
71 void reset()
72 {
73 shutdown();
74 init();
75 }
76
77
78 virtual void shutdown()
79 {
80 }
81
82
83 virtual void insert(const QString& pReaderName, const QVariant& pData)
84 {
85 Q_UNUSED(pReaderName)
86 Q_UNUSED(pData)
87 }
88
89
90 void shelve() const;
91
92
93 virtual void startScan(bool pAutoConnect);
94 virtual void stopScan(const QString& pError = QString());
95 void setInitialScanState(ReaderManagerPluginInfo::InitialScan pState);
96
97#ifndef QT_NO_DEBUG
98 void setPluginInfo(const ReaderManagerPluginInfo& pInfo)
99 {
100 mInfo = pInfo;
101 Q_EMIT fireStatusChanged(mInfo);
102 }
103
104
105#endif
106
107 Q_SIGNALS:
108 void fireStatusChanged(const ReaderManagerPluginInfo& pInfo);
109 void fireReaderAdded(const ReaderInfo& pInfo);
110 void fireReaderRemoved(const ReaderInfo& pInfo);
111 void fireCardInserted(const ReaderInfo& pInfo);
112 void fireCardRemoved(const ReaderInfo& pInfo);
113 void fireCardInfoChanged(const ReaderInfo& pInfo);
115};
116
117} // namespace governikus
118
119Q_DECLARE_INTERFACE(governikus::ReaderManagerPlugin, "governikus.ReaderManagerPlugin")
Definition ReaderInfo.h:18
Definition ReaderManagerPlugin.h:20
~ReaderManagerPlugin() override=default
const ReaderManagerPluginInfo & getInfo() const
Definition ReaderManagerPlugin.h:56
ReaderManagerPlugin(ReaderManagerPluginType pPluginType, bool pAvailable=false, bool pPluginEnabled=false)
Definition ReaderManagerPlugin.cpp:11
void fireCardInfoChanged(const ReaderInfo &pInfo)
void fireReaderPropertiesUpdated(const ReaderInfo &pInfo)
void fireReaderAdded(const ReaderInfo &pInfo)
void setPluginEnabled(bool pEnabled)
Definition ReaderManagerPlugin.h:28
void setInitialScanState(ReaderManagerPluginInfo::InitialScan pState)
Definition ReaderManagerPlugin.cpp:54
virtual void insert(const QString &pReaderName, const QVariant &pData)
Definition ReaderManagerPlugin.h:83
void setPluginAvailable(bool pAvailable)
Definition ReaderManagerPlugin.h:38
virtual void shutdown()
Definition ReaderManagerPlugin.h:78
void fireReaderRemoved(const ReaderInfo &pInfo)
void fireCardRemoved(const ReaderInfo &pInfo)
friend class MockReaderManagerPlugin
Definition ReaderManagerPlugin.h:22
void fireCardInserted(const ReaderInfo &pInfo)
virtual void stopScan(const QString &pError=QString())
Definition ReaderManagerPlugin.cpp:42
virtual void init()
Definition ReaderManagerPlugin.h:65
virtual void startScan(bool pAutoConnect)
Definition ReaderManagerPlugin.cpp:32
void setPluginValue(ReaderManagerPluginInfo::Key pKey, const QVariant &pValue)
Definition ReaderManagerPlugin.h:45
virtual QList< Reader * > getReaders() const =0
void reset()
Definition ReaderManagerPlugin.h:71
void fireStatusChanged(const ReaderManagerPluginInfo &pInfo)
void setPluginInfo(const ReaderManagerPluginInfo &pInfo)
Definition ReaderManagerPlugin.h:98
void shelve() const
Definition ReaderManagerPlugin.cpp:19
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17