Started work on database handling.

This commit is contained in:
2024-04-08 03:10:24 -07:00
parent 405acb026f
commit beba947c69
22 changed files with 918 additions and 44 deletions

84
src/db/DbVar.cpp Normal file
View File

@@ -0,0 +1,84 @@
#include "ehs/db/DbVar.h"
namespace ehs
{
DbVar::~DbVar()
{
delete[] data;
}
DbVar::DbVar()
: hashId(0), size(0), data(nullptr)
{
}
DbVar::DbVar(UInt_64 hashId, UInt_64 size, Byte* data)
: hashId(hashId), size(size), data(data)
{
}
DbVar::DbVar(DbVar&& var) noexcept
: hashId(var.hashId), size(var.size), data(var.data)
{
var.hashId = 0;
var.size = 0;
var.data = nullptr;
}
DbVar::DbVar(const DbVar& var)
: hashId(0), size(0), data(nullptr)
{
}
DbVar& DbVar::operator=(DbVar&& var) noexcept
{
if (this == &var)
return *this;
delete[] data;
hashId = var.hashId;
size = var.size;
data = var.data;
var.hashId = 0;
var.size = 0;
var.data = nullptr;
return *this;
}
DbVar& DbVar::operator=(const DbVar& var)
{
if (this == &var)
return *this;
delete[] data;
hashId = 0;
size = 0;
data = nullptr;
return *this;
}
DbVar::operator Byte*() const
{
return data;
}
UInt_64 DbVar::GetHashId() const
{
return hashId;
}
UInt_64 DbVar::GetSize() const
{
return size;
}
Byte* DbVar::GetData() const
{
return data;
}
}