AusweisApp2
RemoteDeviceDescriptor.h
gehe zur Dokumentation dieser Datei
1 
8 #pragma once
9 
10 #include "messages/Discovery.h"
11 
12 #include <QHostAddress>
13 #include <QSharedDataPointer>
14 #include <QUrl>
15 #include <QVector>
16 
17 
18 namespace governikus
19 {
20 
22 {
23  private:
24  class RemoteDeviceDescriptorData
25  : public QSharedData
26  {
27  public:
28  RemoteDeviceDescriptorData(const QString& pIfdName,
29  const QString& pIfdId,
30  const QVector<IfdVersion::Version>& pApiVersions,
31  const QUrl& pUrl);
32 
33  virtual ~RemoteDeviceDescriptorData();
34 
35  const QString mIfdName;
36  const QString mIfdId;
37  const QVector<IfdVersion::Version> mApiVersions;
38  const QUrl mUrl;
39  bool operator==(const RemoteDeviceDescriptorData& pOther) const;
40  bool isSameIfd(const RemoteDeviceDescriptorData& pOther) const;
41  };
42 
43  static RemoteDeviceDescriptorData* createRemoteDeviceDescriptorData(const Discovery& pDiscovery,
44  const QHostAddress& pHostAddress);
45 
46  QSharedDataPointer<RemoteDeviceDescriptorData> d;
47 
48  public:
50  RemoteDeviceDescriptor(const Discovery& pDiscovery, const QHostAddress& pHostAddress);
51 
53 
54  [[nodiscard]] const QString& getIfdName() const;
55  [[nodiscard]] const QString& getIfdId() const;
56  [[nodiscard]] const QVector<IfdVersion::Version>& getApiVersions() const;
57  [[nodiscard]] bool isSupported() const;
58  [[nodiscard]] const QUrl& getUrl() const;
59  [[nodiscard]] bool isNull() const;
60 
61  bool operator==(const RemoteDeviceDescriptor& pOther) const;
62  [[nodiscard]] bool isSameIfd(const RemoteDeviceDescriptor& pOther) const;
63 
64 };
65 
66 
67 inline QDebug operator<<(QDebug pDbg, const RemoteDeviceDescriptor& pRemoteDeviceDescriptor)
68 {
69  QDebugStateSaver saver(pDbg);
70  return pDbg.noquote().nospace() << "RemoteDevice(" << pRemoteDeviceDescriptor.getIfdName() << ", " <<
71  pRemoteDeviceDescriptor.getIfdId() << ", " <<
72  pRemoteDeviceDescriptor.getUrl() << ", " <<
73  pRemoteDeviceDescriptor.getApiVersions() << ")";
74 }
75 
76 
77 } // namespace governikus
Definition: Discovery.h:17
Definition: RemoteDeviceDescriptor.h:22
const QString & getIfdId() const
Definition: RemoteDeviceDescriptor.cpp:101
bool isNull() const
Definition: RemoteDeviceDescriptor.cpp:131
bool isSameIfd(const RemoteDeviceDescriptor &pOther) const
Definition: RemoteDeviceDescriptor.cpp:145
const QVector< IfdVersion::Version > & getApiVersions() const
Definition: RemoteDeviceDescriptor.cpp:109
const QString & getIfdName() const
Definition: RemoteDeviceDescriptor.cpp:93
const QUrl & getUrl() const
Definition: RemoteDeviceDescriptor.cpp:123
bool isSupported() const
Definition: RemoteDeviceDescriptor.cpp:117
bool operator==(const RemoteDeviceDescriptor &pOther) const
Definition: RemoteDeviceDescriptor.cpp:137
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
QDebug operator<<(QDebug pDbg, const CardInfo &pCardInfo)
Definition: CardInfo.cpp:281