19 #ifndef INDICATORS_MANAGER_H
20 #define INDICATORS_MANAGER_H
22 #include "indicator.h"
23 #include "unityindicatorsglobal.h"
26 #include <QFileSystemWatcher>
29 #include <QSharedPointer>
31 class UNITYINDICATORS_EXPORT IndicatorsManager :
public QObject
34 Q_PROPERTY(
bool loaded READ isLoaded NOTIFY loadedChanged)
36 explicit IndicatorsManager(QObject* parent = 0);
39 Q_INVOKABLE
void load(
const QString& profile);
40 Q_INVOKABLE
void unload();
42 Indicator::Ptr indicator(
const QString& indicator_name);
44 QList<Indicator::Ptr> indicators();
46 bool isLoaded()
const;
49 void loadedChanged(
bool);
51 void indicatorLoaded(
const QString& indicator_name);
52 void indicatorAboutToBeUnloaded(
const QString& indicator_name);
55 void onDirectoryChanged(
const QString& directory);
56 void onFileChanged(
const QString& file);
59 void loadDir(
const QDir& dir);
60 void loadFile(
const QFileInfo& file);
61 void unloadFile(
const QFileInfo& dir);
63 void startVerify(
const QString& path);
64 void endVerify(
const QString& path);
69 QHash<QString, IndicatorData*> m_indicatorsData;
70 QSharedPointer<QFileSystemWatcher> m_fsWatcher;
75 #endif // INDICATORS_MANAGER_H