AusweisApp2/src/qml/SelfAuthenticationModel.h

59 lines
1.2 KiB
C
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
* \brief Model implementation for the self authentication workflow.
*
2018-03-28 15:10:51 +02:00
* \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany
2017-07-03 09:30:10 +02:00
*/
#pragma once
2017-12-20 14:54:05 +01:00
#include "SelfAuthenticationData.h"
2017-07-03 09:30:10 +02:00
#include <QAbstractListModel>
2017-12-20 14:54:05 +01:00
#include <QEvent>
2017-07-03 09:30:10 +02:00
#include <QSharedPointer>
#include <QString>
namespace governikus
{
2017-12-20 14:54:05 +01:00
class SelfAuthContext;
2017-07-03 09:30:10 +02:00
class SelfAuthenticationModel
: public QAbstractListModel
{
Q_OBJECT
2017-12-20 14:54:05 +01:00
QSharedPointer<SelfAuthContext> mContext;
SelfAuthenticationData::OrderedSelfData mSelfData;
2017-07-03 09:30:10 +02:00
enum DataRoles
{
NAME = Qt::UserRole + 1,
VALUE
};
private Q_SLOTS:
void onSelfAuthenticationDataChanged();
public:
SelfAuthenticationModel(QObject* pParent = nullptr);
2017-12-20 14:54:05 +01:00
void resetContext(const QSharedPointer<SelfAuthContext>& pContext = QSharedPointer<SelfAuthContext>());
2017-07-03 09:30:10 +02:00
Q_INVOKABLE void startWorkflow();
Q_INVOKABLE void cancelWorkflow();
Q_INVOKABLE bool isBasicReader();
int rowCount(const QModelIndex& = QModelIndex()) const override;
QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
QHash<int, QByteArray> roleNames() const override;
2017-12-20 14:54:05 +01:00
virtual bool event(QEvent* pEvent) override;
2017-07-03 09:30:10 +02:00
Q_SIGNALS:
void fireStartWorkflow();
};
} /* namespace governikus */