AusweisApp2
Lade ...
Suche ...
Keine Treffer
NumberModel.h
gehe zur Dokumentation dieser Datei
1
8#pragma once
9
10#include "EnumHelper.h"
11#include "Env.h"
13
14#include <QObject>
15#include <QSharedPointer>
16
17namespace governikus
18{
19
20defineEnumType(PasswordType, TRANSPORT_PIN, PIN, CAN, PUK, NEW_PIN, REMOTE_PIN, SMART_PIN, NEW_SMART_PIN, SMART_BLOCKING_CODE)
21
22class NumberModel
23 : public QObject
24{
25 Q_OBJECT
26 friend class Env;
27
28 Q_PROPERTY(PasswordType passwordType READ getPasswordType NOTIFY firePasswordTypeChanged)
29 Q_PROPERTY(QString can READ getCan WRITE setCan NOTIFY fireCanChanged)
30 Q_PROPERTY(QString pin READ getPin WRITE setPin NOTIFY firePinChanged)
31 Q_PROPERTY(QString newPin READ getNewPin WRITE setNewPin NOTIFY fireNewPinChanged)
32 Q_PROPERTY(QString puk READ getPuk WRITE setPuk NOTIFY firePukChanged)
33 Q_PROPERTY(bool hasError READ hasError NOTIFY fireInputErrorChanged)
34 Q_PROPERTY(bool hasPasswordError READ hasPasswordError NOTIFY fireInputErrorChanged)
35 Q_PROPERTY(QString inputError READ getInputError NOTIFY fireInputErrorChanged)
36 Q_PROPERTY(int retryCounter READ getRetryCounter NOTIFY fireReaderInfoChanged)
37 Q_PROPERTY(bool isCanAllowedMode READ isCanAllowedMode NOTIFY fireCanAllowedModeChanged)
38
39 private:
40 QSharedPointer<WorkflowContext> mContext;
41
42 NumberModel();
43 ~NumberModel() override = default;
44
45 CardReturnCode getInputErrorCode() const;
46
47 private Q_SLOTS:
48 void onCardConnectionChanged();
49
50 public:
51 void resetContext(const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
52
53 [[nodiscard]] PasswordType getPasswordType() const;
54
55 [[nodiscard]] QString getCan() const;
56 void setCan(const QString& pCan);
57
58 [[nodiscard]] QString getPin() const;
59 void setPin(const QString& pPin);
60
61 [[nodiscard]] QString getNewPin() const;
62 void setNewPin(const QString& pNewPin);
63
64 [[nodiscard]] QString getPuk() const;
65 void setPuk(const QString& pPuk);
66
67 [[nodiscard]] bool hasError() const;
68 [[nodiscard]] bool hasPasswordError() const;
69 [[nodiscard]] QString getInputError() const;
70
71 [[nodiscard]] int getRetryCounter() const;
72 [[nodiscard]] bool isCanAllowedMode() const;
73
74 private Q_SLOTS:
75 void onReaderInfoChanged(const ReaderInfo& pInfo);
76
77 Q_SIGNALS:
78 void fireCanChanged();
79 void firePinChanged();
80 void fireNewPinChanged();
81 void firePukChanged();
82 void fireInputErrorChanged();
83 void fireReaderInfoChanged();
84 void fireCanAllowedModeChanged();
85 void firePasswordTypeChanged();
86};
87
88
89} // namespace governikus
#define defineEnumType(enumName,...)
Definition: EnumHelper.h:96
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16