AusweisApp2
SurveyModel.h
gehe zur Dokumentation dieser Datei
1 
8 #pragma once
9 
10 #include <QAbstractListModel>
11 #include <QNetworkReply>
12 #include <QObject>
13 #include <QPair>
14 #include <QString>
15 
16 #include "ReaderInfo.h"
17 
18 class test_SurveyModel;
19 
20 namespace governikus
21 {
22 
24  : public QAbstractListModel
25 {
26  Q_OBJECT
27  friend class Env;
28  friend class ::test_SurveyModel;
29 
30  private:
31  const QString mBuildNumber;
32  const QString mOsVersion;
33  const QString mKernelVersion;
34  int mMaximumNfcPacketLength;
35  const QString mVendor;
36  const QString mModelNumber;
37  const QString mModelName;
38  const QString mAusweisAppVersionNumber;
39  QString mNfcTagType;
40  bool mNfcDataAvailable;
41  bool mAuthWasSuccessful;
42 
43  QVector<QPair<QString, QString>> mData;
44  QSharedPointer<QNetworkReply> mReply;
45 
46  enum UserRoles
47  {
48  TITLE = Qt::UserRole + 1,
49  VALUE
50  };
51 
52  SurveyModel();
53  ~SurveyModel() override = default;
54 
55  void buildDataObject();
56  [[nodiscard]] QByteArray toJsonByteArray() const;
57  void resetNfcData();
58 
59  private Q_SLOTS:
60  void onNetworkReplyFinished();
61 
62  public:
63  [[nodiscard]] int rowCount(const QModelIndex& = 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  void setReaderInfo(const ReaderInfo& pReaderInfo);
68  void setAuthWasSuccessful(bool pSuccess);
69 
70  Q_INVOKABLE [[nodiscard]] bool askForDeviceSurvey();
71  [[nodiscard]] bool isDeviceSurveyPending();
72  Q_INVOKABLE void setDeviceSurveyPending(bool pValue);
73 
74 
75  void transmitSurvey();
76 };
77 
78 } // namespace governikus
Definition: Env.h:44
Definition: ReaderInfo.h:18
Definition: SurveyModel.h:25
void transmitSurvey()
Definition: SurveyModel.cpp:218
Q_INVOKABLE bool askForDeviceSurvey()
Definition: SurveyModel.cpp:198
bool isDeviceSurveyPending()
Definition: SurveyModel.cpp:205
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: SurveyModel.cpp:72
void setReaderInfo(const ReaderInfo &pReaderInfo)
Definition: SurveyModel.cpp:152
int rowCount(const QModelIndex &=QModelIndex()) const override
Definition: SurveyModel.cpp:66
Q_INVOKABLE void setDeviceSurveyPending(bool pValue)
Definition: SurveyModel.cpp:212
QHash< int, QByteArray > roleNames() const override
Definition: SurveyModel.cpp:90
void setAuthWasSuccessful(bool pSuccess)
Definition: SurveyModel.cpp:192
struct Data mData
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16