AusweisApp2
ReaderDriverModel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ReaderDetector.h"
10 
11 #include <QAbstractTableModel>
12 #include <QHash>
13 #include <QSet>
14 #include <QTime>
15 #include <QVector>
16 
17 
18 namespace governikus
19 {
20 
22  : public QAbstractTableModel
23 {
24  Q_OBJECT
25 
26  Q_PROPERTY(QString noReaderFoundIconPath READ getNoReaderFoundIconPath CONSTANT)
29 
30  private:
31  const int NUMBER_OF_COLUMNS = 2;
32 
33  QSet<const ReaderConfigurationInfo> mKnownDrivers;
34  QVector<ReaderConfigurationInfo> mConnectedReaders;
35  QTime mConnectedReadersUpdateTime;
36 
37  QString getStatus(const ReaderConfigurationInfo& pReaderConfigurationInfo) const;
38  void collectReaderData();
39 
40  bool indexIsValid(const QModelIndex& pIndex) const;
41 
42  QUrl getReaderImageUrl(const QModelIndex& pIndex) const;
43 
44  public:
45  enum ColumnId : int
46  {
48  ReaderStatus = 1
49  };
50  enum UserRoles
51  {
52  READER_NAME = Qt::UserRole + 1,
58  };
59  ReaderDriverModel(QObject* pParent = nullptr);
60 
61  virtual QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override;
62  virtual int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
63  virtual int columnCount(const QModelIndex& pParent = QModelIndex()) const override;
64  virtual QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
65  QHash<int, QByteArray> roleNames() const override;
66 
67  QString getReaderImagePath(const QModelIndex& pIndex) const;
68  QString getNoReaderFoundIconPath() const;
69  QString getHTMLDescription(const QModelIndex& pIndex) const;
70  QString getEmptyListDescriptionStringQml() const;
71  QString getEmptyListDescriptionString(bool pWidgetUiHelp = true) const;
72  bool isInstalledSupportedReader(const QModelIndex& pIndex) const;
73  QString getLastUpdatedInformation() const;
74 
75  public Q_SLOTS:
76  void onUpdateContent();
77 
78  Q_SIGNALS:
81 };
82 
83 
84 } // namespace governikus
Definition: ReaderConfigurationInfo.h:19
Definition: ReaderDriverModel.h:23
QString emptyListDescriptionString
Definition: ReaderDriverModel.h:27
ColumnId
Definition: ReaderDriverModel.h:46
@ ReaderName
Definition: ReaderDriverModel.h:47
@ ReaderStatus
Definition: ReaderDriverModel.h:48
UserRoles
Definition: ReaderDriverModel.h:51
@ READER_HTML_DESCRIPTION
Definition: ReaderDriverModel.h:55
@ READER_NAME
Definition: ReaderDriverModel.h:52
@ READER_DRIVER_URL
Definition: ReaderDriverModel.h:56
@ READER_STATUS
Definition: ReaderDriverModel.h:53
@ READER_IMAGE_PATH
Definition: ReaderDriverModel.h:54
@ READER_INSTALLED_AND_SUPPORTED
Definition: ReaderDriverModel.h:57
QString getNoReaderFoundIconPath() const
Definition: ReaderDriverModel.cpp:217
virtual int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:145
virtual QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override
Definition: ReaderDriverModel.cpp:123
QHash< int, QByteArray > roleNames() const override
Definition: ReaderDriverModel.cpp:204
bool isInstalledSupportedReader(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:281
QString getEmptyListDescriptionStringQml() const
Definition: ReaderDriverModel.cpp:264
QString getReaderImagePath(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:229
QString getHTMLDescription(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:240
QString noReaderFoundIconPath
Definition: ReaderDriverModel.h:26
virtual QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ReaderDriverModel.cpp:157
virtual int columnCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:151
QString getEmptyListDescriptionString(bool pWidgetUiHelp=true) const
Definition: ReaderDriverModel.cpp:270
QString getLastUpdatedInformation() const
Definition: ReaderDriverModel.cpp:295
QString lastUpdatedInformation
Definition: ReaderDriverModel.h:28
ReaderDriverModel(QObject *pParent=nullptr)
Definition: ReaderDriverModel.cpp:19
void onUpdateContent()
Definition: ReaderDriverModel.cpp:110
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15