AusweisApp2
ReaderDetector.h
gehe zur Dokumentation dieser Datei
1 
8 #pragma once
9 
10 #include "Env.h"
11 #include "ReaderConfiguration.h"
12 #include "UsbId.h"
13 
14 #ifdef Q_OS_MACOS
15 #include <IOKit/IOKitLib.h>
16 #endif
17 
18 #ifdef Q_OS_LINUX
19 #include <QThread>
20 class DeviceListener;
21 #endif
22 
23 #ifdef Q_OS_WIN
24 #include <QAbstractNativeEventFilter>
25 #endif
26 
27 #include <QSharedPointer>
28 #include <QVector>
29 
30 namespace governikus
31 {
32 
34  : public QObject
35  #ifdef Q_OS_WIN
36  , QAbstractNativeEventFilter
37  #endif
38 {
39  Q_OBJECT
40  friend class Env;
41 
42  private:
43  #ifdef Q_OS_MACOS
44  io_iterator_t mIteratorPublish;
45 
46  io_iterator_t mIteratorTerminated;
47  #endif
48 
49  #ifdef Q_OS_LINUX
50  DeviceListener* mDeviceListener;
51  #endif
52 
53  bool initNativeEvents();
54  bool terminateNativeEvents();
55 
56  protected:
58  ~ReaderDetector() override;
59  static ReaderDetector& getInstance();
60 
61  public:
62  virtual QVector<UsbId> attachedDevIds() const;
63 
64  #ifdef Q_OS_WIN
65  bool nativeEventFilter(const QByteArray& pEventType, void* pMessage, long* pResult) override;
66  #endif
67 
72  QVector<ReaderConfigurationInfo> getAttachedSupportedDevices() const;
73 
74  ReaderConfigurationInfo getReaderConfigurationInfo(const QString& pReaderName);
75 
76  Q_SIGNALS:
78 };
79 
80 } // namespace governikus
static ReaderDetector & getInstance()
Definition: ReaderDetector.cpp:37
void fireReaderChangeDetected()
Definition: moc_ReaderDetector.cpp:129
~ReaderDetector() override
Definition: ReaderDetector.cpp:31
Definition: ReaderDetector.h:33
virtual QVector< UsbId > attachedDevIds() const
Definition: ReaderDetector_generic.cpp:23
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
QVector< ReaderConfigurationInfo > getAttachedSupportedDevices() const
getAttachedDevices produce a list of supported devices that are attached to the system ...
Definition: ReaderDetector.cpp:43
Definition: ReaderDetector_linux.cpp:22
Definition: Env.h:38
Definition: ReaderConfigurationInfo.h:18
ReaderConfigurationInfo getReaderConfigurationInfo(const QString &pReaderName)
Definition: ReaderDetector.cpp:61