AusweisApp2
Lade ...
Suche ...
Keine Treffer
ChatModel.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include <QAbstractListModel>
12#include <QList>
13#include <QSet>
14#include <QSharedPointer>
15#include <QSortFilterProxyModel>
16
17#include "Env.h"
20
21class test_ChatModel;
22
23namespace governikus
24{
25
26struct cvcertificate_st;
27
29 : public QAbstractListModel
30{
31 Q_OBJECT
32 friend class Env;
33 friend class ::test_ChatModel;
34
35 Q_PROPERTY(QSortFilterProxyModel * optional READ getFilterOptionalModel CONSTANT)
36 Q_PROPERTY(QSortFilterProxyModel * required READ getFilterRequiredModel CONSTANT)
37 Q_PROPERTY(QSortFilterProxyModel * write READ getFilterWriteModel CONSTANT)
38
39 private:
40 QSharedPointer<WorkflowContext> mContext;
41 QList<AccessRight> mAllRights;
42 QSet<AccessRight> mOptionalRights;
43 QSet<AccessRight> mSelectedRights;
44 QSortFilterProxyModel mFilterOptionalModel;
45 QSortFilterProxyModel mFilterRequiredModel;
46 QSortFilterProxyModel mFilterReadModel;
47 QSortFilterProxyModel mFilterWriteModel;
48
49 enum ChatRoles
50 {
51 NAME_ROLE = Qt::UserRole + 1,
52 OPTIONAL_ROLE,
53 SELECTED_ROLE,
54 WRITE_RIGHT,
55 };
56
57 ChatModel();
58 ~ChatModel() override = default;
59
60 void initFilterModel(QSortFilterProxyModel& pModel, QAbstractItemModel* pSourceModel, int pFilterRole, const QString& pFilter);
61 void setOrderedAllRights(const QSet<AccessRight>& pAllRights);
62
63 private Q_SLOTS:
64 void onAuthenticationDataChanged(QSharedPointer<AccessRightManager> pAccessRightManager);
65
66 public:
67 void resetContext(const QSharedPointer<WorkflowContext>& pContext = QSharedPointer<WorkflowContext>());
68
69 [[nodiscard]] int rowCount(const QModelIndex& = QModelIndex()) const override;
70 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
71 [[nodiscard]] bool setData(const QModelIndex& pIndex, const QVariant& pValue, int pRole) override;
72 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
73
74 Q_INVOKABLE void transferAccessRights();
75 [[nodiscard]] Q_INVOKABLE QSortFilterProxyModel* getFilterOptionalModel();
76 [[nodiscard]] Q_INVOKABLE QSortFilterProxyModel* getFilterRequiredModel();
77 [[nodiscard]] Q_INVOKABLE QSortFilterProxyModel* getFilterWriteModel();
78};
79
80
81} // namespace governikus
Definition ChatModel.h:30
Q_INVOKABLE QSortFilterProxyModel * getFilterRequiredModel()
Definition ChatModel.cpp:217
int rowCount(const QModelIndex &=QModelIndex()) const override
Definition ChatModel.cpp:114
QSortFilterProxyModel * optional
Definition ChatModel.h:35
QSortFilterProxyModel * required
Definition ChatModel.h:36
Q_INVOKABLE QSortFilterProxyModel * getFilterWriteModel()
Definition ChatModel.cpp:223
Q_INVOKABLE void transferAccessRights()
Definition ChatModel.cpp:201
void resetContext(const QSharedPointer< WorkflowContext > &pContext=QSharedPointer< WorkflowContext >())
Definition ChatModel.cpp:54
Q_INVOKABLE QSortFilterProxyModel * getFilterOptionalModel()
Definition ChatModel.cpp:211
QHash< int, QByteArray > roleNames() const override
Definition ChatModel.cpp:160
bool setData(const QModelIndex &pIndex, const QVariant &pValue, int pRole) override
Definition ChatModel.cpp:171
QSortFilterProxyModel * write
Definition ChatModel.h:37
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition ChatModel.cpp:120
Definition Env.h:46
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16