#ifndef WATCHHANDLER_H #define WATCHHANDLER_H #include #include #include namespace sowatch { class WatchHandler : public QObject { Q_OBJECT Q_PROPERTY(QString status READ status NOTIFY statusChanged) public: explicit WatchHandler(ConfigKey *config, QObject *parent = 0); QString status() const; signals: void statusChanged(); private: Watchlet* createWatchlet(const QString& id); void deleteWatchletAt(int index); private slots: void updateWatchlets(); void updateProviders(); void handleConfigSubkeyChanged(const QString& key); void handleDriverUnloaded(const QString& id); void handleWatchletUnloaded(const QString& id); void handleProviderUnloaded(const QString& id); private: ConfigKey *_config; Watch *_watch; WatchServer *_server; QList _watchlet_order; QMap _watchlets; QMap _providers; }; } #endif // WATCHHANDLER_H