#ifndef WATCHDAEMON_H #define WATCHDAEMON_H #include <QtCore/QObject> #include <QtCore/QMap> #include <QtCore/QSignalMapper> #include <sowatch.h> #include "watchhandler.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(); signals: void WatchStatusChanged(const QString &watch, const QString &status); private: Registry* _registry; ConfigKey* _config; ConfigKey* _watches_list; QMap<QString, WatchHandler*> _watches; QSignalMapper *_status_mapper; void startWatch(const QString& name); void stopWatch(const QString& name); private slots: void startEnabledWatches(); void handleSettingsChanged(const QString& subkey); void handleWatchStatusChange(const QString& watch); }; } #endif // WATCHDAEMON_H