AusweisApp2
ReaderDriverModel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
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  [[nodiscard]] QString getStatus(const ReaderConfigurationInfo& pReaderConfigurationInfo) const;
38  void collectReaderData();
39 
40  [[nodiscard]] bool indexIsValid(const QModelIndex& pIndex) const;
41 
42  [[nodiscard]] QUrl getReaderImageUrl(const QModelIndex& pIndex) const;
43 
44  public:
45  enum ColumnId : int
46  {
49  };
50  enum UserRoles
51  {
52  READER_NAME = Qt::UserRole + 1,
58  };
59  explicit ReaderDriverModel(QObject* pParent = nullptr);
60 
61  [[nodiscard]] QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override;
62  [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
63  [[nodiscard]] int columnCount(const QModelIndex& pParent = QModelIndex()) const override;
64  [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
65  [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
66 
67  [[nodiscard]] QString getReaderImagePath(const QModelIndex& pIndex) const;
68  [[nodiscard]] QString getNoReaderFoundIconPath() const;
69  [[nodiscard]] QString getHTMLDescription(const QModelIndex& pIndex) const;
70  [[nodiscard]] QString getEmptyListDescriptionString() const;
71  [[nodiscard]] bool isInstalledSupportedReader(const QModelIndex& pIndex) const;
72  [[nodiscard]] QString getLastUpdatedInformation() const;
73 
74  public Q_SLOTS:
75  void onUpdateContent();
76 
77  Q_SIGNALS:
78  void fireModelChanged();
79  void fireLanguageChanged();
80 };
81 
82 
83 } // namespace governikus
QString noReaderFoundIconPath
Definition: ReaderDriverModel.h:26
Definition: ReaderDriverModel.h:47
QHash< int, QByteArray > roleNames() const override
Definition: ReaderDriverModel.cpp:211
QString getEmptyListDescriptionString() const
Definition: ReaderDriverModel.cpp:271
QString lastUpdatedInformation
Definition: ReaderDriverModel.h:28
bool isInstalledSupportedReader(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:282
ReaderDriverModel(QObject *pParent=nullptr)
Definition: ReaderDriverModel.cpp:22
Definition: ReaderDriverModel.h:48
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:152
void onUpdateContent()
Definition: ReaderDriverModel.cpp:117
UserRoles
Definition: ReaderDriverModel.h:50
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
QString getLastUpdatedInformation() const
Definition: ReaderDriverModel.cpp:296
int columnCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:158
Definition: ReaderDriverModel.h:56
QString getHTMLDescription(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:247
Definition: ReaderDriverModel.h:53
Definition: ReaderDriverModel.h:54
QString emptyListDescriptionString
Definition: ReaderDriverModel.h:27
ColumnId
Definition: ReaderDriverModel.h:45
Definition: ReaderConfigurationInfo.h:18
Definition: ReaderDriverModel.h:52
QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override
Definition: ReaderDriverModel.cpp:130
QString getNoReaderFoundIconPath() const
Definition: ReaderDriverModel.cpp:224
Definition: ReaderDriverModel.h:21
QString getReaderImagePath(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:236
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ReaderDriverModel.cpp:164