AusweisApp2
ReaderConfigurationInfo.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "UpdatableFile.h"
10 
11 #include <QCoreApplication>
12 #include <QSharedData>
13 #include <QString>
14 
15 
16 namespace governikus
17 {
19 {
20  Q_DECLARE_TR_FUNCTIONS(ReaderConfigurationInfo)
21 
22  private:
23  class InternalInfo
24  : public QSharedData
25  {
26  public:
27  const bool mKnown;
28  const uint mVendorId;
29  const uint mProductId;
30  const QString mName;
31  const QString mUrl;
32  const QString mPattern;
33  const QString mIcon;
34  const QString mIconWithNPA;
35 
36 
37  InternalInfo(bool pKnown, uint pVendorId, uint pProductId, const QString& pName, const QString& pUrl,
38  const QString& pPattern, const QString& pIcon, const QString& pIconWithNPA)
39  : mKnown(pKnown)
40  , mVendorId(pVendorId)
41  , mProductId(pProductId)
42  , mName(pName)
43  , mUrl(pUrl)
44  , mPattern(pPattern)
45  , mIcon(pIcon)
46  , mIconWithNPA(pIconWithNPA)
47  {
48  }
49 
50 
51  bool operator ==(const InternalInfo& pOther) const
52  {
53  return !(mKnown != pOther.mKnown ||
54  mVendorId != pOther.mVendorId ||
55  mProductId != pOther.mProductId ||
56  mName != pOther.mName ||
57  mUrl != pOther.mUrl ||
58  mPattern != pOther.mPattern ||
59  mIcon != pOther.mIcon ||
60  mIconWithNPA != pOther.mIconWithNPA);
61  }
62 
63 
64  };
65 
66  QSharedDataPointer<InternalInfo> d;
67 
68  public:
70  explicit ReaderConfigurationInfo(const QString& pReaderName);
71  ReaderConfigurationInfo(uint pVendorId, uint pProductId,
72  const QString& pName, const QString& pUrl, const QString& pPattern,
73  const QString& pIcon, const QString& pIconWithNPA);
74 
75  virtual ~ReaderConfigurationInfo();
76 
77  bool operator ==(const ReaderConfigurationInfo& pOther) const;
78 
79  [[nodiscard]] bool isKnownReader() const;
80  [[nodiscard]] uint getVendorId() const;
81  [[nodiscard]] uint getProductId() const;
82  [[nodiscard]] const QString& getName() const;
83  [[nodiscard]] const QString& getUrl() const;
84  [[nodiscard]] const QString& getPattern() const;
85  [[nodiscard]] QSharedPointer<UpdatableFile> getIcon() const;
86  [[nodiscard]] QSharedPointer<UpdatableFile> getIconWithNPA() const;
87 };
88 
89 
90 inline auto qHash(const ReaderConfigurationInfo& info)
91 {
92  return qHash(info.getName());
93 }
94 
95 
96 } // namespace governikus
Definition: ReaderConfigurationInfo.h:19
QSharedPointer< UpdatableFile > getIcon() const
Definition: ReaderConfigurationInfo.cpp:88
virtual ~ReaderConfigurationInfo()
Definition: ReaderConfigurationInfo.cpp:32
ReaderConfigurationInfo()
Definition: ReaderConfigurationInfo.cpp:12
const QString & getUrl() const
Definition: ReaderConfigurationInfo.cpp:67
uint getProductId() const
Definition: ReaderConfigurationInfo.cpp:55
QSharedPointer< UpdatableFile > getIconWithNPA() const
Definition: ReaderConfigurationInfo.cpp:94
const QString & getPattern() const
Definition: ReaderConfigurationInfo.cpp:82
const QString & getName() const
Definition: ReaderConfigurationInfo.cpp:61
bool operator==(const ReaderConfigurationInfo &pOther) const
Definition: ReaderConfigurationInfo.cpp:37
uint getVendorId() const
Definition: ReaderConfigurationInfo.cpp:49
bool isKnownReader() const
Definition: ReaderConfigurationInfo.cpp:43
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
auto qHash(const ReaderConfigurationInfo &info)
Definition: ReaderConfigurationInfo.h:90