18#include "ServiceRegistry.h"
19#include "PluginRegistry.h"
21Q_LOGGING_CATEGORY(PLUGIN_SERVICE,
"dekko.plugman.service")
25 connect(
this, &ServiceRegistry::serviceKeyChanged,
this, &ServiceRegistry::loadServices);
28ServiceRegistry::~ServiceRegistry()
33void ServiceRegistry::setServiceKey(
const QString &key)
39void ServiceRegistry::startServices()
41 for (
auto service : m_services) {
46void ServiceRegistry::killServices()
48 for (
auto service : m_services) {
53void ServiceRegistry::clear()
56 qDeleteAll(m_services);
60void ServiceRegistry::sendMessage(
const QString &pluginId,
const QString &key,
const QVariant &value)
62 for (
auto service : m_services) {
63 if (service->pluginId() == pluginId) {
64 service->messageReceived(key, value);
70void ServiceRegistry::loadServices()
72 auto plugins = PluginRegistry::instance()->getByLocation(m_key);
73 for (
auto plugin : plugins) {
74 qCDebug(PLUGIN_SERVICE) <<
"Examining Service plugin " << plugin->pluginId();
75 auto servicePlugin = qobject_cast<ServicePlugin *>(plugin);
77 qCDebug(PLUGIN_SERVICE) <<
"We have a service plugin!!!" << servicePlugin->location();
78 m_services.append(servicePlugin);
80 qCWarning(PLUGIN_SERVICE) << plugin->pluginId() <<
"is not a service plugin";