AusweisApp2
Lade ...
Suche ...
Keine Treffer
ApplicationModel.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
10#include "Env.h"
11#include "ReaderInfo.h"
13#include "WifiInfo.h"
14
15#include <QObject>
16#include <QQmlEngine>
17#include <QSharedPointer>
18#include <QStringList>
19#include <QTimer>
20
21#ifdef Q_OS_IOS
22Q_FORWARD_DECLARE_OBJC_CLASS(VoiceOverObserver);
23#endif
24
25namespace governikus
26{
27
29 : public QObject
30{
31 Q_OBJECT
32 friend class Env;
33
34 Q_PROPERTY(QString storeUrl READ getStoreUrl NOTIFY fireStoreUrlChanged)
35 Q_PROPERTY(QUrl releaseNotesUrl READ getReleaseNotesUrl CONSTANT)
36
39
40 Q_PROPERTY(qreal scaleFactor READ getScaleFactor WRITE setScaleFactor NOTIFY fireScaleFactorChanged)
41 Q_PROPERTY(bool wifiEnabled READ isWifiEnabled NOTIFY fireWifiEnabledChanged)
42
45
46 Q_PROPERTY(QString feedback READ getFeedback NOTIFY fireFeedbackChanged)
47
48 QSharedPointer<WorkflowContext> mContext;
49
51 ~ApplicationModel() override = default;
52 void onStatusChanged(const ReaderManagerPlugInInfo& pInfo);
53 ReaderManagerPlugInInfo getFirstPlugInInfo(ReaderManagerPlugInType pType) const;
54
55 private:
56 constexpr static qreal DEFAULT_SCALE_FACTOR = 0.6;
57 qreal mScaleFactor;
58 WifiInfo mWifiInfo;
59 bool mWifiEnabled;
60 QStringList mFeedback;
61 QTimer mFeedbackTimer;
62 const int mFeedbackDisplayLength;
63#ifdef Q_OS_IOS
64 struct Private
65 {
66 Private();
67 ~Private();
68 VoiceOverObserver* const mObserver;
69 };
70 const QScopedPointer<Private> mPrivate;
71#endif
72
73 private Q_SLOTS:
74 void onWifiEnabledChanged();
75
76 public:
77 enum class Settings
78 {
83 };
84 Q_ENUM(Settings)
85
86 enum class QmlNfcState
87 {
92 };
93 Q_ENUM(QmlNfcState)
94
95 void resetContext(const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
96
97 QString getStoreUrl() const;
98 QUrl getReleaseNotesUrl() const;
99
100 QmlNfcState getNfcState() const;
102
103 bool isWifiEnabled() const;
104 qreal getScaleFactor() const;
105 void setScaleFactor(qreal pScaleFactor);
106
107 QString getCurrentWorkflow() const;
108 int getAvailableReader() const;
109
110 QString getFeedback() const;
111
112 Q_INVOKABLE bool isScreenReaderRunning() const;
113
114 Q_INVOKABLE bool isReaderTypeAvailable(ReaderManagerPlugInType pPlugInType) const;
115
116 Q_INVOKABLE void enableWifi();
117
118 Q_INVOKABLE void showSettings(const Settings& pAction);
119 Q_INVOKABLE void showFeedback(const QString& pMessage, bool pReplaceExisting = false);
120 Q_INVOKABLE void keepScreenOn(bool pActive);
121 Q_INVOKABLE QStringList getLicenseText() const;
122#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
123 Q_INVOKABLE QString onlineHelpUrl(const QString& pHelpSectionName);
124 Q_INVOKABLE void openOnlineHelp(const QString& pHelpSectionName);
125#endif
126 Q_INVOKABLE QString stripHtmlTags(QString pString) const;
127#ifdef Q_OS_IOS
128 Q_INVOKABLE void showAppStoreRatingDialog();
129#endif
130
131 public Q_SLOTS:
132 Q_INVOKABLE void onShowNextFeedback();
133
134 Q_SIGNALS:
136
139
142
145 void fireCertificateRemoved(const QString& pDeviceName);
146
148};
149
150
151} // namespace governikus
Q_FORWARD_DECLARE_OBJC_CLASS(IosReaderDelegate)
Implementation of Reader for iOS.
Definition: ApplicationModel.h:30
QString currentWorkflow
Definition: ApplicationModel.h:43
Q_INVOKABLE void showFeedback(const QString &pMessage, bool pReplaceExisting=false)
Definition: ApplicationModel.cpp:295
Q_INVOKABLE void openOnlineHelp(const QString &pHelpSectionName)
Definition: ApplicationModel.cpp:403
QString storeUrl
Definition: ApplicationModel.h:34
Q_INVOKABLE QStringList getLicenseText() const
Definition: ApplicationModel.cpp:370
qreal getScaleFactor() const
Definition: ApplicationModel.cpp:197
bool isWifiEnabled() const
Definition: ApplicationModel.cpp:191
Q_INVOKABLE QString stripHtmlTags(QString pString) const
Definition: ApplicationModel.cpp:427
Q_INVOKABLE bool isReaderTypeAvailable(ReaderManagerPlugInType pPlugInType) const
Definition: ApplicationModel.cpp:244
Settings
Definition: ApplicationModel.h:78
QString feedback
Definition: ApplicationModel.h:46
qreal scaleFactor
Definition: ApplicationModel.h:40
QmlNfcState
Definition: ApplicationModel.h:87
QmlNfcState nfcState
Definition: ApplicationModel.h:37
Q_INVOKABLE void keepScreenOn(bool pActive)
Definition: ApplicationModel.cpp:348
bool wifiEnabled
Definition: ApplicationModel.h:41
void resetContext(const QSharedPointer< WorkflowContext > &pContext=QSharedPointer< WorkflowContext >())
Definition: ApplicationModel.cpp:82
QUrl getReleaseNotesUrl() const
Definition: ApplicationModel.cpp:121
QUrl releaseNotesUrl
Definition: ApplicationModel.h:35
Q_INVOKABLE void enableWifi()
Definition: ApplicationModel.cpp:419
Q_INVOKABLE QString onlineHelpUrl(const QString &pHelpSectionName)
Definition: ApplicationModel.cpp:397
int availableReader
Definition: ApplicationModel.h:44
Q_INVOKABLE void showSettings(const Settings &pAction)
Definition: ApplicationModel_android.cpp:40
Q_INVOKABLE void onShowNextFeedback()
Definition: ApplicationModel.cpp:283
int getAvailableReader() const
Definition: ApplicationModel.cpp:233
bool isExtendedLengthApdusUnsupported() const
Definition: ApplicationModel.cpp:172
bool extendedLengthApdusUnsupported
Definition: ApplicationModel.h:38
void setScaleFactor(qreal pScaleFactor)
Definition: ApplicationModel.cpp:203
QmlNfcState getNfcState() const
Definition: ApplicationModel.cpp:143
void fireCertificateRemoved(const QString &pDeviceName)
QString getStoreUrl() const
Definition: ApplicationModel.cpp:100
Q_INVOKABLE bool isScreenReaderRunning() const
Definition: ApplicationModel.cpp:261
QString getCurrentWorkflow() const
Definition: ApplicationModel.cpp:215
QString getFeedback() const
Definition: ApplicationModel.cpp:277
Definition: Env.h:44
Definition: WifiInfo.h:20
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15