AusweisApp2
VersionNumber.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include <QVersionNumber>
10 
11 namespace governikus
12 {
13 
15 {
16  private:
17  QVersionNumber mVersionNumber;
18  QString mSuffix;
19 
20  [[nodiscard]] auto getInfoFromSuffix(QLatin1Char pStart, QLatin1Char pEnd = QLatin1Char('-')) const;
21  friend bool operator==(const VersionNumber& pLeft, const VersionNumber& pRight);
22 
23  public:
24  static const VersionNumber& getApplicationVersion();
25  explicit VersionNumber(const QString& pVersion);
26 
27  [[nodiscard]] const QVersionNumber& getVersionNumber() const;
28  [[nodiscard]] bool isDeveloperVersion() const;
29  [[nodiscard]] int getDistance() const;
30  [[nodiscard]] QString getBranch() const;
31  [[nodiscard]] QString getRevision() const;
32  [[nodiscard]] bool isDraft() const;
33 };
34 
35 
36 inline bool operator==(const VersionNumber& pLeft, const VersionNumber& pRight)
37 {
38  return &pLeft == &pRight || (
39  pLeft.mVersionNumber == pRight.mVersionNumber &&
40  pLeft.mSuffix == pRight.mSuffix);
41 }
42 
43 
44 inline bool operator!=(const VersionNumber& pLeft, const VersionNumber& pRight)
45 {
46  return !(pLeft == pRight);
47 }
48 
49 
50 inline bool operator<(const VersionNumber& pLeft, const VersionNumber& pRight)
51 {
52  return pLeft.getVersionNumber() < pRight.getVersionNumber() ||
53  (pLeft.getVersionNumber() == pRight.getVersionNumber() && pLeft.getDistance() < pRight.getDistance());
54 }
55 
56 
57 inline bool operator>(const VersionNumber& pLeft, const VersionNumber& pRight)
58 {
59  return pLeft.getVersionNumber() > pRight.getVersionNumber() ||
60  (pLeft.getVersionNumber() == pRight.getVersionNumber() && pLeft.getDistance() > pRight.getDistance());
61 }
62 
63 
64 } // namespace governikus
bool isDraft() const
Definition: VersionNumber.cpp:113
static const VersionNumber & getApplicationVersion()
Definition: VersionNumber.cpp:29
bool isDeveloperVersion() const
Definition: VersionNumber.cpp:41
int getDistance() const
Definition: VersionNumber.cpp:77
Definition: VersionNumber.h:14
const QVersionNumber & getVersionNumber() const
Definition: VersionNumber.cpp:35
friend bool operator==(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition: VersionNumber.h:36
bool operator!=(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition: CVCertificate.h:78
QString getRevision() const
Definition: VersionNumber.cpp:99
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
bool operator>(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition: VersionNumber.h:57
bool operator==(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition: CVCertificate.h:72
bool operator<(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition: VersionNumber.h:50
VersionNumber(const QString &pVersion)
QString getBranch() const
Definition: VersionNumber.cpp:93