AusweisApp2
IfdDescriptor.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 IfdDescriptorData
25  : public QSharedData
26  {
27  public:
28  IfdDescriptorData(const QString& pIfdName,
29  const QString& pIfdId,
30  const QVector<IfdVersion::Version>& pApiVersions,
31  const QUrl& pUrl,
32  bool pIsLocalIfd);
33 
34  virtual ~IfdDescriptorData();
35 
36  const QString mIfdName;
37  const QString mIfdId;
38  const QVector<IfdVersion::Version> mApiVersions;
39  const QUrl mUrl;
40  const bool mIsLocalIfd;
41 
42  bool operator==(const IfdDescriptorData& pOther) const;
43  bool isSameIfd(const IfdDescriptorData& pOther) const;
44  };
45 
46  static IfdDescriptorData* createRemoteDeviceDescriptorData(const Discovery& pDiscovery,
47  const QHostAddress& pHostAddress, bool pLocalIfd);
48 
49  QSharedDataPointer<IfdDescriptorData> d;
50 
51  public:
52  IfdDescriptor() = default;
53  IfdDescriptor(const Discovery& pDiscovery, const QHostAddress& pHostAddress, bool pLocalIfd = false);
54 
55  ~IfdDescriptor() = default;
56 
57  [[nodiscard]] const QString& getIfdName() const;
58  [[nodiscard]] const QString& getIfdId() const;
59  [[nodiscard]] const QVector<IfdVersion::Version>& getApiVersions() const;
60  [[nodiscard]] bool isSupported() const;
61  [[nodiscard]] const QUrl& getUrl() const;
62  [[nodiscard]] bool isNull() const;
63  [[nodiscard]] bool isLocalIfd() const;
64 
65  bool operator==(const IfdDescriptor& pOther) const;
66  [[nodiscard]] bool isSameIfd(const IfdDescriptor& pOther) const;
67 
68 };
69 
70 
71 inline QDebug operator<<(QDebug pDbg, const IfdDescriptor& pIfdDescriptor)
72 {
73  QDebugStateSaver saver(pDbg);
74  return pDbg.noquote().nospace() << "IFD(" << pIfdDescriptor.getIfdName() << ", " <<
75  pIfdDescriptor.getIfdId() << ", " <<
76  pIfdDescriptor.getUrl() << ", " <<
77  pIfdDescriptor.getApiVersions() << ")";
78 }
79 
80 
81 } // namespace governikus
Definition: Discovery.h:17
Definition: IfdDescriptor.h:22
const QVector< IfdVersion::Version > & getApiVersions() const
Definition: IfdDescriptor.cpp:109
bool isSupported() const
Definition: IfdDescriptor.cpp:117
bool operator==(const IfdDescriptor &pOther) const
Definition: IfdDescriptor.cpp:143
bool isSameIfd(const IfdDescriptor &pOther) const
Definition: IfdDescriptor.cpp:151
bool isLocalIfd() const
Definition: IfdDescriptor.cpp:137
const QString & getIfdName() const
Definition: IfdDescriptor.cpp:93
const QUrl & getUrl() const
Definition: IfdDescriptor.cpp:123
bool isNull() const
Definition: IfdDescriptor.cpp:131
const QString & getIfdId() const
Definition: IfdDescriptor.cpp:101
A simple template renderer.
Definition: ActivationContext.h:15
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition: CommandApdu.h:91