AusweisApp2
IfdVersion.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 #include <QDebug>
8 #include <QString>
9 #include <QVector>
10 
11 namespace governikus
12 {
14 {
15  public:
16  enum class Version : int
17  {
18  Unknown = -1,
19  v0,
20  v2,
21  latest = v2
22  };
23 
24  private:
25  const Version mVersion;
26 
27  static Version fromString(const QString& pVersionString);
28 
29  public:
30  explicit IfdVersion(Version pVersion = Version::Unknown);
31  explicit IfdVersion(const QString& pVersionString);
32 
33  [[nodiscard]] Version getVersion() const;
34  [[nodiscard]] bool isValid() const;
35  [[nodiscard]] bool isSupported() const;
36 
37  bool operator==(const IfdVersion& pOther) const;
38  bool operator!=(const IfdVersion& pOther) const;
39 
40  [[nodiscard]] QString toString() const;
41 
42  static QVector<Version> supported();
43  static Version selectLatestSupported(const QVector<Version>& pVersions);
44 };
45 
46 
47 inline QDebug operator<<(QDebug pDbg, const IfdVersion& pVersion)
48 {
49  pDbg << pVersion.toString();
50  return pDbg;
51 }
52 
53 
54 inline QDebug operator<<(QDebug pDbg, const IfdVersion::Version& pVersion)
55 {
56  pDbg << IfdVersion(pVersion).toString();
57  return pDbg;
58 }
59 
60 
61 #ifndef QT_NO_DEBUG
62 inline bool operator ==(const IfdVersion& pLeft, const IfdVersion::Version& pRight)
63 {
64  return pLeft.getVersion() == pRight;
65 }
66 
67 
68 #endif
69 } // namespace governikus
Definition: IfdVersion.h:14
QString toString() const
Definition: IfdVersion.cpp:52
static Version selectLatestSupported(const QVector< Version > &pVersions)
Definition: IfdVersion.cpp:76
IfdVersion(Version pVersion=Version::Unknown)
Definition: IfdVersion.cpp:28
bool operator==(const IfdVersion &pOther) const
Definition: IfdVersion.cpp:99
bool isSupported() const
Definition: IfdVersion.cpp:93
bool operator!=(const IfdVersion &pOther) const
Definition: IfdVersion.cpp:105
bool isValid() const
Definition: IfdVersion.cpp:40
Version
Definition: IfdVersion.h:17
static QVector< Version > supported()
Definition: IfdVersion.cpp:70
Version getVersion() const
Definition: IfdVersion.cpp:46
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition: CommandApdu.h:94
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition: CommandApdu.h:105