AusweisApp
Lade ...
Suche ...
Keine Treffer
DiagnosisModel.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "ContentItem.h"
11#include "SectionModel.h"
14
15#include <QAbstractListModel>
16#include <QMap>
17#include <QScopedPointer>
18#include <QSharedPointer>
19#include <QString>
20#include <QUrl>
21#include <QVector>
22
23
24class test_DiagnosisModel;
25
26
27namespace governikus
28{
29
31 : public QAbstractListModel
32{
33 Q_OBJECT
34
35 friend class ::test_DiagnosisModel;
36
37 Q_PROPERTY(bool running READ isRunning NOTIFY fireRunningChanged)
38
39 private:
40 enum ContentRoles
41 {
42 ContentRole = Qt::UserRole + 1
43 };
44
45 enum class Section : int
46 {
47 GENERAL,
48 READER,
49 NETWORK,
50 SECURITY
51 };
52
53 QMap<Section, QSharedPointer<SectionModel>> mSections;
54 QSharedPointer<DiagnosisContext> mContext;
55 DiagnosisController mDiagnosisController;
56
57 QVector<ContentItem> mAusweisAppSection;
58 QVector<ContentItem> mTimestampSection;
59
60 bool mRemoteDeviceSectionRunning;
61 QVector<ContentItem> mRemoteDeviceSection;
62 bool mCardReaderSectionRunning;
63 QVector<ContentItem> mCardReaderSection;
64 bool mPcscSectionRunning;
65 QVector<ContentItem> mPcscSection;
66
67 DiagnosisConnectionTest mConnectionTest;
68 QVector<ContentItem> mNetworkConnectionSection;
69 QVector<ContentItem> mNetworkInterfaceSection;
70
71 bool mAntivirusSectionRunning;
72 DiagnosisAntivirusDetection mAntivirusDetection;
73 QVector<ContentItem> mAntivirusSection;
74 bool mFirewallSectionRunning;
75 DiagnosisFirewallDetection mFirewallDetection;
76 QVector<ContentItem> mFirewallSection;
77
78 [[nodiscard]] QString getSectionName(Section pSection) const;
79 void initGeneralSections();
80 void updateGeneralSection();
81 void initNetworkSections();
82 void updateNetworkSection(bool pUpdateTimestamp = true);
83 void initCardReaderSections();
84 void updateCardReaderSection(bool pUpdateTimestamp = true);
85 void initAntiVirusAndFirewallSection();
86 void updateAntiVirusAndFirewallSection(bool pUpdateTimestamp = true);
87 void connectSignals();
88 void disconnectSignals();
89
90 [[nodiscard]] QString boolToString(bool pBoolean) const;
91 [[nodiscard]] QString getAsPlaintext() const;
92
93 void initContent();
94
95 public:
96 explicit DiagnosisModel();
97 ~DiagnosisModel() override;
98
99 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
100 [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
101 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
102
103 [[nodiscard]] Q_INVOKABLE QString getCreationTime() const;
104 Q_INVOKABLE void saveToFile(const QUrl& pFilename) const;
105 [[nodiscard]] bool isRunning() const;
106
107 Q_SIGNALS:
109
110 private Q_SLOTS:
111 void onTimestampChanged();
112 void onNetworkInfoChanged();
113 void onConnectionTestDone();
114 void onAntivirusInformationChanged();
115 void onAntivirusDetectionFailed();
116 void onFirewallInformationReady();
117 void onFirewallInformationFailed();
118 void onPcscInfoChanged();
119 void onRemoteInfosChanged();
120 void onReaderInfosChanged();
121};
122
123} // namespace governikus
Definition DiagnosisModel.h:32
~DiagnosisModel() override
Definition DiagnosisModel.cpp:67
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition DiagnosisModel.cpp:352
Q_INVOKABLE QString getCreationTime() const
Definition DiagnosisModel.cpp:368
Q_INVOKABLE void saveToFile(const QUrl &pFilename) const
Definition DiagnosisModel.cpp:374
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition DiagnosisModel.cpp:329
DiagnosisModel()
Definition DiagnosisModel.cpp:27
bool running
Definition DiagnosisModel.h:37
QHash< int, QByteArray > roleNames() const override
Definition DiagnosisModel.cpp:359
bool isRunning() const
Definition DiagnosisModel.cpp:385
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
READER
Definition MsgTypes.h:29