Database implementation mostly complete.
This commit is contained in:
@@ -1,37 +1,56 @@
|
||||
#pragma once
|
||||
|
||||
#include "ehs/Types.h"
|
||||
#include "DbType.h"
|
||||
#include "ehs/Serializer.h"
|
||||
|
||||
namespace ehs
|
||||
{
|
||||
class DbVarTmpl;
|
||||
class DbObject;
|
||||
|
||||
class DbVar
|
||||
{
|
||||
private:
|
||||
friend class DbObject;
|
||||
friend class DbVarTmpl;
|
||||
|
||||
UInt_64 hashId;
|
||||
DbObject *parent;
|
||||
DbVarTmpl *master;
|
||||
UInt_64 size;
|
||||
Byte* data;
|
||||
Byte *data;
|
||||
|
||||
public:
|
||||
~DbVar();
|
||||
|
||||
DbVar();
|
||||
|
||||
DbVar(UInt_64 hashId, UInt_64 size, Byte* data);
|
||||
DbVar(UInt_64 hashId, DbVarTmpl *master, UInt_64 size, const Byte *data);
|
||||
|
||||
DbVar(DbVar&& var) noexcept;
|
||||
DbVar(DbVar &&var) noexcept;
|
||||
|
||||
DbVar(const DbVar& var);
|
||||
DbVar(const DbVar &var);
|
||||
|
||||
DbVar& operator=(DbVar&& var) noexcept;
|
||||
DbVar &operator=(DbVar &&var) noexcept;
|
||||
|
||||
DbVar& operator=(const DbVar& var);
|
||||
DbVar &operator=(const DbVar &var);
|
||||
|
||||
explicit operator Byte*() const;
|
||||
explicit operator Byte *() const;
|
||||
|
||||
UInt_64 GetHashId() const;
|
||||
|
||||
UInt_64 GetSize() const;
|
||||
|
||||
void SetData(UInt_64 newSize, const Byte* newData);
|
||||
|
||||
void SetData(const Byte* newData);
|
||||
|
||||
Byte* GetData() const;
|
||||
|
||||
private:
|
||||
void Serialize(Serializer<UInt_64> &data) const;
|
||||
|
||||
void Deserialize(Serializer<UInt_64> &data);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user