2017-07-03 09:30:10 +02:00
|
|
|
/*!
|
|
|
|
* \brief Model for accessing PIN, CAN, PUK, according to the
|
|
|
|
* currently active workflow.
|
|
|
|
*
|
2018-03-28 15:10:51 +02:00
|
|
|
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
|
2017-07-03 09:30:10 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
#include <QSharedPointer>
|
|
|
|
|
|
|
|
namespace governikus
|
|
|
|
{
|
|
|
|
|
|
|
|
class WorkflowContext;
|
|
|
|
|
|
|
|
class NumberModel
|
|
|
|
: public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
Q_PROPERTY(QString can READ getCan WRITE setCan NOTIFY fireCanChanged)
|
|
|
|
Q_PROPERTY(QString pin READ getPin WRITE setPin NOTIFY firePinChanged)
|
|
|
|
Q_PROPERTY(QString newPin READ getNewPin WRITE setNewPin NOTIFY fireNewPinChanged)
|
|
|
|
Q_PROPERTY(QString puk READ getPuk WRITE setPuk NOTIFY firePukChanged)
|
2018-06-20 13:59:17 +02:00
|
|
|
Q_PROPERTY(bool hasError READ hasError NOTIFY fireReaderInfoChanged)
|
2017-07-03 09:30:10 +02:00
|
|
|
Q_PROPERTY(QString inputError READ getInputError NOTIFY fireInputErrorChanged)
|
2017-07-03 09:33:28 +02:00
|
|
|
Q_PROPERTY(int retryCounter READ getRetryCounter NOTIFY fireReaderInfoChanged)
|
|
|
|
Q_PROPERTY(bool extendedLengthApdusUnsupported READ isExtendedLengthApdusUnsupported NOTIFY fireReaderInfoChanged)
|
|
|
|
Q_PROPERTY(bool pinDeactivated READ isPinDeactivated NOTIFY fireReaderInfoChanged)
|
|
|
|
Q_PROPERTY(bool cardConnected READ isCardConnected NOTIFY fireReaderInfoChanged)
|
2018-06-20 13:59:17 +02:00
|
|
|
Q_PROPERTY(bool isCanAllowedMode READ isCanAllowedMode NOTIFY fireCanAllowedModeChanged)
|
2017-07-03 09:30:10 +02:00
|
|
|
|
|
|
|
QSharedPointer<WorkflowContext> mContext;
|
|
|
|
|
|
|
|
private Q_SLOTS:
|
|
|
|
void onCardConnectionChanged();
|
|
|
|
|
|
|
|
public:
|
|
|
|
NumberModel(QObject* pParent = nullptr);
|
|
|
|
virtual ~NumberModel();
|
|
|
|
|
2017-07-03 09:33:28 +02:00
|
|
|
void resetContext(const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
|
|
|
|
Q_INVOKABLE void continueWorkflow();
|
2017-07-03 09:30:10 +02:00
|
|
|
|
|
|
|
QString getCan() const;
|
|
|
|
void setCan(const QString& pCan);
|
|
|
|
|
|
|
|
QString getPin() const;
|
|
|
|
void setPin(const QString& pPin);
|
|
|
|
|
|
|
|
QString getNewPin() const;
|
|
|
|
void setNewPin(const QString& pNewPin);
|
|
|
|
|
|
|
|
QString getPuk() const;
|
|
|
|
void setPuk(const QString& pPuk);
|
|
|
|
|
2018-06-20 13:59:17 +02:00
|
|
|
bool hasError();
|
|
|
|
|
2017-07-03 09:30:10 +02:00
|
|
|
QString getInputError() const;
|
|
|
|
|
|
|
|
int getRetryCounter() const;
|
|
|
|
|
2017-07-03 09:33:28 +02:00
|
|
|
bool isExtendedLengthApdusUnsupported() const;
|
|
|
|
|
|
|
|
bool isPinDeactivated() const;
|
|
|
|
|
|
|
|
bool isCardConnected() const;
|
|
|
|
|
2018-06-20 13:59:17 +02:00
|
|
|
bool isCanAllowedMode();
|
|
|
|
|
2017-07-03 09:33:28 +02:00
|
|
|
private Q_SLOTS:
|
|
|
|
void onReaderInfoChanged(const QString& pReaderName);
|
|
|
|
|
2017-07-03 09:30:10 +02:00
|
|
|
Q_SIGNALS:
|
|
|
|
void fireCanChanged();
|
|
|
|
void firePinChanged();
|
|
|
|
void fireNewPinChanged();
|
|
|
|
void firePukChanged();
|
|
|
|
void fireInputErrorChanged();
|
2017-07-03 09:33:28 +02:00
|
|
|
void fireReaderInfoChanged();
|
2018-06-20 13:59:17 +02:00
|
|
|
void fireCanAllowedModeChanged();
|
2017-07-03 09:30:10 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
} /* namespace governikus */
|