#ifndef APPMANAGER_H #define APPMANAGER_H #include #include #include #include #include class AppManager : public QObject { Q_OBJECT LOG4QT_DECLARE_QCLASS_LOGGER public: explicit AppManager(QObject *parent = 0); struct AppInfo { QUuid uuid; QString shortName; QString longName; QString company; int versionCode; QString versionLabel; bool isWatchface; bool isJSKit; QHash appKeys; QString path; }; QStringList appPaths() const; const AppInfo & info(const QUuid &uuid) const; const AppInfo & info(const QString &shortName) const; public slots: void rescan(); private: void scanApp(const QString &path); private: QFileSystemWatcher *_watcher; QHash _apps; QHash _names; }; #endif // APPMANAGER_H