nosignal-shell/plugin/src/Caelestia/Services/serviceref.cpp
2025-09-24 14:19:04 +10:00

36 lines
626 B
C++

#include "serviceref.hpp"
#include "service.hpp"
namespace caelestia::services {
ServiceRef::ServiceRef(Service* service, QObject* parent)
: QObject(parent)
, m_service(service) {
if (m_service) {
m_service->ref(this);
}
}
Service* ServiceRef::service() const {
return m_service;
}
void ServiceRef::setService(Service* service) {
if (m_service == service) {
return;
}
if (m_service) {
m_service->unref(this);
}
m_service = service;
emit serviceChanged();
if (m_service) {
m_service->ref(this);
}
}
} // namespace caelestia::services