AusweisApp2
DiagnosisModel.h
gehe zur Dokumentation dieser Datei
1 /*
2  * \copyright Copyright (c) 2018-2022 Governikus GmbH & Co. KG, Germany
3  */
4 
5 #pragma once
6 
7 #include "ContentItem.h"
11 #include "SectionModel.h"
13 
14 #include <QAbstractListModel>
15 #include <QPair>
16 #include <QSharedPointer>
17 #include <QVector>
18 
19 class test_DiagnosisModel;
20 
21 namespace governikus
22 {
23 
25  : public QAbstractListModel
26 {
27  Q_OBJECT
28  friend class ::test_DiagnosisModel;
29 
30  private:
31  enum ContentRoles
32  {
33  ContentRole = Qt::UserRole + 1
34  };
35 
36  QVector<QPair<QString, QSharedPointer<SectionModel>>> mSections;
37  QSharedPointer<DiagnosisContext> mContext;
38  DiagnosisAntivirusDetection mAntivirusDetection;
39  DiagnosisFirewallDetection mFirewallDetection;
40  DiagnosisConnectionTest mConnectionTest;
41  QSharedPointer<ContentItem> mTimestampItem;
42  QSharedPointer<SectionModel> mNetworkInterfaceSection;
43  QSharedPointer<SectionModel> mNetworkConnectionSection;
44  QSharedPointer<SectionModel> mCombinedNetworkSection;
45  QSharedPointer<SectionModel> mCombinedAntivirusFirewallSection;
46  QSharedPointer<SectionModel> mAntivirusSection;
47  bool mAntivirusSectionRunning;
48  QSharedPointer<SectionModel> mFirewallSection;
49  bool mFirewallSectionRunning;
50  QSharedPointer<SectionModel> mCombinedReaderSection;
51  QSharedPointer<SectionModel> mCardReaderSection;
52  bool mCardReaderSectionRunning;
53  QSharedPointer<SectionModel> mPcscSection;
54  bool mPcscSectionRunning;
55  QSharedPointer<SectionModel> mRemoteDeviceSection;
56  bool mRemoteDeviceSectionRunning;
57 
58  QSharedPointer<SectionModel> createAusweisApp2Section();
59  void createNetworkSection();
60  void createCardReaderSection();
61  void createAntiVirusAndFirewallSection();
62  void connectSignals();
63  void disconnectSignals();
64 
65  [[nodiscard]] QString boolToString(bool pBoolean) const;
66 
67  public:
68  explicit DiagnosisModel(const QSharedPointer<DiagnosisContext>& pContext);
69  ~DiagnosisModel() override;
70 
71  [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
72  [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
73  [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
74 
75  [[nodiscard]] QString getCreationTime() const;
76  [[nodiscard]] QString getAsPlaintext() const;
77  [[nodiscard]] bool isRunning() const;
78  void reloadContent();
79 
80  Q_SIGNALS:
82 
83  private Q_SLOTS:
84  void onTimestampChanged();
85  void onNetworkInfoChanged();
86  void onConnectionTestDone();
87  void onAntivirusInformationChanged();
88  void onAntivirusDetectionFailed();
89  void onFirewallInformationReady();
90  void onFirewallInformationFailed();
91  void onPcscInfoChanged();
92  void onRemoteInfosChanged();
93  void onReaderInfosChanged();
94 };
95 
96 } // namespace governikus
Definition: DiagnosisAntivirusDetection.h:52
Definition: DiagnosisConnectionTest.h:24
Definition: DiagnosisFirewallDetection.h:75
Definition: DiagnosisModel.h:26
void reloadContent()
Definition: DiagnosisModel.cpp:672
~DiagnosisModel() override
Definition: DiagnosisModel.cpp:31
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: DiagnosisModel.cpp:198
QString getCreationTime() const
Definition: DiagnosisModel.cpp:214
DiagnosisModel(const QSharedPointer< DiagnosisContext > &pContext)
Definition: DiagnosisModel.cpp:19
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: DiagnosisModel.cpp:175
QString getAsPlaintext() const
Definition: DiagnosisModel.cpp:220
QHash< int, QByteArray > roleNames() const override
Definition: DiagnosisModel.cpp:205
bool isRunning() const
Definition: DiagnosisModel.cpp:241
A simple template renderer.
Definition: ActivationContext.h:15