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
governikus::IfdVersion::selectLatestSupported
static Version selectLatestSupported(const QVector< Version > &pVersions)
Definition: IfdVersion.cpp:77
INIT_FUNCTION
INIT_FUNCTION([] { qRegisterMetaType< RemoteDeviceDescriptor >("RemoteDeviceDescriptor");}) namespace
Definition: RemoteDeviceDescriptor.cpp:11
governikus::Discovery::getPort
quint16 getPort() const
Definition: Discovery.cpp:180
governikus::Discovery::getIfdId
const QString & getIfdId() const
Definition: Discovery.cpp:174
governikus::operator<<
QDebug operator<<(QDebug pDbg, const CardInfo &pCardInfo)
Definition: CardInfo.cpp:281
governikus::RemoteDeviceDescriptor
Definition: RemoteDeviceDescriptor.h:22
Initializer.h
governikus::RemoteDeviceDescriptor::operator==
bool operator==(const RemoteDeviceDescriptor &pOther) const
Definition: RemoteDeviceDescriptor.cpp:137
Discovery.h
governikus::operator==
bool operator==(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition: CVCertificate.h:72
governikus::RemoteDeviceDescriptor::getIfdName
const QString & getIfdName() const
Definition: RemoteDeviceDescriptor.cpp:93
governikus::IfdVersion::isValid
bool isValid() const
Definition: IfdVersion.cpp:40
governikus::RemoteDeviceDescriptor::~RemoteDeviceDescriptor
~RemoteDeviceDescriptor()=default
governikus::RemoteDeviceDescriptor::isSupported
bool isSupported() const
Definition: RemoteDeviceDescriptor.cpp:117
governikus::RemoteDeviceDescriptor::getIfdId
const QString & getIfdId() const
Definition: RemoteDeviceDescriptor.cpp:101
governikus::RemoteDeviceDescriptor::getApiVersions
const QVector< IfdVersion::Version > & getApiVersions() const
Definition: RemoteDeviceDescriptor.cpp:109
RemoteDeviceDescriptor.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::Discovery::getSupportedApis
const QVector< IfdVersion::Version > & getSupportedApis() const
Definition: Discovery.cpp:186
governikus::RemoteDeviceDescriptor::isNull
bool isNull() const
Definition: RemoteDeviceDescriptor.cpp:131
governikus::IfdVersion
Definition: IfdVersion.h:14
governikus::Discovery::getIfdName
const QString & getIfdName() const
Definition: Discovery.cpp:168
governikus::RemoteDeviceDescriptor::isSameIfd
bool isSameIfd(const RemoteDeviceDescriptor &pOther) const
Definition: RemoteDeviceDescriptor.cpp:145
governikus::RemoteDeviceDescriptor::getUrl
const QUrl & getUrl() const
Definition: RemoteDeviceDescriptor.cpp:123
governikus::RemoteDeviceDescriptor::RemoteDeviceDescriptor
RemoteDeviceDescriptor()=default
governikus::Discovery
Definition: Discovery.h:17