30 Q_DISABLE_COPY_MOVE (ProjectRegistry)
40 ProjectRegistry (QObject * parent =
nullptr);
41 ~ProjectRegistry ()
override;
46 using ObjectVisitor = utils::IObjectRegistry::ObjectVisitor;
49 void acquire_reference_impl (
const QUuid &
id)
override;
50 void release_reference_impl (
const QUuid &
id)
override;
53 find_by_raw_uuid_impl (
const QUuid &
id)
const override;
55 bool contains_impl (
const QUuid &
id)
const override;
58 for_each_matching_impl (
const QMetaObject &meta_type, ObjectVisitor visitor)
61 void delete_object_by_id (
const QUuid &
id);
67 friend void to_json (nlohmann::json &j,
const ProjectRegistry ®istry);
68 friend void from_json (
const nlohmann::json &j, ProjectRegistry ®istry);
72 bool destroying_ =
false;
73 std::unique_ptr<Impl> impl_;