EHM DAL 0.2.3
Data abstraction layer for Eastside Hockey Manager
Loading...
Searching...
No Matches
flag.h
1#pragma once
2
3
4// Application headers
5#include "flag_index.h"
6#include "include/database/pointer/private/abstract_pointer.h"
7#include "include/flags/flag_database.h"
8#include "include/flags/flag_table.h"
9
10namespace ehm_dal::flags {
11
12// --- Flag pointer base class --- //
13template<typename T_DataType>
14class Flag : public ehm_dal::data_types::
15 AbstractPointer<T_DataType, ehm_dal::flags::FlagIndex, ehm_dal::flags::FlagTable>
16{
17public:
18 Flag(); // TODO fix magic number -1 below
19 Flag(const ehm_dal::flags::FlagIndex flag_table_id, const qint32 record_id = -1);
20
21 // File i/o
22 friend QDataStream &operator>>(QDataStream &in, ehm_dal::flags::Flag<T_DataType> &data)
23 {
24 in >> data.id_;
25 return in;
26 }
27
28 friend QDataStream &operator<<(QDataStream &out, const ehm_dal::flags::Flag<T_DataType> &data)
29 {
30 out << data.id();
31 return out;
32 }
33
34 // Get data
35 QString text() const override;
36
37 // Get data - table
38 std::shared_ptr<ehm_dal::flags::FlagTable> constTable() const override;
39 std::shared_ptr<ehm_dal::flags::FlagTable> table() override;
40};
41
42} // namespace ehm_dal::flags
43
44
Definition: flag.h:16
namespace ehm_dal::data_types
Definition: attribute.h:6