summaryrefslogtreecommitdiff
path: root/sowatchd/daemon.h
blob: 8885d6f7e697550cd755ecfeb24e976ae49e90ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef WATCHDAEMON_H
#define WATCHDAEMON_H

#include <QtCore/QObject>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QSettings>

#include <sowatch.h>

namespace sowatch
{

class Daemon : public QObject
{
    Q_OBJECT
public:
	explicit Daemon(QObject *parent = 0);

protected:
	QMap<QString, WatchPluginInterface*> _drivers;
	QMap<QString, NotificationPluginInterface*> _providers;
	QMap<QString, WatchletPluginInterface*> _watchlets;
	QList<WatchServer*> _servers;

	void loadDrivers();
	void loadProviders();
	void loadWatchlets();

	void initWatches();
	void initWatch(Watch* watch, QSettings& settings);
};

}

#endif // WATCHDAEMON_H