#ifndef APPMANAGER_H #define APPMANAGER_H #include #include #include #include #include #include "appinfo.h" class AppManager : public QObject { Q_OBJECT QLoggingCategory l; public: explicit AppManager(QObject *parent = 0); QStringList appPaths() const; QList appUuids() const; AppInfo info(const QUuid &uuid) const; AppInfo info(const QString &shortName) const; public slots: void rescan(); signals: void appsChanged(); private: void scanApp(const QString &path); QByteArray extractFromResourcePack(const QString &file, int id) const; QImage decodeResourceImage(const QByteArray &data) const; private: QFileSystemWatcher *_watcher; QHash _apps; QHash _names; }; #endif // APPMANAGER_H