13#include <QSharedPointer>
16class test_WorkflowModel;
40 Q_PROPERTY(QString currentState READ getCurrentState NOTIFY fireCurrentStateChanged)
41 Q_PROPERTY(QString resultString READ getResultString NOTIFY fireResultChanged)
42 Q_PROPERTY(
bool error READ isError NOTIFY fireResultChanged)
43 Q_PROPERTY(
bool errorIsMasked READ isMaskedError NOTIFY fireResultChanged)
44 Q_PROPERTY(
bool pukInoperative READ isPukInoperative NOTIFY fireResultChanged)
45 Q_PROPERTY(governikus::EnumReaderManagerPluginType::ReaderManagerPluginType readerPluginType READ getReaderPluginType WRITE setReaderPluginType NOTIFY fireReaderPluginTypeChanged)
46 Q_PROPERTY(QList<ReaderManagerPluginType> supportedPluginTypes READ getSupportedReaderPluginTypes NOTIFY fireSupportedPluginTypesChanged)
47 Q_PROPERTY(
bool isBasicReader READ isBasicReader NOTIFY fireSelectedReaderChanged)
48 Q_PROPERTY(
bool isRemoteReader READ isRemoteReader NOTIFY fireSelectedReaderChanged)
49 Q_PROPERTY(
bool isCurrentSmartCardAllowed READ isCurrentSmartCardAllowed NOTIFY fireIsCurrentSmartCardAllowedChanged)
50 Q_PROPERTY(QString eidTypeMismatchError READ eidTypeMismatchError NOTIFY fireEidTypeMismatchErrorChanged)
51 Q_PROPERTY(
bool hasNextWorkflowPending READ getNextWorkflowPending NOTIFY fireNextWorkflowPendingChanged)
52 Q_PROPERTY(QString statusHintText READ getStatusHintText NOTIFY fireResultChanged)
53 Q_PROPERTY(QString statusHintTitle READ getStatusHintTitle NOTIFY fireResultChanged)
54 Q_PROPERTY(QString statusHintActionText READ getStatusHintActionText NOTIFY fireResultChanged)
55 Q_PROPERTY(governikus::EnumGAnimation::GAnimation statusCodeAnimation READ getStatusCodeAnimation NOTIFY fireResultChanged)
56 Q_PROPERTY(
bool showRemoveCardFeedback READ showRemoveCardFeedback WRITE setRemoveCardFeedback NOTIFY fireRemoveCardFeedbackChanged)
57 Q_PROPERTY(
bool cardInitiallyAppeared READ getCardInitiallyAppeared NOTIFY fireHasCardChanged)
58 Q_PROPERTY(
bool hasCard READ hasCard NOTIFY fireHasCardChanged)
59 Q_PROPERTY(governikus::EnumCardReturnCode::CardReturnCode lastReturnCode READ getLastReturnCode NOTIFY fireLastReturnCodeChanged)
60 friend class ::test_WorkflowModel;
63 QSharedPointer<WorkflowContext> mContext;
65 bool mRemoteScanWasRunning;
67 void insertCard(ReaderManagerPluginType pType)
const;
71 ~WorkflowModel()
override =
default;
74 void resetWorkflowContext(
const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
76 [[nodiscard]] QString getCurrentState()
const;
77 [[nodiscard]]
virtual QString getResultString()
const;
78 [[nodiscard]]
bool isError()
const;
79 [[nodiscard]]
bool isMaskedError()
const;
80 [[nodiscard]]
bool isPukInoperative()
const;
81 [[nodiscard]] CardReturnCode getLastReturnCode()
const;
83 [[nodiscard]] ReaderManagerPluginType getReaderPluginType()
const;
84 void setReaderPluginType(ReaderManagerPluginType pReaderPluginType);
86 [[nodiscard]]
bool isBasicReader()
const;
87 [[nodiscard]]
bool isRemoteReader()
const;
88 [[nodiscard]]
bool getCardInitiallyAppeared()
const;
89 [[nodiscard]]
bool hasCard()
const;
91 [[nodiscard]]
bool isCurrentSmartCardAllowed()
const;
93 [[nodiscard]]
virtual QList<ReaderManagerPluginType> getSupportedReaderPluginTypes()
const;
95 [[nodiscard]]
bool getNextWorkflowPending()
const;
97 [[nodiscard]] GlobalStatus::Code getStatusCode()
const;
98 [[nodiscard]]
virtual GAnimation getStatusCodeAnimation()
const;
100 [[nodiscard]] QString getStatusHintText()
const;
101 [[nodiscard]] QString getStatusHintTitle()
const;
102 [[nodiscard]] QString getStatusHintActionText()
const;
103 [[nodiscard]] Q_INVOKABLE
bool invokeStatusHintAction();
105 [[nodiscard]]
bool showRemoveCardFeedback()
const;
106 void setRemoveCardFeedback(
bool pEnabled);
108 Q_INVOKABLE
void insertSmartCard()
const;
109 Q_INVOKABLE
void insertSimulator()
const;
110 Q_INVOKABLE
void cancelWorkflow();
111 Q_INVOKABLE
void startScanExplicitly();
112 Q_INVOKABLE
void continueWorkflow();
113 Q_INVOKABLE
void setInitialPluginType();
114 [[nodiscard]] Q_INVOKABLE
bool shouldSkipResultView()
const;
115 [[nodiscard]] Q_INVOKABLE
bool isCancellationByUser()
const;
116 [[nodiscard]] Q_INVOKABLE QString getEmailHeader()
const;
117 [[nodiscard]] Q_INVOKABLE QString getEmailBody(
bool pPercentEncoding =
false,
bool pAddLogNotice =
false)
const;
118 Q_INVOKABLE
void sendResultMail()
const;
120 [[nodiscard]] QString eidTypeMismatchError()
const;
123 void onApplicationStateChanged(
bool pIsAppInForeground);
124 void onPaceResultUpdated();
127 void fireWorkflowStarted();
128 void fireCurrentStateChanged(
const QString& pState);
129 void fireStateEntered(
const QString& pState);
130 void fireResultChanged();
131 void fireReaderPluginTypeChanged(
bool pExplicitStart =
false);
132 void fireSelectedReaderChanged();
133 void fireIsCurrentSmartCardAllowedChanged();
134 void fireReaderImageChanged();
135 void fireNextWorkflowPendingChanged();
136 void fireSupportedPluginTypesChanged();
137 void fireRemoveCardFeedbackChanged();
138 void fireHasCardChanged();
139 void fireEidTypeMismatchErrorChanged();
140 void fireShowUiRequest(UiModule pModule);
141 void fireWorkflowFinished(
bool pSuccess);
142 void fireOnPinUnlocked();
143 void fireOnPasswordUsed();
144 void fireOnCanSuccess();
145 void fireLastReturnCodeChanged();
#define defineEnumTypeQmlExposed(enumName,...)
Definition EnumHelper.h:88
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17