////////////////////////////////////////////////////////////////
// This file is a generated file - DO NOT EDIT
// Database name: test2
// Command used to generate: ./db-code-gen.sh test2.sqlite3
// Date generated: Fri 22 Nov 2019 04:11:28 AEST
////////////////////////////////////////////////////////////////
#include <vector>
#include <string>
// Mapping of DB types to C++ types
using FLOAT = float;
using REAL = double;
using INTEGER = int;
using BLOB = std::vector<uint8_t>;
using TEXT = std::string;
using VARCHAR = std::string;
// Declare visitor interface
template <typename VISITOR, typename T>
void visit(VISITOR& visitor, T& item);
////////////////////////////////////////////////////////////////
// admin table row
struct admin
{
TEXT m_key;
INTEGER m_ival;
BLOB m_value;
};
// admin row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, admin& item)
{
visitor("key", item.m_key);
visitor("ival", item.m_ival);
visitor("value", item.m_value);
}
////////////////////////////////////////////////////////////////
// issuers table row
struct issuers
{
INTEGER m_groupid;
BLOB m_issuer_hash;
};
// issuers row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, issuers& item)
{
visitor("groupid", item.m_groupid);
visitor("issuer_hash", item.m_issuer_hash);
}
////////////////////////////////////////////////////////////////
// groups table row
struct groups
{
INTEGER m_groupid;
INTEGER m_flags;
INTEGER m_format;
BLOB m_data;
BLOB m_policies;
};
// groups row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, groups& item)
{
visitor("groupid", item.m_groupid);
visitor("flags", item.m_flags);
visitor("format", item.m_format);
visitor("data", item.m_data);
visitor("policies", item.m_policies);
}
////////////////////////////////////////////////////////////////
// serials table row
struct serials
{
INTEGER m_groupid;
BLOB m_serial;
};
// serials row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, serials& item)
{
visitor("groupid", item.m_groupid);
visitor("serial", item.m_serial);
}
////////////////////////////////////////////////////////////////
// hashes table row
struct hashes
{
INTEGER m_groupid;
BLOB m_sha256;
};
// hashes row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, hashes& item)
{
visitor("groupid", item.m_groupid);
visitor("sha256", item.m_sha256);
}
////////////////////////////////////////////////////////////////
// dates table row
struct dates
{
INTEGER m_groupid;
REAL m_notbefore;
REAL m_notafter;
};
// dates row visitor
template <typename VISITOR>
void visit(VISITOR& visitor, dates& item)
{
visitor("groupid", item.m_groupid);
visitor("notbefore", item.m_notbefore);
visitor("notafter", item.m_notafter);
}
////////////////////////////////////////////////////////////////
// Database test2
struct test2
{
std::vector<admin> m_admin;
std::vector<issuers> m_issuers;
std::vector<groups> m_groups;
std::vector<serials> m_serials;
std::vector<hashes> m_hashes;
std::vector<dates> m_dates;
};
// test2 Visitor
template <typename VISITOR>
void visit(VISITOR& visitor, test2& item)
{
visitor("admin", item.m_admin);
visitor("issuers", item.m_issuers);
visitor("groups", item.m_groups);
visitor("serials", item.m_serials);
visitor("hashes", item.m_hashes);
visitor("dates", item.m_dates);
}