AusweisApp
 
Lade ...
Suche ...
Keine Treffer
VersionNumber.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include <QDebug>
8#include <QVersionNumber>
9
10
11namespace governikus
12{
13
15{
16 friend bool operator==(const VersionNumber& pLeft, const VersionNumber& pRight);
17
18 private:
19 QVersionNumber mVersionNumber;
20 QString mSuffix;
21
22 [[nodiscard]] auto getInfoFromSuffix(QLatin1Char pStart, QLatin1Char pEnd = QLatin1Char('-')) const;
23
24 public:
26 explicit VersionNumber(const QString& pVersion);
27
28 [[nodiscard]] const QVersionNumber& getVersionNumber() const;
29 [[nodiscard]] bool isDeveloperVersion() const;
30 [[nodiscard]] bool isBetaVersion() const;
31 [[nodiscard]] int getDistance() const;
32 [[nodiscard]] QString getBranch() const;
33 [[nodiscard]] QString getRevision() const;
34 [[nodiscard]] bool isDraft() const;
35 [[nodiscard]] QString getSuffix() const;
36};
37
38
39inline bool operator==(const VersionNumber& pLeft, const VersionNumber& pRight)
40{
41 return &pLeft == &pRight || (
42 pLeft.mVersionNumber == pRight.mVersionNumber &&
43 pLeft.mSuffix == pRight.mSuffix);
44}
45
46
47inline bool operator!=(const VersionNumber& pLeft, const VersionNumber& pRight)
48{
49 return !(pLeft == pRight);
50}
51
52
53inline bool operator<(const VersionNumber& pLeft, const VersionNumber& pRight)
54{
55 return pLeft.getVersionNumber() < pRight.getVersionNumber() ||
56 (pLeft.getVersionNumber() == pRight.getVersionNumber() && pLeft.getDistance() < pRight.getDistance());
57}
58
59
60inline bool operator<=(const VersionNumber& pLeft, const VersionNumber& pRight)
61{
62 return pLeft < pRight || pLeft == pRight;
63}
64
65
66inline bool operator>(const VersionNumber& pLeft, const VersionNumber& pRight)
67{
68 return pLeft.getVersionNumber() > pRight.getVersionNumber() ||
69 (pLeft.getVersionNumber() == pRight.getVersionNumber() && pLeft.getDistance() > pRight.getDistance());
70}
71
72
73inline bool operator>=(const VersionNumber& pLeft, const VersionNumber& pRight)
74{
75 return pLeft > pRight || pLeft == pRight;
76}
77
78
79inline QDebug operator<<(QDebug pDbg, const VersionNumber& pVersion)
80{
81 QDebugStateSaver saver(pDbg);
82 pDbg.noquote().nospace() << pVersion.getVersionNumber().toString() << pVersion.getSuffix();
83 return pDbg;
84}
85
86
87} // namespace governikus
Definition VersionNumber.h:15
bool isDeveloperVersion() const
Definition VersionNumber.cpp:38
friend bool operator==(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition VersionNumber.h:39
const QVersionNumber & getVersionNumber() const
Definition VersionNumber.cpp:32
bool isBetaVersion() const
Definition VersionNumber.cpp:44
QString getSuffix() const
Definition VersionNumber.cpp:109
int getDistance() const
Definition VersionNumber.cpp:67
bool isDraft() const
Definition VersionNumber.cpp:103
QString getRevision() const
Definition VersionNumber.cpp:89
VersionNumber(const QString &pVersion)
static const VersionNumber & getApplicationVersion()
Definition VersionNumber.cpp:26
QString getBranch() const
Definition VersionNumber.cpp:83
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
bool operator>(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition VersionNumber.h:66
bool operator<=(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition VersionNumber.h:60
bool operator!=(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition CVCertificate.h:76
bool operator<(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition VersionNumber.h:53
bool operator>=(const VersionNumber &pLeft, const VersionNumber &pRight)
Definition VersionNumber.h:73
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition CommandApdu.h:96
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition CommandApdu.h:105