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:
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 } // namespace governikus
bool operator==(const IfdVersion &pOther) const
Definition: IfdVersion.cpp:100
static QVector< Version > supported()
Definition: IfdVersion.cpp:71
bool isValid() const
Definition: IfdVersion.cpp:40
bool isSupported() const
Definition: IfdVersion.cpp:94
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
Version
Definition: IfdVersion.h:16
static Version selectLatestSupported(const QVector< Version > &pVersions)
Definition: IfdVersion.cpp:77
Version getVersion() const
Definition: IfdVersion.cpp:46
IfdVersion(Version pVersion=Version::Unknown)
Definition: IfdVersion.cpp:28
Definition: IfdVersion.h:13
QDebug operator<<(QDebug pDbg, const CardInfo &pCardInfo)
Definition: CardInfo.cpp:281
bool operator!=(const IfdVersion &pOther) const
Definition: IfdVersion.cpp:106
QString toString() const
Definition: IfdVersion.cpp:52