AusweisApp2
ReaderDriverModel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
11 
12 #include <QAbstractTableModel>
13 #include <QHash>
14 #include <QSet>
15 #include <QTime>
16 #include <QVector>
17 
18 
19 namespace governikus
20 {
21 
23  : public QAbstractTableModel
24 {
25  Q_OBJECT
26 
27  Q_PROPERTY(QString noReaderFoundIconPath READ getNoReaderFoundIconPath CONSTANT)
30  Q_PROPERTY(SortedReaderDriverModel * sortedModel READ getSortedModel CONSTANT)
31 
32  private:
33  const int NUMBER_OF_COLUMNS = 2;
34 
35  QSet<const ReaderConfigurationInfo> mKnownDrivers;
36  QVector<ReaderConfigurationInfo> mConnectedReaders;
37  QTime mConnectedReadersUpdateTime;
38  SortedReaderDriverModel mSortedModel;
39 
40  [[nodiscard]] QString getStatus(const ReaderConfigurationInfo& pReaderConfigurationInfo) const;
41  void collectReaderData();
42 
43  [[nodiscard]] bool indexIsValid(const QModelIndex& pIndex) const;
44 
45  [[nodiscard]] QUrl getReaderImageUrl(const QModelIndex& pIndex) const;
46 
47  public:
48  enum ColumnId : int
49  {
51  ReaderStatus = 1
52  };
53  enum UserRoles
54  {
55  READER_NAME = Qt::UserRole + 1,
62  };
63  explicit ReaderDriverModel(QObject* pParent = nullptr);
64 
65  [[nodiscard]] QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override;
66  [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
67  [[nodiscard]] int columnCount(const QModelIndex& pParent = QModelIndex()) const override;
68  [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
69  [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
70 
71  [[nodiscard]] QString getReaderImagePath(const QModelIndex& pIndex) const;
72  [[nodiscard]] QString getNoReaderFoundIconPath() const;
73  [[nodiscard]] QString getHTMLDescription(const QModelIndex& pIndex) const;
74  [[nodiscard]] QString getEmptyListDescriptionString() const;
75  [[nodiscard]] bool isSupportedReader(const QModelIndex& pIndex) const;
76  [[nodiscard]] bool isInstalledReader(const QModelIndex& pIndex) const;
77  [[nodiscard]] QString getLastUpdatedInformation() const;
78 
80 
81  public Q_SLOTS:
82  void onUpdateContent();
83 
84  Q_SIGNALS:
87 };
88 
89 
90 } // namespace governikus
Definition: ReaderConfigurationInfo.h:19
Definition: ReaderDriverModel.h:24
QString emptyListDescriptionString
Definition: ReaderDriverModel.h:28
ColumnId
Definition: ReaderDriverModel.h:49
@ ReaderName
Definition: ReaderDriverModel.h:50
@ ReaderStatus
Definition: ReaderDriverModel.h:51
bool isInstalledReader(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:312
SortedReaderDriverModel * getSortedModel()
Definition: ReaderDriverModel.cpp:337
UserRoles
Definition: ReaderDriverModel.h:54
@ READER_INSTALLED
Definition: ReaderDriverModel.h:60
@ READER_HTML_DESCRIPTION
Definition: ReaderDriverModel.h:58
@ READER_NAME
Definition: ReaderDriverModel.h:55
@ READER_DRIVER_URL
Definition: ReaderDriverModel.h:59
@ READER_STATUS
Definition: ReaderDriverModel.h:56
@ READER_SUPPORTED
Definition: ReaderDriverModel.h:61
@ READER_IMAGE_PATH
Definition: ReaderDriverModel.h:57
QString getEmptyListDescriptionString() const
Definition: ReaderDriverModel.cpp:289
QString getNoReaderFoundIconPath() const
Definition: ReaderDriverModel.cpp:233
bool isSupportedReader(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:300
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:157
QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override
Definition: ReaderDriverModel.cpp:135
QHash< int, QByteArray > roleNames() const override
Definition: ReaderDriverModel.cpp:219
QString getReaderImagePath(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:245
QString getHTMLDescription(const QModelIndex &pIndex) const
Definition: ReaderDriverModel.cpp:256
QString noReaderFoundIconPath
Definition: ReaderDriverModel.h:27
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: ReaderDriverModel.cpp:169
int columnCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: ReaderDriverModel.cpp:163
SortedReaderDriverModel * sortedModel
Definition: ReaderDriverModel.h:30
QString getLastUpdatedInformation() const
Definition: ReaderDriverModel.cpp:324
QString lastUpdatedInformation
Definition: ReaderDriverModel.h:29
ReaderDriverModel(QObject *pParent=nullptr)
Definition: ReaderDriverModel.cpp:24
void onUpdateContent()
Definition: ReaderDriverModel.cpp:122
Definition: SortedReaderDriverModel.h:14
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15