EHM DAL 0.2.5
Data abstraction layer for Eastside Hockey Manager
Loading...
Searching...
No Matches
database_version.h
1#pragma once
2
3// Qt headers
4#include <QtGlobal>
5
6namespace ehm_dal::database {
7// --- Database version control --- //
12{
13public:
14 // Constructor
15 DatabaseVersion(const qint16 version_number = NO_VERSION);
16
17 // Debugging / diagnostics
21 void printDiagnosticData() const;
22
23 // Get data
27 inline qint16 version() const {return version_number_;}
28
29 // Set data
34 inline void setVersion(const qint16 version_number) { version_number_ = version_number; }
35
42 EHM_1025 = 1025,
43 EHM_1033 = 1033,
44 EHM_1034 = 1034
45 };
46
47 // Operator overloading
48 inline auto operator<=>(const qint16 rhs) const { return version() <=> rhs; }
49 inline bool operator==(const qint16 rhs) const { return version() == rhs; }
50
51private:
52 static qint16 version_number_;
53};
54} // namespace ehm_dal::database
The DatabaseVersion class represents the database version number.
Definition: database_version.h:12
void printDiagnosticData() const
Prints diagnostic data to the console.
void setVersion(const qint16 version_number)
Sets the database version number to version_number
Definition: database_version.h:34
qint16 version() const
Returns the database version number.
Definition: database_version.h:27
ENUM_VERSION_FLAGS
The ENUM_VERSION_FLAGS enum sets out default database version numbers.
Definition: database_version.h:39
@ EHM_1033
Definition: database_version.h:43
@ EHM_1034
Definition: database_version.h:44
@ EHM_1025
Definition: database_version.h:42
@ NO_VERSION
Definition: database_version.h:40
@ NO_MINIMUM_VERSION
Definition: database_version.h:41