AusweisApp
Lade ...
Suche ...
Keine Treffer
ApplicationModel.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "Env.h"
13#include "SingletonCreator.h"
14#include "WifiInfo.h"
16
17#include <QObject>
18#include <QQmlEngine>
19#include <QSharedPointer>
20#include <QStringList>
21#include <QTimer>
22#include <QtQml/qqmlregistration.h>
23
24#ifdef Q_OS_IOS
25Q_FORWARD_DECLARE_OBJC_CLASS(VoiceOverObserver);
26#endif
27
28class test_UiPluginQml;
29
30
31namespace governikus
32{
33
35 : public QObject
36 , public SingletonCreator<ApplicationModel>
37{
39 Q_CLASSINFO("RegisterEnumClassesUnscoped", "false")
42
43 friend class Env;
44 friend class ::test_UiPluginQml;
45
48
51
53
55
57
58 // QT_VERSION_CHECK(6, 8, 0) qint64 to qsizetype
61
63
64#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
66#endif
67
68 private:
70 WifiInfo mWifiInfo;
71 bool mWifiEnabled;
72 QStringList mFeedback;
73 QTimer mFeedbackTimer;
74 const int mFeedbackDisplayLength;
75 bool mIsAppInForeground;
76#ifdef Q_OS_IOS
77 struct Private
78 {
79 Private();
80 ~Private();
81 VoiceOverObserver* const mObserver;
82 };
84#endif
85
87 ~ApplicationModel() override = default;
88 void onStatusChanged(const ReaderManagerPluginInfo& pInfo);
89
90 private Q_SLOTS:
91 void onApplicationStateChanged(Qt::ApplicationState pState);
92 void onWifiEnabledChanged();
93
94 public Q_SLOTS:
96
97 public:
98 enum class Settings
99 {
100 WIFI,
101 NETWORK,
102 NFC,
103 APP
104 };
106
117
119 {
121 DISABLED,
122 INACTIVE,
123 READY
124 };
126
128
129 [[nodiscard]] Q_INVOKABLE int randomInt(int pLowerBound, int pUpperBound) const;
130
131 [[nodiscard]] QString getStoreUrl() const;
133
134 [[nodiscard]] NfcState getNfcState() const;
136
137 [[nodiscard]] bool isSmartSupported() const;
138
139 [[nodiscard]] bool isWifiEnabled() const;
143
144 [[nodiscard]] QString getFeedback() const;
145
147
149
150 Q_INVOKABLE void enableWifi()const;
151
152 Q_INVOKABLE void setClipboardText(const QString& pText) const;
153 Q_INVOKABLE void showSettings(const Settings& pAction) const;
154 Q_INVOKABLE void showFeedback(const QString& pMessage, bool pReplaceExisting = false);
155 Q_INVOKABLE void keepScreenOn(bool pActive) const;
156
158#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
160 Q_INVOKABLE void saveEmbeddedConfig(const QUrl& pFilename) const;
161#endif
162 [[nodiscard]] Q_INVOKABLE QString stripHtmlTags(QString pString) const;
163#ifdef Q_OS_IOS
165#endif
166
167 public Q_SLOTS:
169
170 Q_SIGNALS:
172
175
178
180
182
184};
185
186
187} // namespace governikus
Definition ApplicationModel.h:37
Q_INVOKABLE QUrl getCustomConfigPath() const
Definition ApplicationModel.cpp:348
Q_INVOKABLE void showFeedback(const QString &pMessage, bool pReplaceExisting=false)
Definition ApplicationModel.cpp:289
QString storeUrl
Definition ApplicationModel.h:46
Q_INVOKABLE QStringList getLicenseText() const
Definition ApplicationModel.cpp:324
bool isWifiEnabled() const
Definition ApplicationModel.cpp:192
Q_INVOKABLE QString stripHtmlTags(QString pString) const
Definition ApplicationModel.cpp:405
QUrl customConfigPath
Definition ApplicationModel.h:65
Q_INVOKABLE int randomInt(int pLowerBound, int pUpperBound) const
Definition ApplicationModel.cpp:96
Q_INVOKABLE void saveEmbeddedConfig(const QUrl &pFilename) const
Definition ApplicationModel.cpp:354
Settings
Definition ApplicationModel.h:99
QString feedback
Definition ApplicationModel.h:62
NfcState getNfcState() const
Definition ApplicationModel.cpp:132
Q_INVOKABLE bool isReaderTypeAvailable(ReaderManagerPluginType pPluginType) const
Definition ApplicationModel.cpp:248
Q_INVOKABLE void enableWifi() const
Definition ApplicationModel.cpp:397
void fireApplicationStateChanged(bool pIsAppInForeground)
NfcState nfcState
Definition ApplicationModel.h:49
Q_INVOKABLE void keepScreenOn(bool pActive) const
Definition ApplicationModel.cpp:316
Workflow
Definition ApplicationModel.h:108
bool wifiEnabled
Definition ApplicationModel.h:54
void resetContext(const QSharedPointer< WorkflowContext > &pContext=QSharedPointer< WorkflowContext >())
Definition ApplicationModel.cpp:78
QUrl getReleaseNotesUrl() const
Definition ApplicationModel.cpp:124
QUrl releaseNotesUrl
Definition ApplicationModel.h:47
Workflow getCurrentWorkflow() const
Definition ApplicationModel.cpp:198
qint64 availableReader
Definition ApplicationModel.h:59
void onTranslationChanged()
Definition ApplicationModel.cpp:391
Q_INVOKABLE void showSettings(const Settings &pAction) const
Definition ApplicationModel_android.cpp:41
bool isSmartSupported
Definition ApplicationModel.h:52
qint64 availablePcscReader
Definition ApplicationModel.h:60
NfcState
Definition ApplicationModel.h:119
Workflow currentWorkflow
Definition ApplicationModel.h:56
Q_INVOKABLE void onShowNextFeedback()
Definition ApplicationModel.cpp:270
bool isExtendedLengthApdusUnsupported() const
Definition ApplicationModel.cpp:161
bool extendedLengthApdusUnsupported
Definition ApplicationModel.h:50
Q_INVOKABLE void setClipboardText(const QString &pText) const
Definition ApplicationModel.cpp:282
qsizetype getAvailablePcscReader() const
Definition ApplicationModel.cpp:237
QString getStoreUrl() const
Definition ApplicationModel.cpp:103
qsizetype getAvailableReader() const
Definition ApplicationModel.cpp:226
Q_INVOKABLE bool isScreenReaderRunning() const
Definition ApplicationModel_android.cpp:88
QString getFeedback() const
Definition ApplicationModel.cpp:264
Definition Env.h:42
Definition SingletonCreator.h:22
Definition WifiInfo.h:21
Implementation of GeneralAuthenticate response APDUs.
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:114