2 #include "common/common.hpp" 3 #include "nlohmann/json_fwd.hpp" 4 #include "util/uuid.hpp" 10 #include "util/sqlite.hpp" 24 Pool(
const std::string &base_path,
bool read_only =
true);
25 const class Unit *get_unit(
const UUID &uu);
26 const class Entity *get_entity(
const UUID &uu);
27 const class Symbol *get_symbol(
const UUID &uu);
30 const class Part *get_part(
const UUID &uu);
31 std::set<UUID> get_alternate_packages(
const UUID &uu);
33 virtual std::string get_filename(ObjectType type,
const UUID &uu);
34 const std::string &get_base_path()
const;
46 std::string get_tmp_filename(ObjectType type,
const UUID &uu)
const;
47 static int get_required_schema_version();
51 std::string base_path;
52 std::string get_flat_filename(ObjectType type,
const UUID &uu)
const;
54 std::map<UUID, Unit> units;
55 std::map<UUID, Entity> entities;
56 std::map<UUID, Symbol> symbols;
57 std::map<UUID, Padstack> padstacks;
58 std::map<UUID, Package> packages;
59 std::map<UUID, Part> parts;
void clear()
Clears all lazy-loaded objects.
Definition: pool.cpp:22
SQLite::Database db
The database connection.
Definition: pool.hpp:39
Definition: sqlite.hpp:55
A Unit is the template for a Gate inside of an Entity.
Definition: unit.hpp:51
Definition: package.hpp:25
Definition: padstack.hpp:20
Definition: entity.hpp:13
Pool(const std::string &base_path, bool read_only=true)
Constructs a Pool.
Definition: pool.cpp:13
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: symbol.hpp:70
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18