AusweisApp
Lade ...
Suche ...
Keine Treffer
DiagnosisModel.h
gehe zur Dokumentation dieser Datei
1
4
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{
34 Q_OBJECT
35 QML_ELEMENT
36
37 friend class ::test_DiagnosisModel;
38
39 Q_PROPERTY(bool running READ isRunning NOTIFY fireRunningChanged)
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
55 QMap<Section, QSharedPointer<SectionModel>> mSections;
56 QSharedPointer<DiagnosisContext> mContext;
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() const;
90 void disconnectSignals() const;
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
~DiagnosisModel() override
Definition DiagnosisModel.cpp:64
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition DiagnosisModel.cpp:349
Q_INVOKABLE QString getCreationTime() const
Definition DiagnosisModel.cpp:365
Q_INVOKABLE void saveToFile(const QUrl &pFilename) const
Definition DiagnosisModel.cpp:371
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition DiagnosisModel.cpp:326
DiagnosisModel()
Definition DiagnosisModel.cpp:24
bool running
Definition DiagnosisModel.h:39
QHash< int, QByteArray > roleNames() const override
Definition DiagnosisModel.cpp:356
bool isRunning() const
Definition DiagnosisModel.cpp:382
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
READER
Definition MsgTypes.h:26