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
18namespace 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
71inline 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:89