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 
8 #include "ContentItem.h"
12 #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 
29  private:
30  friend class ::test_DiagnosisModel;
31  QVector<QPair<QString, QSharedPointer<SectionModel>>> mSections;
32  QSharedPointer<DiagnosisContext> mContext;
33  DiagnosisAntivirusDetection mAntivirusDetection;
34  DiagnosisFirewallDetection mFirewallDetection;
35  DiagnosisConnectionTest mConnectionTest;
36  QSharedPointer<ContentItem> mTimestampItem;
37  QSharedPointer<SectionModel> mNetworkInterfaceSection;
38  QSharedPointer<SectionModel> mNetworkConnectionSection;
39  QSharedPointer<SectionModel> mCombinedNetworkSection;
40  QSharedPointer<SectionModel> mCombinedAntivirusFirewallSection;
41  QSharedPointer<SectionModel> mAntivirusSection;
42  bool mAntivirusSectionRunning;
43  QSharedPointer<SectionModel> mFirewallSection;
44  bool mFirewallSectionRunning;
45  QSharedPointer<SectionModel> mCombinedReaderSection;
46  QSharedPointer<SectionModel> mCardReaderSection;
47  bool mCardReaderSectionRunning;
48  QSharedPointer<SectionModel> mPcscSection;
49  bool mPcscSectionRunning;
50  QSharedPointer<SectionModel> mRemoteDeviceSection;
51  bool mRemoteDeviceSectionRunning;
52 
53  QSharedPointer<SectionModel> createAusweisApp2Section();
54  void createNetworkSection();
55  void createCardReaderSection();
56  void createAntiVirusAndFirewallSection();
57  void connectSignals();
58  void disconnectSignals();
59 
60  public:
61  explicit DiagnosisModel(const QSharedPointer<DiagnosisContext>& pContext);
62  ~DiagnosisModel() override;
63 
64  [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
65  [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
66 
67  [[nodiscard]] QString getFirstSectionName() const;
68  QAbstractListModel* getSectionContent(const QString& pSection);
69  [[nodiscard]] QDateTime getCreationTime() const;
70  Q_INVOKABLE [[nodiscard]] QString getCreationTimeString() const;
71  [[nodiscard]] QString getAsPlaintext() const;
72  [[nodiscard]] QString boolToString(bool pBoolean) const;
73  [[nodiscard]] bool isRunning() const;
74 
75  Q_SIGNALS:
77 
78  private Q_SLOTS:
79  void onTimestampChanged();
80  void onNetworkInfoChanged();
81  void onConnectionTestDone();
82  void onAntivirusInformationChanged();
83  void onAntivirusDetectionFailed();
84  void onFirewallInformationReady();
85  void onFirewallInformationFailed();
86  void onPcscInfoChanged();
87  void onRemoteInfosChanged();
88  void onReaderInfosChanged();
89  void reloadContent();
90 };
91 
92 } // namespace governikus
Definition: DiagnosisAntivirusDetection.h:52
Definition: DiagnosisConnectionTest.h:24
Definition: DiagnosisFirewallDetection.h:74
Definition: DiagnosisModel.h:26
~DiagnosisModel() override
Definition: DiagnosisModel.cpp:32
QString getFirstSectionName() const
Definition: DiagnosisModel.cpp:172
QAbstractListModel * getSectionContent(const QString &pSection)
Definition: DiagnosisModel.cpp:178
Q_INVOKABLE QString getCreationTimeString() const
Definition: DiagnosisModel.cpp:199
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: DiagnosisModel.cpp:165
DiagnosisModel(const QSharedPointer< DiagnosisContext > &pContext)
Definition: DiagnosisModel.cpp:20
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: DiagnosisModel.cpp:151
QString boolToString(bool pBoolean) const
Definition: DiagnosisModel.cpp:226
QString getAsPlaintext() const
Definition: DiagnosisModel.cpp:205
bool isRunning() const
Definition: DiagnosisModel.cpp:232
QDateTime getCreationTime() const
Definition: DiagnosisModel.cpp:193
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15