EHS
Loading...
Searching...
No Matches
Database.h
Go to the documentation of this file.
1#pragma once
2
3#include "ehs/Array.h"
4#include "DbTable.h"
5
6namespace ehs
7{
8 class EHS_LIB_IO Database
9 {
10 private:
11 UInt_64 hashId;
12 Str_8 id;
13 Version version;
14 Array<DbTable> tables;
15 Str_8 dir;
16
17 public:
18 Database();
19
20 Database(Str_8 id, const Version& version);
21
22 Database(Str_8 filePath);
23
24 Database(Database&& db) noexcept;
25
26 Database(const Database& db);
27
28 Database& operator=(Database&& db) noexcept;
29
30 Database& operator=(const Database& db);
31
32 UInt_64 GetHashId() const;
33
34 void SetId(Str_8 newId);
35
36 Str_8 GetId() const;
37
38 void SetVersion(const Version& newVersion);
39
40 Version GetVersion() const;
41
42 bool HasTable(UInt_64 hashId) const;
43
44 bool HasTable(const Str_8& id) const;
45
47
48 DbTable* GetTable(UInt_64 hashId) const;
49
50 DbTable* GetTable(const Str_8& id) const;
51
52 Str_8 GetDirectory() const;
53
54 void Save(Str_8 directory);
55 };
56}
Definition Array.h:16
Str_8 GetDirectory() const
Definition Database.cpp:177
Database & operator=(Database &&db) noexcept
Definition Database.cpp:72
Database()
Definition Database.cpp:8
Str_8 GetId() const
Definition Database.cpp:122
void Save(Str_8 directory)
Definition Database.cpp:182
bool HasTable(UInt_64 hashId) const
Definition Database.cpp:137
Version GetVersion() const
Definition Database.cpp:132
void SetVersion(const Version &newVersion)
Definition Database.cpp:127
void SetId(Str_8 newId)
Definition Database.cpp:116
UInt_64 GetHashId() const
Definition Database.cpp:111
DbTable * CreateTable(Str_8 id)
Definition Database.cpp:151
DbTable * GetTable(UInt_64 hashId) const
Definition Database.cpp:163
Definition DbTable.h:14
A helper class for storing version major, minor and patch.
Definition Version.h:9
Definition Anchor.h:6
Str< Char_8, UInt_64 > Str_8
Definition Str.h:1953