Database implementation mostly complete.

This commit is contained in:
2024-04-09 01:44:15 -07:00
parent beba947c69
commit d13fe81ac5
20 changed files with 768 additions and 106 deletions

View File

@@ -10,27 +10,44 @@ namespace ehs
private:
UInt_64 hashId;
Str_8 id;
Version version;
Array<DbTable> tables;
public:
Database();
Database(Str_8 id, const Version& version);
Database(const Str_8& filePath);
Database(Database&& db) noexcept;
Database(const Database& db);
Database& operator=(Database&& db) noexcept;
Database& operator=(const Database& db);
UInt_64 GetHashId() const;
void SetId(Str_8 newId);
Str_8 GetId() const;
void SetVersion(const Version& newVersion);
Version GetVersion() const;
bool HasTable(UInt_64 hashId) const;
bool HasTable(Str_8& id) const;
bool HasTable(const Str_8& id) const;
bool CreateTable(Str_8 id);
DbTable* CreateTable(Str_8 id);
DbTable* GetTable(UInt_64 hashId) const;
DbTable* GetTable(Str_8& id) const;
DbTable* GetTable(const Str_8& id) const;
void Save();
void Save(const Str_8& directory) const;
};
}