28 Pool(
const std::string &base_path,
bool read_only =
true);
29 std::shared_ptr<const class Unit> get_unit(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
30 std::shared_ptr<const class Entity> get_entity(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
31 std::shared_ptr<const class Symbol> get_symbol(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
32 std::shared_ptr<const class Padstack> get_padstack(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
33 std::shared_ptr<const class Padstack> get_well_known_padstack(
const std::string &name,
34 UUID *pool_uuid_out =
nullptr)
override;
35 std::shared_ptr<const class Package> get_package(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
36 std::shared_ptr<const class Part> get_part(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
37 std::shared_ptr<const class Frame> get_frame(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
38 std::shared_ptr<const class Decal> get_decal(
const UUID &uu,
UUID *pool_uuid_out =
nullptr)
override;
39 std::set<UUID> get_alternate_packages(
const UUID &uu)
override;
40 std::string get_model_filename(
const UUID &pkg_uuid,
const UUID &model_uuid)
override;
42 virtual std::string get_filename(ObjectType type,
const UUID &uu,
UUID *pool_uuid_out =
nullptr);
43 std::string get_rel_filename(ObjectType type,
const UUID &uu);
44 const std::string &get_base_path()
const override;
45 bool check_filename(ObjectType type,
const std::string &filename, std::string *error_msg =
nullptr)
const override;
46 void check_filename_throw(ObjectType type,
const std::string &filename)
const override;
58 const PoolInfo &get_pool_info()
const override
73 void clear()
override;
74 std::string get_tmp_filename(ObjectType type,
const UUID &uu)
const;
75 static int get_required_schema_version();
77 static const UUID tmp_pool_uuid;
79 std::map<std::string, UUID> get_actually_included_pools(
bool include_self)
override;
81 UUID get_installation_uuid();
90 const std::string base_path;
93 std::string get_flat_filename(ObjectType type,
const UUID &uu)
const;
95 std::map<UUID, std::shared_ptr<Unit>> units;
96 std::map<UUID, std::shared_ptr<Entity>> entities;
97 std::map<UUID, std::shared_ptr<Symbol>> symbols;
98 std::map<UUID, std::shared_ptr<Padstack>> padstacks;
99 std::map<UUID, std::shared_ptr<Package>> packages;
100 std::map<UUID, std::shared_ptr<Part>> parts;
101 std::map<UUID, std::shared_ptr<Frame>> frames;
102 std::map<UUID, std::shared_ptr<Decal>> decals;
103 std::map<std::pair<ObjectType, UUID>,
UUID> pool_uuid_cache;
104 void get_pool_uuid(ObjectType type,
const UUID &uu,
UUID *pool_uuid_out);
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition pool.hpp:22