#pragma once

#include "ehs/Version.h"
#include "ehs/Array.h"
#include "DbVarTmpl.h"
#include "DbObject.h"

namespace ehs
{
	class DbTable
	{
	private:
		UInt_64 hashId;
		Str_8 id;
		Version version;
		Array<DbVarTmpl> varTmpls;
		Array<DbObject> objects;

	public:
		DbTable();

		DbTable();

		UInt_64 GetHashId() const;

		Str_8 GetId() const;

		Version GetVersion() const;

		bool CreateVariable(Str_8 id, DbType type);

		bool CreateVariable(Str_8 id, DbType type, UInt_64 size);

		void Save();
	};
}