AusweisApp
Lade ...
Suche ...
Keine Treffer
RemoteDeviceModel.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "GlobalStatus.h"
10
11#include <QAbstractListModel>
12#include <QList>
13#include <QMap>
14#include <QSharedPointer>
15#include <QSslCertificate>
16#include <QString>
17#include <QTimer>
18#include <QtQml/qqmlregistration.h>
19
20
21class test_RemoteDeviceModel;
22class test_RemoteDeviceFilterModel;
23
24
25namespace governikus
26{
27
29 : public QAbstractListModel
30{
32 QML_UNCREATABLE("Used by RemoteServiceModel only")
34
35 friend class ::test_RemoteDeviceModel;
36 friend class ::test_RemoteDeviceFilterModel;
37
38 private:
40 QList<RemoteDeviceModelEntry> mAllRemoteReaders;
41 RemoteServiceSettings::RemoteInfo mLastPairedDevice;
42 QTimer mTimer;
43 bool mIsDetectingRemoteDevices;
44#if defined(Q_OS_IOS)
46#endif
47
48 [[nodiscard]] bool indexIsValid(const QModelIndex& pIndex) const;
49 [[nodiscard]] QString getStatus(const RemoteDeviceModelEntry& pRemoteDeviceModelEntry) const;
50 [[nodiscard]] QString getCurrentDeviceName(const QModelIndex& pIndex) const;
51 [[nodiscard]] QString constructDisplayDeviceName(const QModelIndex& pIndex) const;
52 void updatePairedReaders();
53 void updateUnpairedReaders();
54 void removeVanishedReaders();
55 [[nodiscard]] virtual QList<RemoteDeviceModelEntry> presentReaders() const;
56 bool addOrUpdateReader(const RemoteDeviceModelEntry& pModelEntry);
57
58 private Q_SLOTS:
59#ifdef Q_OS_IOS
60 void onApplicationStateChanged(bool pIsAppInForeground);
61#else
62 void onApplicationStateChanged(bool pIsAppInForeground) const;
63#endif
64 void onUpdateReaderList();
65
66 public Q_SLOTS:
68
69 public:
83
84 explicit RemoteDeviceModel(QObject* pParent = nullptr);
85
86 [[nodiscard]] int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
87 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
88 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
89
92 [[nodiscard]] bool isPaired(const QModelIndex& pIndex) const;
93 [[nodiscard]] bool isPairing(const QModelIndex& pIndex) const;
94 [[nodiscard]] bool isSupported(const QModelIndex& pIndex) const;
95 void forgetDevice(const QModelIndex& pIndex);
98 void startDetection();
99 void stopDetection(bool pStopScan);
100
101 public Q_SLOTS:
104
105 Q_SIGNALS:
107};
108
109
110} // namespace governikus
Code
Definition GlobalStatus.h:25
Definition RemoteDeviceModelEntry.h:22
Definition RemoteDeviceModel.h:30
RemoteDeviceModel(QObject *pParent=nullptr)
Definition RemoteDeviceModel.cpp:16
void forgetDevice(const QModelIndex &pIndex)
Definition RemoteDeviceModel.cpp:481
void onTranslationChanged()
Definition RemoteDeviceModel.cpp:475
SettingsRemoteRoles
Definition RemoteDeviceModel.h:71
@ IS_NETWORK_VISIBLE
Definition RemoteDeviceModel.h:76
@ LAST_CONNECTED
Definition RemoteDeviceModel.h:74
@ IS_SUPPORTED
Definition RemoteDeviceModel.h:77
@ DEVICE_ID
Definition RemoteDeviceModel.h:75
@ REMOTE_DEVICE_STATUS
Definition RemoteDeviceModel.h:73
@ IS_PAIRED
Definition RemoteDeviceModel.h:78
@ IS_PAIRING
Definition RemoteDeviceModel.h:79
@ LINK_QUALITY
Definition RemoteDeviceModel.h:80
@ IS_LAST_ADDED_DEVICE
Definition RemoteDeviceModel.h:81
@ REMOTE_DEVICE_NAME
Definition RemoteDeviceModel.h:72
QHash< int, QByteArray > roleNames() const override
Definition RemoteDeviceModel.cpp:41
bool isPairing(const QModelIndex &pIndex) const
Definition RemoteDeviceModel.cpp:365
bool isPaired(const QModelIndex &pIndex) const
Definition RemoteDeviceModel.cpp:354
void onDeviceDisconnected(GlobalStatus::Code pCloseCode, const QString &pId)
Definition RemoteDeviceModel.cpp:511
int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition RemoteDeviceModel.cpp:271
void setLastPairedReader(const QSslCertificate &pCert)
Definition RemoteDeviceModel.cpp:503
void onKnownRemoteReadersChanged()
Definition RemoteDeviceModel.cpp:418
void stopDetection(bool pStopScan)
Definition RemoteDeviceModel.cpp:401
void startDetection()
Definition RemoteDeviceModel.cpp:387
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition RemoteDeviceModel.cpp:277
bool isSupported(const QModelIndex &pIndex) const
Definition RemoteDeviceModel.cpp:376
QSharedPointer< IfdListEntry > getRemoteDeviceListEntry(const QModelIndex &pIndex) const
Definition RemoteDeviceModel.cpp:329
Definition RemoteServiceSettings.h:36
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:112