AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
RemoteDeviceList.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 
11 #include <QTime>
12 #include <QTimer>
13 
14 
15 namespace governikus
16 {
17 
19 {
20  Q_DISABLE_COPY(RemoteDeviceListEntry)
21 
22  private:
23  const RemoteDeviceDescriptor mRemoteDeviceDescriptor;
24  QTime mLastSeen;
25 
26  public:
27  RemoteDeviceListEntry(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor);
28 
29  void setLastSeenToNow();
30 
31  bool contains(const RemoteDeviceDescriptor& pRemoteDeviceDescriptor) const;
32  bool isEqual(const RemoteDeviceListEntry* const pOther) const;
33 
34  const QTime& getLastSeen() const;
36 
37 };
38 
39 
41  : public QObject
42 {
43  Q_OBJECT
44 
45  Q_SIGNALS:
46  void fireDeviceAppeared(const QSharedPointer<RemoteDeviceListEntry>&);
47  void fireDeviceVanished(const QSharedPointer<RemoteDeviceListEntry>&);
48 
49  public:
50  RemoteDeviceList(int pCheckInterval, int pTimeout);
51  virtual ~RemoteDeviceList();
52 
53  virtual void update(const RemoteDeviceDescriptor& pDescriptor) = 0;
54  virtual void clear() = 0;
55  virtual QVector<QSharedPointer<RemoteDeviceListEntry> > getRemoteDevices() const;
56 };
57 
58 
60  : public RemoteDeviceList
61 {
62  Q_OBJECT
63 
64  private:
65  QTimer mTimer;
66  const int mTimeout;
67  QVector<QSharedPointer<RemoteDeviceListEntry> > mList;
68 
69  private Q_SLOTS:
70  void onRemoveUnresponsiveRemoteReaders();
71 
72  public:
73  RemoteDeviceListImpl(int pCheckInterval = 1000, int pTimeout = 5000);
74  virtual ~RemoteDeviceListImpl() override;
75 
76  virtual void update(const RemoteDeviceDescriptor& pDescriptor) override;
77  virtual void clear() override;
78  virtual QVector<QSharedPointer<RemoteDeviceListEntry> > getRemoteDevices() const override;
79 };
80 
81 
82 } /* namespace governikus */
virtual void update(const RemoteDeviceDescriptor &pDescriptor)=0
RemoteDeviceListImpl(int pCheckInterval=1000, int pTimeout=5000)
Definition: RemoteDeviceList.cpp:94
bool contains(const RemoteDeviceDescriptor &pRemoteDeviceDescriptor) const
Definition: RemoteDeviceList.cpp:50
virtual ~RemoteDeviceList()
Definition: RemoteDeviceList.cpp:82
Definition: RemoteDeviceList.h:18
virtual QVector< QSharedPointer< RemoteDeviceListEntry > > getRemoteDevices() const
Definition: RemoteDeviceList.cpp:88
Definition: RemoteDeviceDescriptor.h:23
void fireDeviceVanished(const QSharedPointer< RemoteDeviceListEntry > &)
void fireDeviceAppeared(const QSharedPointer< RemoteDeviceListEntry > &)
virtual void clear() override
Definition: RemoteDeviceList.cpp:134
virtual ~RemoteDeviceListImpl() override
Definition: RemoteDeviceList.cpp:105
const QTime & getLastSeen() const
Definition: RemoteDeviceList.cpp:64
virtual QVector< QSharedPointer< RemoteDeviceListEntry > > getRemoteDevices() const override
Definition: RemoteDeviceList.cpp:140
virtual void update(const RemoteDeviceDescriptor &pDescriptor) override
Definition: RemoteDeviceList.cpp:111
Definition: RemoteDeviceList.h:40
Definition: RemoteDeviceList.h:59
bool isEqual(const RemoteDeviceListEntry *const pOther) const
Definition: RemoteDeviceList.cpp:56
RemoteDeviceListEntry(const RemoteDeviceDescriptor &pRemoteDeviceDescriptor)
Definition: RemoteDeviceList.cpp:37
void setLastSeenToNow()
Definition: RemoteDeviceList.cpp:44
const RemoteDeviceDescriptor & getRemoteDeviceDescriptor() const
Definition: RemoteDeviceList.cpp:70
RemoteDeviceList(int pCheckInterval, int pTimeout)
Definition: RemoteDeviceList.cpp:76