AusweisApp
Lade ...
Suche ...
Keine Treffer
ApplicationModel.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Env.h"
9#include "SingletonCreator.h"
10#include "WifiInfo.h"
12
13#include <QObject>
14#include <QQmlEngine>
15#include <QSharedPointer>
16#include <QStringList>
17#include <QTimer>
18#include <QtQml/qqmlregistration.h>
19
20
21#ifdef Q_OS_IOS
22Q_FORWARD_DECLARE_OBJC_CLASS(VoiceOverObserver);
23#endif
24
25class test_UiPluginQml;
26class test_ApplicationModel;
27
28
29namespace governikus
30{
31
33 : public QObject
34 , public SingletonCreator<ApplicationModel>
35{
37 Q_CLASSINFO("RegisterEnumClassesUnscoped", "false")
40
41 friend class Env;
42 friend class ::test_UiPluginQml;
43 friend class ::test_ApplicationModel;
44
47
50
52
54
56
57 // QT_VERSION_CHECK(6, 8, 0) qint64 to qsizetype
60
62 Q_PROPERTY(int feedbackTimeout READ getFeedbackTimeout CONSTANT)
63
65
66#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
68#endif
69
70 private:
72 WifiInfo mWifiInfo;
73 bool mWifiEnabled;
74 QStringList mFeedback;
75 QTimer mFeedbackTimer;
76 bool mIsAppInForeground;
77#ifdef Q_OS_IOS
78 struct Private
79 {
80 Private();
81 ~Private();
82 VoiceOverObserver* const mObserver;
83 };
85#endif
86
88 ~ApplicationModel() override = default;
89 void onStatusChanged(const ReaderManagerPluginInfo& pInfo);
90
91 [[nodiscard]] static constexpr int getFeedbackTimeout()
92 {
93 return 7000;
94 }
95
96 private Q_SLOTS:
97 void onApplicationStateChanged(Qt::ApplicationState pState);
98 void onWifiEnabledChanged();
99
100 public Q_SLOTS:
102
103 public:
104 enum class Settings
105 {
106 WIFI,
107 NETWORK,
108 NFC,
109 APP
110 };
112
123
125 {
127 DISABLED,
128 INACTIVE,
129 READY
130 };
132
134
135 [[nodiscard]] Q_INVOKABLE int randomInt(int pLowerBound, int pUpperBound) const;
136
137 [[nodiscard]] QString getStoreUrl() const;
139
140 [[nodiscard]] NfcState getNfcState() const;
142
143 [[nodiscard]] bool isSmartSupported() const;
144
145 [[nodiscard]] bool isWifiEnabled() const;
149
150 [[nodiscard]] QString getFeedback() const;
151
152 [[nodiscard]] bool isScreenReaderRunning() const;
153
155
156 Q_INVOKABLE void enableWifi()const;
157
158 Q_INVOKABLE void setClipboardText(const QString& pText) const;
159 Q_INVOKABLE void showSettings(const Settings& pAction) const;
160 Q_INVOKABLE void showFeedback(const QString& pMessage, bool pReplaceExisting = false);
161 Q_INVOKABLE void keepScreenOn(bool pActive) const;
162
164#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
166 Q_INVOKABLE void saveEmbeddedConfig(const QUrl& pFilename) const;
167#endif
168 [[nodiscard]] Q_INVOKABLE QString stripHtmlTags(QString pString) const;
170
171 public Q_SLOTS:
173
174 Q_SIGNALS:
176
179
182
184
186
188
190};
191
192
193} // namespace governikus
Definition ApplicationModel.h:35
bool isScreenReaderRunning
Definition ApplicationModel.h:64
Q_INVOKABLE QUrl getCustomConfigPath() const
Definition ApplicationModel.cpp:357
Q_INVOKABLE void showFeedback(const QString &pMessage, bool pReplaceExisting=false)
Definition ApplicationModel.cpp:298
QString storeUrl
Definition ApplicationModel.h:45
Q_INVOKABLE QStringList getLicenseText() const
Definition ApplicationModel.cpp:333
bool isWifiEnabled() const
Definition ApplicationModel.cpp:201
Q_INVOKABLE QString stripHtmlTags(QString pString) const
Definition ApplicationModel.cpp:414
QUrl customConfigPath
Definition ApplicationModel.h:67
Q_INVOKABLE int randomInt(int pLowerBound, int pUpperBound) const
Definition ApplicationModel.cpp:105
Q_INVOKABLE void saveEmbeddedConfig(const QUrl &pFilename) const
Definition ApplicationModel.cpp:363
Settings
Definition ApplicationModel.h:105
QString feedback
Definition ApplicationModel.h:61
NfcState getNfcState() const
Definition ApplicationModel.cpp:141
Q_INVOKABLE bool isReaderTypeAvailable(ReaderManagerPluginType pPluginType) const
Definition ApplicationModel.cpp:257
Q_INVOKABLE void enableWifi() const
Definition ApplicationModel.cpp:406
void fireApplicationStateChanged(bool pIsAppInForeground)
NfcState nfcState
Definition ApplicationModel.h:48
Q_INVOKABLE void keepScreenOn(bool pActive) const
Definition ApplicationModel.cpp:325
Workflow
Definition ApplicationModel.h:114
bool wifiEnabled
Definition ApplicationModel.h:53
void resetContext(const QSharedPointer< WorkflowContext > &pContext=QSharedPointer< WorkflowContext >())
Definition ApplicationModel.cpp:87
QUrl getReleaseNotesUrl() const
Definition ApplicationModel.cpp:133
QUrl releaseNotesUrl
Definition ApplicationModel.h:46
Workflow getCurrentWorkflow() const
Definition ApplicationModel.cpp:207
qint64 availableReader
Definition ApplicationModel.h:58
void onTranslationChanged()
Definition ApplicationModel.cpp:400
Q_INVOKABLE void showSettings(const Settings &pAction) const
Definition ApplicationModel_android.cpp:60
bool isSmartSupported
Definition ApplicationModel.h:51
int feedbackTimeout
Definition ApplicationModel.h:62
qint64 availablePcscReader
Definition ApplicationModel.h:59
NfcState
Definition ApplicationModel.h:125
Workflow currentWorkflow
Definition ApplicationModel.h:55
Q_INVOKABLE void onShowNextFeedback()
Definition ApplicationModel.cpp:279
Q_INVOKABLE void showAppStoreRatingDialog() const
Definition ApplicationModel.cpp:422
bool isExtendedLengthApdusUnsupported() const
Definition ApplicationModel.cpp:170
bool extendedLengthApdusUnsupported
Definition ApplicationModel.h:49
Q_INVOKABLE void setClipboardText(const QString &pText) const
Definition ApplicationModel.cpp:291
qsizetype getAvailablePcscReader() const
Definition ApplicationModel.cpp:246
QString getStoreUrl() const
Definition ApplicationModel.cpp:112
qsizetype getAvailableReader() const
Definition ApplicationModel.cpp:235
QString getFeedback() const
Definition ApplicationModel.cpp:273
Definition Env.h:40
Definition SingletonCreator.h:22
Definition WifiInfo.h:17
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:112