Dekko
Loading...
Searching...
No Matches
ServiceRegistry.h
1/* Copyright (C) 2017 Dan Chapman <dpniel@ubuntu.com>
2
3 This file is part of Dekko email client for Ubuntu devices
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License as
7 published by the Free Software Foundation; either version 2 of
8 the License or (at your option) version 3
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef SERVICEREGISTRY_H
19#define SERVICEREGISTRY_H
20
21#include <QLoggingCategory>
22#include <QObject>
23#include <QProcess>
24#include "PluginInfo.h"
25
26Q_DECLARE_LOGGING_CATEGORY(PLUGIN_SERVICE)
27
28class ServiceRegistry : public QObject
29{
30 Q_OBJECT
31public:
32 explicit ServiceRegistry(QObject *parent = 0);
34
35 // The location key used to filter out service plugins
36 void setServiceKey(const QString &key);
37 void startServices();
38 void killServices();
39 void clear();
40
41 Q_INVOKABLE void sendMessage(const QString &pluginId, const QString &key, const QVariant &value);
42
43signals:
44 void serviceKeyChanged();
45
46private slots:
47 void loadServices();
48
49private:
50 QList<ServicePlugin *> m_services;
51 QString m_key;
52};
53
54#endif // SERVICEREGISTRY_H