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)
35 Q_PROPERTY(QString profile READ profile WRITE setProfile NOTIFY profileChanged)
37 explicit IndicatorsManager(QObject* parent = 0);
40 Q_INVOKABLE
void load();
41 Q_INVOKABLE
void unload();
43 QString profile()
const;
44 void setProfile(
const QString& profile);
46 Indicator::Ptr indicator(
const QString& indicator_name);
48 QVector<Indicator::Ptr> indicators();
50 bool isLoaded()
const;
53 void loadedChanged(
bool);
54 void profileChanged(
const QString&);
56 void indicatorLoaded(
const QString& indicator_name);
57 void indicatorAboutToBeUnloaded(
const QString& indicator_name);
60 void onDirectoryChanged(
const QString& directory);
61 void onFileChanged(
const QString& file);
64 void loadDir(
const QDir& dir);
65 void loadFile(
const QFileInfo& file);
66 void unloadFile(
const QFileInfo& dir);
68 void startVerify(
const QString& path);
69 void endVerify(
const QString& path);
74 QHash<QString, IndicatorData*> m_indicatorsData;
75 QSharedPointer<QFileSystemWatcher> m_fsWatcher;
80 #endif // INDICATORS_MANAGER_H