AusweisApp2
WorkflowContext.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "CardConnection.h"
10 #include "ECardApiResult.h"
11 #include "GlobalStatus.h"
12 #include "SmartCardDefinitions.h"
13 
14 #include <QElapsedTimer>
15 #include <QSharedPointer>
16 #include <QString>
17 
18 namespace governikus
19 {
20 
22  : public QObject
23 {
24  Q_OBJECT
25 
26  private:
27  bool mStateApproved;
28  bool mWorkflowKilled;
29  QString mCurrentState;
30  QVector<ReaderManagerPlugInType> mReaderPlugInTypes;
31  QString mReaderName;
32  QSharedPointer<CardConnection> mCardConnection;
33  int mCardVanishedDuringPacePinCount;
34  QElapsedTimer mCardVanishedDuringPacePinTimer;
35  QString mCan;
36  QString mPin;
37  QString mPuk;
38  PacePasswordId mEstablishPaceChannelType;
39  QScopedPointer<EstablishPaceChannelOutput> mPaceOutputData;
40  QString mExpectedReaderName;
41  int mExpectedRetryCounter;
42  CardReturnCode mLastPaceResult;
43  GlobalStatus mStatus;
44  ECardApiResult mStartPaosResult;
45  bool mErrorReportedToUser;
46  bool mPaceResultReportedToUser;
47  bool mWorkflowFinished;
48  bool mWorkflowCancelled;
49  bool mCanAllowedMode;
50  bool mNextWorkflowPending;
51  bool mCurrentReaderHasEidCardButInsufficientApduLength;
52 
53  private Q_SLOTS:
54  void onWorkflowCancelled();
55 
56  Q_SIGNALS:
58  void fireStateChanged(const QString& pNewState);
60  void fireReaderInfoChanged();
61  void fireReaderNameChanged();
63  void fireCanChanged();
64  void firePinChanged();
65  void firePukChanged();
66  void firePaceResultUpdated();
67  void fireResultChanged();
70 
71  void fireCancelWorkflow();
72 
74 
75  public:
77  virtual ~WorkflowContext();
78 
79  bool isErrorReportedToUser() const;
80  void setErrorReportedToUser(bool pErrorReportedToUser = true);
81 
82  bool isPaceResultReportedToUser() const;
83  void setPaceResultReportedToUser(bool pReported = true);
84 
85  void setStateApproved(bool pApproved = true);
86  bool isStateApproved() const;
87 
88  void killWorkflow();
89  bool isWorkflowKilled() const;
90 
91  const QString& getCurrentState() const;
92  void setCurrentState(const QString& pNewState);
93 
94  const QVector<ReaderManagerPlugInType>& getReaderPlugInTypes() const;
95  void setReaderPlugInTypes(const QVector<ReaderManagerPlugInType>& pReaderPlugInTypes);
96 
97  const QString& getReaderName() const;
98  void setReaderName(const QString& pReaderName);
99 
100  const QSharedPointer<CardConnection>& getCardConnection() const;
101  void setCardConnection(const QSharedPointer<CardConnection>& pCardConnection);
102  void resetCardConnection();
103 
104  bool isNpaRepositioningRequired() const;
105  void setNpaPositionVerified();
106  void handleWrongNpaPosition();
107 
108  const QString& getPuk() const;
109  void setPuk(const QString& pPuk);
110 
111  const QString& getCan() const;
112  void setCan(const QString& pCan);
113 
114  const QString& getPin() const;
115  void setPin(const QString& pPin);
116 
117  PacePasswordId getEstablishPaceChannelType() const;
118  void setEstablishPaceChannelType(PacePasswordId pType);
119 
120  virtual void resetPacePasswords();
121 
123  void setPaceOutputData(const EstablishPaceChannelOutput& pPaceOutputData);
124 
125  bool isPinBlocked();
126  CardReturnCode getLastPaceResult() const;
127  void setLastPaceResult(CardReturnCode pLastPaceResult);
128  void resetLastPaceResult();
129 
130  bool isExpectedReader() const;
131  void rememberReader();
132 
133  int getExpectedRetryCounter() const;
134  void setExpectedRetryCounter(int pExpectedRetryCounter);
135 
136  const GlobalStatus& getStatus() const;
137  void setStatus(const GlobalStatus& pResult);
138 
139  const ECardApiResult getStartPaosResult() const;
140  void setStartPaosResult(const ECardApiResult& pStartPaosResult);
141 
142  bool isWorkflowFinished() const;
143  void setWorkflowFinished(bool pWorkflowFinished);
144 
145  bool isWorkflowCancelled() const;
146 
147  bool isCanAllowedMode() const;
148  void setCanAllowedMode(bool pCanAllowedMode);
149 
150  bool hasNextWorkflowPending() const;
151  void setNextWorkflowPending(bool pNextWorkflowPending);
152 
155 };
156 
157 } // namespace governikus
void fireResultChanged()
Definition: moc_WorkflowContext.cpp:360
EstablishPaceChannelOutput * getPaceOutputData() const
Definition: WorkflowContext.cpp:312
void rememberReader()
Definition: WorkflowContext.cpp:350
bool isErrorReportedToUser() const
Definition: WorkflowContext.cpp:65
const QString & getPuk() const
Definition: WorkflowContext.cpp:243
void setExpectedRetryCounter(int pExpectedRetryCounter)
Definition: WorkflowContext.cpp:362
void setCurrentState(const QString &pNewState)
Definition: WorkflowContext.cpp:131
void resetLastPaceResult()
Definition: WorkflowContext.cpp:338
const QString & getPin() const
Definition: WorkflowContext.cpp:275
int getExpectedRetryCounter() const
Definition: WorkflowContext.cpp:356
void setLastPaceResult(CardReturnCode pLastPaceResult)
Definition: WorkflowContext.cpp:330
void resetCardConnection()
Definition: WorkflowContext.cpp:191
void setErrorReportedToUser(bool pErrorReportedToUser=true)
Definition: WorkflowContext.cpp:71
void firePasswordTypeChanged()
Definition: moc_WorkflowContext.cpp:372
WorkflowContext()
Definition: WorkflowContext.cpp:20
void fireStateApprovedChanged()
Definition: moc_WorkflowContext.cpp:299
void handleWrongNpaPosition()
Definition: WorkflowContext.cpp:226
bool isWorkflowKilled() const
Definition: WorkflowContext.cpp:113
void killWorkflow()
Definition: WorkflowContext.cpp:99
void setStateApproved(bool pApproved=true)
Definition: WorkflowContext.cpp:89
bool isCanAllowedMode() const
Definition: WorkflowContext.cpp:412
void fireReaderPlugInTypesChanged()
Definition: moc_WorkflowContext.cpp:312
void fireCardConnectionChanged()
Definition: moc_WorkflowContext.cpp:330
const ECardApiResult getStartPaosResult() const
Definition: WorkflowContext.cpp:382
Definition: ECardApiResult.h:24
void setCan(const QString &pCan)
Definition: WorkflowContext.cpp:265
virtual void resetPacePasswords()
Definition: WorkflowContext.cpp:304
bool isPinBlocked()
Definition: WorkflowContext.cpp:237
void setReaderName(const QString &pReaderName)
Definition: WorkflowContext.cpp:165
Definition: GlobalStatus.h:19
void fireReaderInfoChanged()
Definition: moc_WorkflowContext.cpp:318
bool isNpaRepositioningRequired() const
Definition: WorkflowContext.cpp:202
void setPin(const QString &pPin)
Definition: WorkflowContext.cpp:281
const QString & getCurrentState() const
Definition: WorkflowContext.cpp:125
void setCanAllowedMode(bool pCanAllowedMode)
Definition: WorkflowContext.cpp:418
void firePaceResultUpdated()
Definition: moc_WorkflowContext.cpp:354
bool isPaceResultReportedToUser() const
Definition: WorkflowContext.cpp:77
void fireReaderNameChanged()
Definition: moc_WorkflowContext.cpp:324
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
const QVector< ReaderManagerPlugInType > & getReaderPlugInTypes() const
Definition: WorkflowContext.cpp:143
void setStatus(const GlobalStatus &pResult)
Definition: WorkflowContext.cpp:374
void setNextWorkflowPending(bool pNextWorkflowPending)
Definition: WorkflowContext.cpp:431
bool hasNextWorkflowPending() const
Definition: WorkflowContext.cpp:425
Definition: WorkflowContext.h:21
void setEstablishPaceChannelType(PacePasswordId pType)
Definition: WorkflowContext.cpp:297
void fireCanChanged()
Definition: moc_WorkflowContext.cpp:336
void fireCanAllowedModeChanged()
Definition: moc_WorkflowContext.cpp:366
void setPuk(const QString &pPuk)
Definition: WorkflowContext.cpp:249
void fireNextWorkflowPending()
Definition: moc_WorkflowContext.cpp:384
const QSharedPointer< CardConnection > & getCardConnection() const
Definition: WorkflowContext.cpp:175
void setCardConnection(const QSharedPointer< CardConnection > &pCardConnection)
Definition: WorkflowContext.cpp:181
void setNpaPositionVerified()
Definition: WorkflowContext.cpp:219
bool isWorkflowFinished() const
Definition: WorkflowContext.cpp:394
void setPaceResultReportedToUser(bool pReported=true)
Definition: WorkflowContext.cpp:83
const QString & getCan() const
Definition: WorkflowContext.cpp:259
void firePinChanged()
Definition: moc_WorkflowContext.cpp:342
const GlobalStatus & getStatus() const
Definition: WorkflowContext.cpp:368
void firePukChanged()
Definition: moc_WorkflowContext.cpp:348
void fireCancelWorkflow()
Definition: moc_WorkflowContext.cpp:378
Definition: EstablishPaceChannelOutput.h:47
void setStartPaosResult(const ECardApiResult &pStartPaosResult)
Definition: WorkflowContext.cpp:388
bool isExpectedReader() const
Definition: WorkflowContext.cpp:344
CardReturnCode getLastPaceResult() const
Definition: WorkflowContext.cpp:324
bool currentReaderHasEidCardButInsufficientApduLength() const
Definition: WorkflowContext.cpp:441
bool isStateApproved() const
Definition: WorkflowContext.cpp:119
void setReaderPlugInTypes(const QVector< ReaderManagerPlugInType > &pReaderPlugInTypes)
Definition: WorkflowContext.cpp:149
void setCurrentReaderHasEidCardButInsufficientApduLength(bool pState)
Definition: WorkflowContext.cpp:447
const QString & getReaderName() const
Definition: WorkflowContext.cpp:159
void setWorkflowFinished(bool pWorkflowFinished)
Definition: WorkflowContext.cpp:400
void fireStateChanged(const QString &pNewState)
Definition: moc_WorkflowContext.cpp:305
virtual ~WorkflowContext()
Definition: WorkflowContext.cpp:52
bool isWorkflowCancelled() const
Definition: WorkflowContext.cpp:406
void setPaceOutputData(const EstablishPaceChannelOutput &pPaceOutputData)
Definition: WorkflowContext.cpp:318
PacePasswordId getEstablishPaceChannelType() const
Definition: WorkflowContext.cpp:291