AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
RemoteDeviceModel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "GlobalStatus.h"
11 #include "RemoteDeviceDescriptor.h"
12 #include "RemoteDeviceList.h"
13 #include "RemoteDispatcher.h"
14 #include "RemoteServiceSettings.h"
15 
16 #include <QAbstractTableModel>
17 #include <QSet>
18 #include <QSslCertificate>
19 #include <QVector>
20 
21 
22 namespace governikus
23 {
24 
26 {
27  private:
28  QString mDeviceName;
29  QString mId;
30  bool mPaired;
31  bool mNetworkVisible;
32  bool mSupported;
33  QDateTime mLastConnected;
34  QSharedPointer<RemoteDeviceListEntry> mRemoteDeviceListEntry;
35 
36  public:
37  RemoteDeviceModelEntry(const QString pDeviceName, const QString mId, QSharedPointer<RemoteDeviceListEntry>& pRemoteDeviceListEntry);
38  RemoteDeviceModelEntry(const QString pDeviceName, const QString mId, bool pPaired, bool pNetworkVisible, bool pSupported, const QDateTime& pLastConnected);
39  RemoteDeviceModelEntry(const QString pDeviceName = QStringLiteral("UnknownReader"));
40 
41  bool isPaired() const;
42  void setPaired(bool pPaired);
43  const QString& getId() const;
44  void setId(QString pId);
45  bool isNetworkVisible() const;
46  bool isSupported() const;
47  void setNetworkVisible(bool pNetworkVisible);
48  const QDateTime& getLastConnected() const;
49  void setLastConnected(const QDateTime& pLastConnected);
50 
51  const QSharedPointer<RemoteDeviceListEntry> getRemoteDeviceListEntry() const;
52  QString getDeviceName() const;
53 
54 };
55 
57  : public QAbstractTableModel
58 {
59  Q_OBJECT
60 
61  private:
62  const int NUMBER_OF_COLUMNS = 2;
63 
64  QMap<QString, RemoteServiceSettings::RemoteInfo> mPairedReaders;
65  QVector<RemoteDeviceModelEntry> mAllRemoteReaders;
66  const bool mShowPairedReaders;
67  const bool mShowUnpairedReaders;
68 
69  QString getStatus(const RemoteDeviceModelEntry& pRemoteDeviceModelEntry) const;
70  void constructReaderList();
71 
72  public:
74  {
75  REMOTE_DEVICE_NAME = Qt::UserRole + 1,
80  };
81 
82  enum ColumnId : int
83  {
86  };
87 
88  RemoteDeviceModel(QObject* pParent = nullptr, bool pShowPairedReaders = true, bool pShowUnpairedReaders = true);
89 
90  virtual QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override;
91  virtual int rowCount(const QModelIndex& pParent = QModelIndex()) const override;
92  virtual int columnCount(const QModelIndex& pParent = QModelIndex()) const override;
93  virtual QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
94  virtual QHash<int, QByteArray> roleNames() const override;
95 
96  const QSharedPointer<RemoteDeviceListEntry> getRemoteDeviceListEntry(const QModelIndex& pIndex) const;
97  const QSharedPointer<RemoteDeviceListEntry> getRemoteDeviceListEntry(QString pDeviceId) const;
98  bool isPaired(const QModelIndex& pIndex) const;
99  bool isSupported(const QModelIndex& pIndex) const;
100  void forgetDevice(const QModelIndex& pIndex);
101  void forgetDevice(const QString& pDeviceId);
102 
103  public Q_SLOTS:
104  void onWidgetShown();
105  void onWidgetHidden();
107  void onDeviceDisconnected(GlobalStatus::Code pCloseCode, const QSharedPointer<RemoteDispatcher>& pRemoteDispatcher);
108 
109  Q_SIGNALS:
110  void fireModelChanged();
111 
112 };
113 
114 
115 } /* namespace governikus */
void onWidgetShown()
Definition: RemoteDeviceModel.cpp:291
const QSharedPointer< RemoteDeviceListEntry > getRemoteDeviceListEntry(const QModelIndex &pIndex) const
Definition: RemoteDeviceModel.cpp:254
virtual int columnCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: RemoteDeviceModel.cpp:206
ColumnId
Definition: RemoteDeviceModel.h:82
QString getDeviceName() const
Definition: RemoteDeviceModel.cpp:62
virtual int rowCount(const QModelIndex &pParent=QModelIndex()) const override
Definition: RemoteDeviceModel.cpp:200
void onKnownRemoteReadersChanged()
Definition: RemoteDeviceModel.cpp:317
Code
Definition: GlobalStatus.h:24
bool isSupported(const QModelIndex &pIndex) const
Definition: RemoteDeviceModel.cpp:285
virtual QVariant headerData(int pSection, Qt::Orientation pOrientation, int pRole) const override
Definition: RemoteDeviceModel.cpp:180
Definition: RemoteDeviceModel.h:85
Definition: RemoteDeviceModel.h:84
virtual QHash< int, QByteArray > roleNames() const override
Definition: RemoteDeviceModel.cpp:139
Definition: RemoteDeviceModel.h:79
void onWidgetHidden()
Definition: RemoteDeviceModel.cpp:304
void setNetworkVisible(bool pNetworkVisible)
Definition: RemoteDeviceModel.cpp:104
virtual QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition: RemoteDeviceModel.cpp:212
Definition: RemoteDeviceModel.h:75
bool isPaired(const QModelIndex &pIndex) const
Definition: RemoteDeviceModel.cpp:279
bool isSupported() const
Definition: RemoteDeviceModel.cpp:98
Definition: RemoteDeviceModel.h:56
Definition: RemoteDeviceModel.h:25
RemoteDeviceModel(QObject *pParent=nullptr, bool pShowPairedReaders=true, bool pShowUnpairedReaders=true)
Definition: RemoteDeviceModel.cpp:122
void forgetDevice(const QModelIndex &pIndex)
Definition: RemoteDeviceModel.cpp:394
Definition: RemoteDeviceModel.h:78
bool isPaired() const
Definition: RemoteDeviceModel.cpp:68
bool isNetworkVisible() const
Definition: RemoteDeviceModel.cpp:92
void setLastConnected(const QDateTime &pLastConnected)
Definition: RemoteDeviceModel.cpp:116
RemoteDeviceModelEntry(const QString pDeviceName, const QString mId, QSharedPointer< RemoteDeviceListEntry > &pRemoteDeviceListEntry)
Definition: RemoteDeviceModel.cpp:17
Definition: RemoteDeviceModel.h:76
void setId(QString pId)
Definition: RemoteDeviceModel.cpp:86
const QString & getId() const
Definition: RemoteDeviceModel.cpp:80
SettingsRemoteRoles
Definition: RemoteDeviceModel.h:73
const QSharedPointer< RemoteDeviceListEntry > getRemoteDeviceListEntry() const
Definition: RemoteDeviceModel.cpp:56
const QDateTime & getLastConnected() const
Definition: RemoteDeviceModel.cpp:110
Definition: RemoteDeviceModel.h:77
void setPaired(bool pPaired)
Definition: RemoteDeviceModel.cpp:74
void onDeviceDisconnected(GlobalStatus::Code pCloseCode, const QSharedPointer< RemoteDispatcher > &pRemoteDispatcher)
Definition: RemoteDeviceModel.cpp:410