summaryrefslogtreecommitdiff
path: root/sowatchd/daemon.h
blob: ba62585bc1b3dc34e6af8285252bc86681e2f7dd (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
37
#ifndef WATCHDAEMON_H
#define WATCHDAEMON_H

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

#include <sowatch.h>

namespace sowatch
{

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

	Q_INVOKABLE QString getWatchStatus(const QString& name);

public slots:
	void terminate();

private:
	Registry* _registry;
	ConfigKey* _settings;
	QMap<QString, WatchServer*> _servers;

	void startWatch(const QString& name);
	void stopWatch(const QString& name);

private slots:
	void settingsChanged(const QString& subkey);
};

}

#endif // WATCHDAEMON_H