From f9fa8390137e93da8c9b93271e7ce85dfed55b7f Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 22 Sep 2025 22:08:46 +1000 Subject: plugin/service: ref by object Use QSet and auto unref on sender destruction --- plugin/src/Caelestia/Services/service.hpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'plugin/src/Caelestia/Services/service.hpp') diff --git a/plugin/src/Caelestia/Services/service.hpp b/plugin/src/Caelestia/Services/service.hpp index 7980bdd..dac48760 100644 --- a/plugin/src/Caelestia/Services/service.hpp +++ b/plugin/src/Caelestia/Services/service.hpp @@ -1,28 +1,21 @@ #pragma once -#include #include +#include namespace caelestia { class Service : public QObject { Q_OBJECT - Q_PROPERTY(int refCount READ refCount NOTIFY refCountChanged) - public: explicit Service(QObject* parent = nullptr); - [[nodiscard]] int refCount() const; - - void ref(); - void unref(); - -signals: - void refCountChanged(); + void ref(QObject* sender); + void unref(QObject* sender); private: - int m_refCount; + QSet m_refs; virtual void start() = 0; virtual void stop() = 0; -- cgit v1.2.3-freya