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  {
48  ReaderStatus = 1
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:
80 };
81 
82 
83 } // 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 getEmptyListDescriptionString() const
Definition: ReaderDriverModel.cpp:271
QString getNoReaderFoundIconPath() const
Definition: ReaderDriverModel.cpp:224
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:152
QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override
Definition: ReaderDriverModel.cpp:130
QHash< int, QByteArray > roleNames() const override
Definition: ReaderDriverModel.cpp:211
bool isInstalledSupportedReader(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:282
QString getReaderImagePath(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:236
QString getHTMLDescription(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:247
QString noReaderFoundIconPath
Definition: ReaderDriverModel.h:26
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ReaderDriverModel.cpp:164
int columnCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:158
QString getLastUpdatedInformation() const
Definition: ReaderDriverModel.cpp:296
QString lastUpdatedInformation
Definition: ReaderDriverModel.h:28
ReaderDriverModel(QObject *pParent=nullptr)
Definition: ReaderDriverModel.cpp:22
void onUpdateContent()
Definition: ReaderDriverModel.cpp:117
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15