AusweisApp
Lade ...
Suche ...
Keine Treffer
ApplicationModel.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "Env.h"
13#include "WifiInfo.h"
15
16#include <QObject>
17#include <QQmlEngine>
18#include <QSharedPointer>
19#include <QStringList>
20#include <QTimer>
21
22#ifdef Q_OS_IOS
23Q_FORWARD_DECLARE_OBJC_CLASS(VoiceOverObserver);
24#endif
25
26class test_UIPlugInQml;
27
28
29namespace governikus
30{
31
33 : public QObject
34{
35 Q_OBJECT
36 friend class Env;
37 friend class ::test_UIPlugInQml;
38
39 Q_PROPERTY(QString storeUrl READ getStoreUrl NOTIFY fireStoreUrlChanged)
40 Q_PROPERTY(QUrl releaseNotesUrl READ getReleaseNotesUrl CONSTANT)
41
44
45 Q_PROPERTY(bool wifiEnabled READ isWifiEnabled NOTIFY fireWifiEnabledChanged)
46
48 Q_PROPERTY(qsizetype availableReader READ getAvailableReader NOTIFY fireAvailableReaderChanged)
50
51 Q_PROPERTY(QString feedback READ getFeedback NOTIFY fireFeedbackChanged)
52
53#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
54 Q_PROPERTY(QUrl customConfigPath READ getCustomConfigPath CONSTANT)
55#endif
56
57 private:
58 QSharedPointer<WorkflowContext> mContext;
59 WifiInfo mWifiInfo;
60 bool mWifiEnabled;
61 QStringList mFeedback;
62 QTimer mFeedbackTimer;
63 const int mFeedbackDisplayLength;
64 bool mIsAppInForeground;
65#ifdef Q_OS_IOS
66 struct Private
67 {
68 Private();
69 ~Private();
70 VoiceOverObserver* const mObserver;
71 };
72 const QScopedPointer<Private> mPrivate;
73#endif
74
76 ~ApplicationModel() override = default;
77 void onStatusChanged(const ReaderManagerPlugInInfo& pInfo);
78
79 private Q_SLOTS:
80 void onApplicationStateChanged(Qt::ApplicationState pState);
81 void onWifiEnabledChanged();
82
83 public Q_SLOTS:
85
86 public:
87 enum class Settings
88 {
93 };
94 Q_ENUM(Settings)
95
96 enum class Workflow
97 {
104 };
105 Q_ENUM(Workflow)
106
107 enum class QmlNfcState
108 {
113 };
114 Q_ENUM(QmlNfcState)
115
116 void resetContext(const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
117
118 [[nodiscard]] Q_INVOKABLE int randomInt(int pLowerBound, int pUpperBound) const;
119
120 [[nodiscard]] QString getStoreUrl() const;
121 [[nodiscard]] QUrl getReleaseNotesUrl() const;
122
123 [[nodiscard]] QmlNfcState getNfcState() const;
124 [[nodiscard]] bool isExtendedLengthApdusUnsupported() const;
125
126 [[nodiscard]] bool isWifiEnabled() const;
127 [[nodiscard]] Workflow getCurrentWorkflow() const;
128 [[nodiscard]] qsizetype getAvailableReader() const;
129 [[nodiscard]] qsizetype getAvailablePcscReader() const;
130
131 [[nodiscard]] QString getFeedback() const;
132
133 [[nodiscard]] Q_INVOKABLE bool isScreenReaderRunning() const;
134
135 [[nodiscard]] Q_INVOKABLE bool isReaderTypeAvailable(ReaderManagerPlugInType pPlugInType) const;
136
137 Q_INVOKABLE void enableWifi()const;
138
139 Q_INVOKABLE void setClipboardText(const QString& pText) const;
140 Q_INVOKABLE void showSettings(const Settings& pAction) const;
141 Q_INVOKABLE void showFeedback(const QString& pMessage, bool pReplaceExisting = false);
142 Q_INVOKABLE void keepScreenOn(bool pActive) const;
143
144 [[nodiscard]] Q_INVOKABLE QStringList getLicenseText() const;
145#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
146 [[nodiscard]] Q_INVOKABLE QUrl getCustomConfigPath() const;
147 Q_INVOKABLE void saveEmbeddedConfig(const QUrl& pFilename) const;
148#endif
149 [[nodiscard]] Q_INVOKABLE QString stripHtmlTags(QString pString) const;
150#ifdef Q_OS_IOS
151 Q_INVOKABLE void showAppStoreRatingDialog();
152#endif
153
154 public Q_SLOTS:
155 Q_INVOKABLE void onShowNextFeedback();
156
157 Q_SIGNALS:
159
162
165
167
169
170 void fireApplicationStateChanged(bool pIsAppInForeground);
171};
172
173
174} // namespace governikus
Definition ApplicationModel.h:34
Q_INVOKABLE QUrl getCustomConfigPath() const
Definition ApplicationModel.cpp:402
Q_INVOKABLE void showFeedback(const QString &pMessage, bool pReplaceExisting=false)
Definition ApplicationModel.cpp:298
QString storeUrl
Definition ApplicationModel.h:39
Q_INVOKABLE QStringList getLicenseText() const
Definition ApplicationModel.cpp:378
bool isWifiEnabled() const
Definition ApplicationModel.cpp:184
Q_INVOKABLE QString stripHtmlTags(QString pString) const
Definition ApplicationModel.cpp:462
QUrl customConfigPath
Definition ApplicationModel.h:54
Q_INVOKABLE bool isReaderTypeAvailable(ReaderManagerPlugInType pPlugInType) const
Definition ApplicationModel.cpp:240
qsizetype availableReader
Definition ApplicationModel.h:48
Q_INVOKABLE int randomInt(int pLowerBound, int pUpperBound) const
Definition ApplicationModel.cpp:101
Q_INVOKABLE void saveEmbeddedConfig(const QUrl &pFilename) const
Definition ApplicationModel.cpp:411
Settings
Definition ApplicationModel.h:88
QString feedback
Definition ApplicationModel.h:51
qsizetype availablePcscReader
Definition ApplicationModel.h:49
Q_INVOKABLE void enableWifi() const
Definition ApplicationModel.cpp:454
void fireApplicationStateChanged(bool pIsAppInForeground)
Q_INVOKABLE void keepScreenOn(bool pActive) const
Definition ApplicationModel.cpp:355
QmlNfcState
Definition ApplicationModel.h:108
QmlNfcState nfcState
Definition ApplicationModel.h:42
Workflow
Definition ApplicationModel.h:97
bool wifiEnabled
Definition ApplicationModel.h:45
void resetContext(const QSharedPointer< WorkflowContext > &pContext=QSharedPointer< WorkflowContext >())
Definition ApplicationModel.cpp:83
QUrl getReleaseNotesUrl() const
Definition ApplicationModel.cpp:129
QUrl releaseNotesUrl
Definition ApplicationModel.h:40
Workflow getCurrentWorkflow() const
Definition ApplicationModel.cpp:190
void onTranslationChanged()
Definition ApplicationModel.cpp:448
Q_INVOKABLE void showSettings(const Settings &pAction) const
Definition ApplicationModel_android.cpp:40
Workflow currentWorkflow
Definition ApplicationModel.h:47
Q_INVOKABLE void onShowNextFeedback()
Definition ApplicationModel.cpp:280
bool isExtendedLengthApdusUnsupported() const
Definition ApplicationModel.cpp:166
bool extendedLengthApdusUnsupported
Definition ApplicationModel.h:43
Q_INVOKABLE void setClipboardText(const QString &pText) const
Definition ApplicationModel.cpp:292
QmlNfcState getNfcState() const
Definition ApplicationModel.cpp:137
qsizetype getAvailablePcscReader() const
Definition ApplicationModel.cpp:229
QString getStoreUrl() const
Definition ApplicationModel.cpp:108
qsizetype getAvailableReader() const
Definition ApplicationModel.cpp:218
Q_INVOKABLE bool isScreenReaderRunning() const
Definition ApplicationModel.cpp:257
QString getFeedback() const
Definition ApplicationModel.cpp:274
Definition Env.h:42
Definition WifiInfo.h:21
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16