EHM DAL 0.2.3
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_1033 = 1033
43 };
44
45 // Operator overloading
46 inline auto operator<=>(const qint16 rhs) const { return version() <=> rhs; }
47 inline bool operator==(const qint16 rhs) const { return version() == rhs; }
48
49private:
50 qint16 version_number_{NO_VERSION}; // Private magic number
51};
52} // 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:42
@ NO_VERSION
Definition: database_version.h:40
@ NO_MINIMUM_VERSION
Definition: database_version.h:41