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 <QList>
17#include <QMap>
18#include <QScopedPointer>
19#include <QSharedPointer>
20#include <QString>
21#include <QUrl>
22#include <QtQml/qqmlregistration.h>
23
24
25class test_DiagnosisModel;
26
27
28namespace governikus
29{
30
32 : public QAbstractListModel
33{
36
37 friend class ::test_DiagnosisModel;
38
40
41 private:
42 enum ContentRoles
43 {
44 ContentRole = Qt::UserRole + 1
45 };
46
47 enum class Section : int
48 {
49 GENERAL,
50 READER,
51 NETWORK,
52 SECURITY
53 };
54
57 DiagnosisController mDiagnosisController;
58
59 QList<ContentItem> mAusweisAppSection;
60 QList<ContentItem> mTimestampSection;
61
62 bool mRemoteDeviceSectionRunning;
63 QList<ContentItem> mRemoteDeviceSection;
64 bool mCardReaderSectionRunning;
65 QList<ContentItem> mCardReaderSection;
66 bool mPcscSectionRunning;
67 QList<ContentItem> mPcscSection;
68
69 DiagnosisConnectionTest mConnectionTest;
70 QList<ContentItem> mNetworkConnectionSection;
71 QList<ContentItem> mNetworkInterfaceSection;
72
73 bool mAntivirusSectionRunning;
74 DiagnosisAntivirusDetection mAntivirusDetection;
75 QList<ContentItem> mAntivirusSection;
76 bool mFirewallSectionRunning;
77 DiagnosisFirewallDetection mFirewallDetection;
78 QList<ContentItem> mFirewallSection;
79
80 [[nodiscard]] QString getSectionName(Section pSection) const;
81 void initGeneralSections();
82 void updateGeneralSection();
83 void initNetworkSections();
84 void updateNetworkSection(bool pUpdateTimestamp = true);
85 void initCardReaderSections();
86 void updateCardReaderSection(bool pUpdateTimestamp = true);
87 void initAntiVirusAndFirewallSection();
88 void updateAntiVirusAndFirewallSection(bool pUpdateTimestamp = true);
89 void connectSignals();
90 void disconnectSignals();
91
92 [[nodiscard]] QString boolToString(bool pBoolean) const;
93 [[nodiscard]] QString getAsPlaintext() const;
94
95 void initContent();
96
97 public:
98 explicit DiagnosisModel();
99 ~DiagnosisModel() override;
100
101 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
102 [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
103 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
104
105 [[nodiscard]] Q_INVOKABLE QString getCreationTime() const;
106 Q_INVOKABLE void saveToFile(const QUrl& pFilename) const;
107 [[nodiscard]] bool isRunning() const;
108
109 Q_SIGNALS:
111
112 private Q_SLOTS:
113 void onTimestampChanged();
114 void onNetworkInfoChanged();
115 void onConnectionTestDone();
116 void onAntivirusInformationChanged();
117 void onAntivirusDetectionFailed();
118 void onFirewallInformationReady();
119 void onFirewallInformationFailed();
120 void onPcscInfoChanged();
121 void onRemoteInfosChanged();
122 void onReaderInfosChanged();
123};
124
125} // namespace governikus
Definition DiagnosisModel.h:33
~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:39
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:17
READER
Definition MsgTypes.h:30
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114